日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

毕设--基于51单片机数字电压表的设计

發(fā)布時(shí)間:2023/12/31 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 毕设--基于51单片机数字电压表的设计 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目錄

  • 基于51單片機(jī)數(shù)字電壓表的設(shè)計(jì)
    • 1、PCB原理圖
    • 2、Proteus 仿真圖
    • 3、設(shè)計(jì)目標(biāo)
      • 3.1、基本功能
      • 3.2、主要技術(shù)參數(shù)
    • 4、總設(shè)計(jì)框圖
    • 5、硬件設(shè)計(jì)分析
      • 5.1、電源的設(shè)計(jì)
      • 5.2、單片機(jī)最小系統(tǒng)
      • 5.3、模數(shù)轉(zhuǎn)換
    • 6、軟件設(shè)計(jì)的組成
    • 7、元件清單
    • 8、程序源碼
    • 9、資源獲取

注:本畢設(shè)資源可在微信公眾號(hào):“Kevin的學(xué)習(xí)站” 中獲取!

基于51單片機(jī)數(shù)字電壓表的設(shè)計(jì)

1、PCB原理圖

2、Proteus 仿真圖


3、設(shè)計(jì)目標(biāo)

3.1、基本功能

利用51單片機(jī)作為主控芯片,模擬量輸入范圍直流0v-5v。模擬量經(jīng)A/D(ADC0809)模數(shù)轉(zhuǎn)換芯片,把模擬量轉(zhuǎn)換為數(shù)字量輸入到單片機(jī)的P0口,再由單片機(jī)控制LCD1602液晶顯示模擬量輸入的電壓值。

3.2、主要技術(shù)參數(shù)

測(cè)量電壓范圍:0v至5v

A/D轉(zhuǎn)換器:ADC0809(8位模數(shù)轉(zhuǎn)換器)。

顯示方式: LCD1602液晶

4、總設(shè)計(jì)框圖

此次設(shè)計(jì)的是數(shù)字電壓表,要求的電壓范圍是0~5v。系統(tǒng)設(shè)計(jì)主要包括四個(gè)部分:分別是電源模塊、AD模數(shù)轉(zhuǎn)換部分、51單片機(jī)最小系統(tǒng)部分、數(shù)碼管顯示部分。首先由單片機(jī)初始化ADC0809模數(shù)轉(zhuǎn)換芯片和共陰數(shù)碼管顯示,當(dāng)外接被測(cè)電壓后,ADC0809將模擬電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)輸入到單片機(jī)的I/O口,通過(guò)單片機(jī)處理后將電壓的大小顯示在LCD1602液晶上面。

以AT89C51單片機(jī)為核心,起著控制作用。系統(tǒng)包括LCD1602液晶顯示電路、復(fù)位電路、時(shí)鐘電路、模數(shù)轉(zhuǎn)換電路電路。設(shè)計(jì)思路分為五個(gè)模塊:復(fù)位電路、晶振電路模塊、AT89C51、LCD1602液晶顯示電路、模數(shù)轉(zhuǎn)換器電路這五個(gè)模塊。

5、硬件設(shè)計(jì)分析

5.1、電源的設(shè)計(jì)

系統(tǒng)電源使用直流5伏。

由電腦USB接口提供電源。

USB是通用串行總線(Universal Serial Bus)接口的簡(jiǎn)稱。它是目前使用比較廣泛的電腦接口之一,主要版本有1.0、1.1和最新的2.0三種版本。根據(jù)USB總線的工業(yè)標(biāo)準(zhǔn),它可以提供額定功率為5V/500mA的電源供USB設(shè)備使用。

5.2、單片機(jī)最小系統(tǒng)

51單片機(jī)是對(duì)目前所有兼容intel 8031指令系統(tǒng)的單片機(jī)的統(tǒng)稱。該系列單片機(jī)的始祖是intel的8031單片機(jī),后來(lái)隨著技術(shù)的發(fā)展,成為目前廣泛應(yīng)用的8為單片機(jī)之一。單片機(jī)是在一塊芯片內(nèi)集成了CPU、RAM、ROM、定時(shí)器/計(jì)數(shù)器和多功能I/O口等計(jì)算機(jī)所需要的基本功能部件的大規(guī)模集成電路,又稱為MCU。51系列單片機(jī)內(nèi)包含以下幾個(gè)部件:

一個(gè)8位CPU;一個(gè)片內(nèi)振蕩器及時(shí)鐘電路;

4KB的ROM程序存儲(chǔ)器;

一個(gè)128B的RAM數(shù)據(jù)存儲(chǔ)器;

尋址64KB外部數(shù)據(jù)存儲(chǔ)器和64KB外部程序存儲(chǔ)空間的控制電路;

32條可編程的I/O口線;

兩個(gè)16位定時(shí)/計(jì)數(shù)器;

一個(gè)可編程全雙工串行口;

5個(gè)中斷源、兩個(gè)優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)。

如圖2-2-1所示為AT89C51單片機(jī)基本構(gòu)造,其基本性能介紹如下:

AT89C51本身內(nèi)含40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,同時(shí)內(nèi)含2個(gè)外中端口,3個(gè)16位可編程定時(shí)計(jì)數(shù)器,2個(gè)全雙工串行通信口,AT89C51可以按照常規(guī)方法進(jìn)行編程,但不可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫(xiě)的Flash存儲(chǔ)器可有效地降低開(kāi)發(fā)成本。

AT89C51的主要特性如下表所示:

兼容MCS—51指令系統(tǒng)32個(gè)可編程I/O線
4k字節(jié)可編程閃爍存儲(chǔ)器可編程UARL通道
三個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷時(shí)鐘頻率0-24MHz
2個(gè)外部中斷源,共8個(gè)中斷源256×8bit內(nèi)部RAM
2個(gè)讀寫(xiě)中斷口線可直接驅(qū)動(dòng)LED
軟件設(shè)置睡眠和喚醒功能低功耗空閑和掉電模式

