freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于單片機數(shù)字電壓表的設計和仿真-資料下載頁

2025-10-26 07:05本頁面

【導讀】法設計一個直流數(shù)字電壓表。它的具體功能是:最高量程為200V,分三個檔位量。過按鍵的方法能夠測得后五秒的平均電壓值。術運算,邏輯運算,數(shù)據(jù)傳送,中斷處理)的微處理器。單片機控制系統(tǒng)能夠取代以前利用復雜電子線路或數(shù)字電路構成的。等,單片機的應用領域越來越廣泛。本畢業(yè)設計的課題是"簡易數(shù)字電壓表的設計"。觀察獨立分析,設計單片機的能力,以及實際編程。本課題主要解決A/D轉換,數(shù)據(jù)處理及顯示控制等三個模塊。用AT89C51單片機,A/D轉換采用TLC2543。

  

【正文】 晶的數(shù)據(jù)各端口連接單片機的 P0 口 。 具體如 圖 8 所示 。 圖 8 1602 液晶與單片機連接圖 鍵盤與單片機的連接如下 此鍵盤的一端與單片機的 口連接 , 一端接地 。 原理圖如 圖 9 所示 。 數(shù)字電壓表的設計 27 圖 9 鍵盤與單片機的連接 圖 該鍵盤的功能 :當鍵盤被按下時 , 即可計算后 5秒的平均電壓值 。 數(shù)字電壓表的設計 28 第 8章 系統(tǒng)軟件的設計 匯編語言和 C 語言的特點及選擇 本設計是硬件電路和軟件編程相結合的設計方案 , 選擇合適的編程語言是一個重要的環(huán)節(jié) 。 在單片機的應用系統(tǒng)程序設計時 , 常用的是匯編語言 和 C語言 。匯編語言的特點是占用內存單元少 , 執(zhí)行效率高 , 執(zhí)行速度快 。 但它依賴于計算機硬件 , 程序可讀性和可移植性比較差 。 而 C語言雖然執(zhí)行效率沒有匯編語言高 ,但語言簡潔 , 使用方便 , 靈活 ,運算豐富 , 表達化類型多樣化 , 數(shù)據(jù)結構類型豐富 , 具有結構化的控制語句 , 程序設計自由度大 , 有很好的可重用性 , 可移植性等特點 。 由于現(xiàn)在單片機的發(fā)展已經(jīng)達到了很高的水平 , 內部的各種資源相當?shù)呢S富 , CPU 的處理速度非常的快 。 用 C語言來控制單片機無疑是一個理 想的選擇 。所以在本設計中采用 C 語言編寫軟件程序 。 主程序設計 主程序設計包括以下方面 : 按照硬件電路對單片機位定義 。 編寫延時模塊程序 。 編寫驅動 1602 液晶顯示模塊程序 。 編寫驅動 A/D 轉換模塊程序 。 編寫鍵盤掃描模塊程序 。 主程序的總體流程如下圖 數(shù)字電壓表的設計 29 圖 10 主程序的總體流程圖 源程序見附錄 數(shù)字電壓表的設計 30 第 9章 系統(tǒng)的調試 和仿真 完成了系統(tǒng)的硬件設計 , 制作和軟件編程之后 , 要使系統(tǒng)能夠按設計意圖正常運行 。 必須進行系統(tǒng)調試 .調試分了硬件和軟件調試 。 硬件調試 硬件調試的主要任務是排除硬件故障 , 其中包括設計的錯誤和工藝性故障等 。 1. 檢查所設計的硬件電路板所有的器件和引腳是否正確 , 尤其是電源的連接是否正確 。 檢查各 總線是否有短路的故障 , 檢查開關 /按鍵是否正常 , 是否連接正確 , 為了保護芯片 , 應先對各 IC 座電位進行檢查 , 確認無誤后再插入芯片 。 2. 將 40芯片的仿真插頭插入單片機插座進行調試 , 檢查各接口是否滿足設計的要求 , 有正常的程序測試硬件電路的好壞 。 軟件調試 軟件調試的任務是利用開發(fā)工具進行在線仿真調試 , 發(fā)現(xiàn)和糾正程序的錯誤 。 同時也能發(fā)現(xiàn)硬件的故障 。 軟件調試是一個模塊一個模塊進行的 。 首先單獨調試各子程序是否能夠按照預期的功能 , 接口電路的控制是否正常 。 最后調試整個程序 。 尤其注意的是各模塊間能否正確的傳遞參數(shù) 。 [1] 檢查液晶顯示模塊程序 。 在主程序中調用 display()和 dislay_zifu()函數(shù) , 觀察在 1602 液晶上是否能夠顯示相應的字符 。 如果不能 , 則在相關的子程序中設計斷點 , 反復調試直到能夠顯示 。 [2] 檢查按鍵模塊程序 。 本設計的按鍵模塊程序是用狀態(tài)機的方法 , 可以在 key_state1 狀態(tài)下加一個任務 , 如顯示一個字符在液晶上 。 觀察是否正確顯示 。 [3] 檢查 A/D 轉換模塊程序 。 可以在硬件電路的輸入端輸入已知的幾個電壓 , 分別觀察液晶上是否顯示相應的電壓值 。 [4] 檢查數(shù)據(jù)的轉換模塊程序 。 可以撥 動硬件電路的檔位開關 , 輸入相應的電壓 , 觀察液晶顯示的電壓值是否一致 。 如果一致 , 則數(shù)據(jù)轉換的算法正確的 。 [5] 總調試 。 當相應的各模塊環(huán)節(jié)都正確后 , 可程序下載到單片機 。 接上電源運行 , 再檢查所有功能 , 觀察是否能預期的一樣 。 如果一樣 , 說明設計成功完成 。 程序仿真 當相應的各模塊環(huán)節(jié)都正確后 , 可程序下載到單片機 。 接上電源運行 , 再檢 數(shù)字電壓表的設計 31 查所有功能 ,觀察是否能預期的一樣 。 如果一樣 , 說明設計成功完成 。 程序仿真圖: 圖 11 程序仿真圖 數(shù)字電壓表的設計 32 檔位圖 圖 12 檔位圖 不同 仿真結果圖 圖 13 仿真結果圖 數(shù)字電壓表的設計 33 設計特點 1. 利用單片機系統(tǒng)與模數(shù)轉換芯片 , 顯示模塊等的結合構建數(shù)字電壓表 。 2. 分為三檔量程 :2V, 20V, 200V。 可以通過調檔開關實現(xiàn)各檔位 。 最高精度為 。 3. 被測電壓的電壓值小于 1V 時 , 有自動換以 MV 為單位顯示 。 4. 通過按鍵可以顯示 5秒的平均電壓的電壓值 。 數(shù)字電壓表的設計 34 第 10章 總結與展望 由于本設計使用的是高效的 51 系 列單片機作為核心的測量系統(tǒng) , 以及高精度 , 高速度 , 高抗干擾的 A/D 轉換器 。 使得本直流電壓表具體精度高 , 靈敏度強 ,性能可靠 , 電路簡單 , 成本低的特點 。 因為平時所需要測量的被測電壓的電壓值不是一個定值 , 多多少少都有一些微小的變化 。 因此本設計為之增加了可測 5秒內平均電壓的電壓值 。 大大的提高了測量的準確性 。 使直流電壓表有著較高的智能水平 。 此設計是單片機應用系統(tǒng)的開發(fā)性實驗 。 通過此設計可知在單片機系統(tǒng)開發(fā)過程應注意以下事項 。 1. 硬件的選擇 , 選擇適合設計目地的元器件是一個重要的方設計環(huán)節(jié) 。 不能以元器件是否是最高性能作 為選擇元器件的標準 , 往往高性能器件的價格也是較高的 。 應根據(jù)項目設計的需要選擇元器件 , 能夠滿足設計需要作為標準選擇元器件 。 2. 因為單片機系統(tǒng)設計是硬件和軟件相結合的設計 , 所以系統(tǒng)和硬件和軟件必須緊密配合 , 協(xié)調一致 。 應不斷調整硬軟件設計 , 以提高系統(tǒng)工作效率 。 單片機的應用如今已經(jīng)是在工業(yè) , 電子等方面展示出了它的優(yōu)越性 , 利用單片機在設計電路逐漸成了趨勢 , 它與外圍電路再加上軟件程序就可以構建任意的產品 , 使得本設計成為現(xiàn)實 。 隨著單片機的日益發(fā)展 , 它必將在未來顯示出更大的活力 , 為電子設計更多精彩 。 對于數(shù)字電壓表而 言 , 功能將會越來越強大 。 數(shù)字電壓表的設計 35 參考文獻 [1] 何立民 .單片機應用技術選編 .北京航空航天大學出版社 .1993. [2] 譚浩強 .C 程序設計 .清華大學出版社 . [3] 張義 王敏男 .例說 51 單片機 .人民郵電出版社 . [4] 蔡美琴 .MCS51 系列單片機系統(tǒng)及其應用 .高等教育出版社 .1992 [5] 高峰 .單片微機應用系統(tǒng)設計及實用技術 .機械工程出版社 .2020 [6] 楊全勝 .現(xiàn)代微機原理與接口技術 .電子工業(yè)出版社 .2020 數(shù)字電壓表的設計 36 附錄 源程序 include define uchar unsigned char define uint unsigned int define key_state0 0 //鍵盤掃描的各個狀態(tài) define key_state1 1 define key_state2 2 define key_state3 3 sbit lcdrs=P1^2。//1602 液晶寫命令 /數(shù)據(jù)標志 ,0時寫命令 sbit lcdw=P1^1。//1602 液晶寫入 /讀出標志 ,0時寫入數(shù)據(jù) sbit lcde=P1^0。 sbit input=P1^4。 sbit output=P1^3。 sbit cs=P1^5。 sbit clk=P1^6。 sbit key=P2^0。 sbit flag_1=P2^1。//定義電壓表檔位相關標志 sbit flag_2=P2^2。 sbit flag_3=P2^3。 sbit flag_4=P2^4。 uchar code tab0[]=V 。 //顯示的單位及有關的字符 uchar code tab1[]=MV。 uchar code tab2[]=Power:。 uchar code tab3[]=Aver_V:。//平均電壓值標志符 uchar t。 void delay(int z)//延時函數(shù) { int x,y。 for(x=z。x0。x) for(y=10。y0。y)。 數(shù)字電壓表的設計 37 } void init_timer0()//定時計數(shù)器 0 初始 化函數(shù), { TMOD=0x01。//方式一 TH0=(6553650000)/256。//每 50ms 中斷一次 TL0=(6553650000)%256。 IE=0x82。//打開中斷 TR0=0。//定時器首先不可工作 } void write_(uchar x) { P0=x。 lcdrs=0。 lcdw=0。 lcde=1。 delay(2)。 lcde=0。 lcdw=0。 } void write_dat(uchar x) { lcdrs=1。 lcdw=0。 P0=x。 lcde=1。 delay(2)。 lcde=0。 } void init_1602() { write_(0x38)。 write_(0x0c)。 數(shù)字電壓表的設計 38 write_(0x06)。 } void display(uchar x,uchar y,unsigned long dat)//顯示電壓值的函數(shù) ,x行 y 列開始顯示 { uint add。 uchar i,a[5]。 switch(x) { case 0:add=0x80。break。 case 1:add=0x80+0x40。break。 } add=add+y。 write_(add)。 for(i=0。i5。i++) { a[i]=dat%10。 dat=dat/10。 } write_dat(a[4]+0x30)。 write_dat(a[3]+0x30)。 write_dat(a[2]+0x30)。 write_dat(39。.39。)。 write_dat(a[1]+0x30)。 write_dat(a[0]+0x30)。 } 數(shù)字電壓表的設計 39 void display_zifu(uchar x,uchar y,uchar *str)//顯示字符函
點擊復制文檔內容
公司管理相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1