單片機(jī)最小系統(tǒng)原理圖


單片機(jī)最小系統(tǒng)說(shuō)明:

時(shí)鐘信號(hào)的產(chǎn)生:在MCS-51芯片內(nèi)部有一個(gè)高增益反相放大器,其輸入端為芯片引腳XTAL1,其輸出端為引腳XTAL2。而在芯片的外部,XTAL1和XTAL2之間跨接晶體振蕩器和微調(diào)電容,從而構(gòu)成一個(gè)穩(wěn)定的自激振蕩器,這就是單片機(jī)的時(shí)鐘振蕩電路。

時(shí)鐘電路產(chǎn)生的振蕩脈沖經(jīng)過(guò)觸發(fā)器進(jìn)行二分頻之后,才成為單片機(jī)的時(shí)鐘脈沖信號(hào)。

一般地,電容C2和C3取30pF左右,晶體的振蕩頻率范圍是1.2-12MHz。如果晶體振蕩頻率高,則系統(tǒng)的時(shí)鐘頻率也高,單片機(jī)的運(yùn)行速度也就快。

單片機(jī)復(fù)位使CPU和系統(tǒng)中的其他功能部件都處在一個(gè)確定的初始狀態(tài)下,并從這個(gè)狀態(tài)開(kāi)始工作。單片機(jī)復(fù)位條件:必須使9腳加上持續(xù)兩個(gè)機(jī)器周期(即24個(gè)振蕩周期)的高電平。

5.3、模數(shù)轉(zhuǎn)換

ADC0809是美國(guó)國(guó)家半導(dǎo)體公司生產(chǎn)的CMOS工藝8通道,8位逐次逼近式AD轉(zhuǎn)換器。其內(nèi)部有一個(gè)8通道多路開(kāi)關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8路模擬輸入信號(hào)中的一個(gè)進(jìn)行A/D轉(zhuǎn)換。

(1)主要特性:

1)8路輸入通道,2位A/D轉(zhuǎn)換器,即分辨率為8位。
   2)具有轉(zhuǎn)換起停控制端。
   3)轉(zhuǎn)換時(shí)間為100μs(時(shí)鐘為640kHz時(shí)),130μs(時(shí)鐘為500kHz時(shí)) 
   4)單個(gè)+5V電源供電
   5)模擬輸入電壓范圍0~+5V,不需零點(diǎn)和滿刻度校準(zhǔn)。
   6)工作溫度范圍為-40~+85攝氏度
   7)低功耗,約15mW。

(2)模數(shù)轉(zhuǎn)換電路

6、軟件設(shè)計(jì)的組成

該系統(tǒng)由延時(shí)子函數(shù)、LCD1602液晶忙檢測(cè)子函數(shù)、LCD1602液晶寫(xiě)命令/寫(xiě)數(shù)據(jù)子函數(shù)、漢字顯示子函數(shù)、LCD1602液晶顯示字符串子函數(shù)、LCD1602液晶初始化子函數(shù)、ADC0809轉(zhuǎn)換子函數(shù)、主函數(shù)和數(shù)據(jù)定義這幾部分組成。


7、元件清單

8、程序源碼

//<程序名>:數(shù)字電壓表 //<功能>:使用LCD顯示被檢測(cè)電壓,精度為0.05V,范圍是0~5V。 #include"includes.h" #define TIME0H 0x3C #define TIME0L 0xB0 uchar uc_Clock=0; //定時(shí)器0中斷計(jì)數(shù) bit b_DATransform=0; //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把電壓顯示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> void vShowVoltage(uint uiNumber) {uchar ucaNumber[3],ucCount;if(uiNumber>999) uiNumber=999;ucaNumber[0]=uiNumber/100; //把計(jì)算數(shù)字的每個(gè)位存入數(shù)組。ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10; ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];for(ucCount=0;ucCount<3;ucCount++){vShowOneChar(ucaNumber[ucCount]+48); //從首位到末位逐一輸出。if(ucCount==0)vShowOneChar('.');} } //************************************************************************************************* //* * //* ********************************主函數(shù)****************************** * //* * //************************************************************************************************* void main() {TMOD=0x01; //定時(shí)器0,模式1。TH0=TIME0H;TL0=TIME0L;TR0=1; //啟動(dòng)定時(shí)器。ET0=1; //開(kāi)定時(shí)器中斷。EA=1; //開(kāi)總中斷vdInitialize();vWriteCMD(0x84); //寫(xiě)入顯示起始地址(第一行第4個(gè)位置)vShowChar("voltage");vWriteCMD(0xC9); vShowChar("(V)");while(1){if(b_DATransform==1){b_DATransform=0;vWriteCMD(0xC4);vShowVoltage(uiADTransform());}} } //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<定時(shí)器0中斷函數(shù)>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> void t0() interrupt 1 {if(uc_Clock==0){uc_Clock=5;b_DATransform=1;}elseuc_Clock--;TH0=TIME0H; //恢復(fù)定時(shí)器0。TL0=TIME0L; }

9、資源獲取


項(xiàng)目的仿真和PCB工程已經(jīng)放在下面公眾號(hào)里面,可以關(guān)注公眾號(hào):Kevin的學(xué)習(xí)站,輸入關(guān)鍵字:“數(shù)字電壓表”,就可以免費(fèi)獲取啦!創(chuàng)作不易,但您的點(diǎn)贊、關(guān)注、收藏就是對(duì)我最大的鼓勵(lì)!

總結(jié)

以上是生活随笔為你收集整理的毕设--基于51单片机数字电压表的设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。