找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 11540|回復(fù): 19
打印 上一主題 下一主題
收起左側(cè)

51單片機(jī)數(shù)字電壓表畢業(yè)設(shè)計(論文)下載 含仿真 PCB文件 原理圖 源代碼

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:192529 發(fā)表于 2017-4-22 23:04 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
51單片機(jī)做的數(shù)字電壓表設(shè)計, 包含有word格式的可編輯的畢業(yè)論文和仿真等非常詳細(xì)的資料.


畢業(yè)論文的目錄
前  言    1
第一章  工作原理    2
1.1設(shè)計目標(biāo)    2
1.1.1基本功能    2
1.1.2主要技術(shù)參數(shù)    2
1.2設(shè)計原理    2
第二章  硬件設(shè)計與原理    3
2.1 總設(shè)計框圖    3
2.2 硬件設(shè)計分析    3
2.2.1 電源的設(shè)計    3
2.2.2 單片機(jī)最小系統(tǒng)    4
2.2.3 顯示系統(tǒng)    10
2.2.4 模數(shù)轉(zhuǎn)換    10
第三章  軟件設(shè)計與分析    13
3.1 軟件設(shè)計的組成    13
3.2  源程序    15
第四章  軟件仿真    24
4.1 PROTEUS簡介    24
4.2仿真圖    26
4.3原理圖    27
4.4 元件清單    28
總結(jié)    29
致  謝    30
參考文獻(xiàn)    31



數(shù)字電壓表的原理圖和pcb工程文件:


數(shù)字電壓表proteus仿真原理圖:



數(shù)字電壓表元件清單:
元件參數(shù) 元件序號 元件名稱
1K RP1 電位器
5V J1 電源接口
10uF C1 鋁電解電容器
12M Y1 晶振
20 R1 電阻
22K R7 電阻
22K R6 電阻
22K R9 電阻
22K R8 電阻
22K R5 電阻
22K R2 電阻
22K R3 電阻
22K R4 電阻
30pF C2 瓷片電容器
30pF C3 瓷片電容器
ADC0809 U2 模數(shù)轉(zhuǎn)換芯片
AT89C51 U1 51單片機(jī)芯片
LCD1602 U3 液晶

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

1.1.2主要技術(shù)參數(shù)
測量電壓范圍:0v至5v
A/D轉(zhuǎn)換器:ADC0809(8位模數(shù)轉(zhuǎn)換器)。
顯示方式: LCD1602液晶

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

單片機(jī)源程序:
  1. //<程序名>:數(shù)字電壓表
  2. //<功能>:使用LCD顯示被檢測電壓,精度為0.05V,范圍是0~5V。                                                                         **
  3. #include"includes.h"
  4. #define TIME0H 0x3C
  5. #define TIME0L 0xB0
  6. uchar uc_Clock=0;                //定時器0中斷計數(shù)
  7. bit b_DATransform=0;
  8. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  9. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<把電壓顯示在LCD上>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  10. //<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  11. void vShowVoltage(uint uiNumber)
  12. {
  13.         uchar ucaNumber[3],ucCount;
  14.         if(uiNumber>999)                                       
  15.                 uiNumber=999;
  16.         ucaNumber[0]=uiNumber/100;                                                                //把計算數(shù)字的每個位存入數(shù)組。
  17.         ucaNumber[1]=(uiNumber-100*(int)ucaNumber[0])/10;                                                        
  18.         ucaNumber[2]=uiNumber-100*(int)ucaNumber[0]-10*ucaNumber[1];
  19.         for(ucCount=0;ucCount<3;ucCount++)
  20.         {
  21.                 vShowOneChar(ucaNumber[ucCount]+48);                                //從首位到末位逐一輸出。
  22.                 if(ucCount==0)
  23.                         vShowOneChar('.');
  24.         }
  25. }
  26. //*************************************************************************************************
  27. //*                                                                                                                                                                                                  *
  28. //*                          ********************************主函數(shù)******************************                                  *
  29. //*                                                                                                                                                                                                  *
  30. //*************************************************************************************************
  31. void main()
  32. {
  33.         TMOD=0x01;                        //定時器0,模式1。
  34.         TH0=TIME0H;
  35.         TL0=TIME0L;
  36.         TR0=1;                                //啟動定時器。
  37.         ET0=1;                                //開定時器中斷。
  38.         EA=1;                                //開總中斷
  39.         vdInitialize();
  40.         vWriteCMD(0x84);           //寫入顯示起始地址(第一行第4個位置)
  41.         vShowChar("voltage");
  42.         vWriteCMD(0xC9);     
  43.         vShowChar("(V)");
  44.         while(1)
  45.         {
  46.                 if(b_DATransform==1)
  47.                 {
  48.                         b_DATransform=0;
  49.                         vWriteCMD(0xC4);


  50. …………限于本文篇幅 余下代碼請從51黑電子論壇下載附件…………
復(fù)制代碼

所有資料下載:
51 digital voltmeter design.zip (1.07 MB, 下載次數(shù): 669)

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏16 分享淘帖 頂1 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:137767 發(fā)表于 2017-4-23 06:52 | 只看該作者
謝謝分享。
回復(fù)

使用道具 舉報

板凳
ID:306850 發(fā)表于 2018-5-12 11:13 | 只看該作者
需要啊 謝謝!
回復(fù)

使用道具 舉報

地板
ID:278026 發(fā)表于 2018-5-12 12:58 | 只看該作者
非常好
回復(fù)

使用道具 舉報

5#
ID:359465 發(fā)表于 2018-6-26 16:19 | 只看該作者
感謝樓主 提供了非常大的幫助
回復(fù)

使用道具 舉報

6#
ID:359465 發(fā)表于 2018-6-26 16:22 | 只看該作者
很需要 感謝樓主
回復(fù)

使用道具 舉報

7#
ID:435737 發(fā)表于 2018-11-29 18:18 | 只看該作者
很好用 謝謝樓主
回復(fù)

使用道具 舉報

8#
ID:435796 發(fā)表于 2018-11-30 08:52 | 只看該作者
好用 謝謝樓主
回復(fù)

使用道具 舉報

9#
ID:439922 發(fā)表于 2018-12-5 16:29 | 只看該作者
好評好評  學(xué)習(xí)用
回復(fù)

使用道具 舉報

10#
ID:438003 發(fā)表于 2018-12-5 16:29 來自手機(jī) | 只看該作者
感謝分享,
回復(fù)

使用道具 舉報

11#
ID:319517 發(fā)表于 2018-12-10 23:11 | 只看該作者
這個可以導(dǎo)入protel嗎?
回復(fù)

使用道具 舉報

12#
ID:532362 發(fā)表于 2019-5-10 11:45 | 只看該作者
謝謝樓主的分享
回復(fù)

使用道具 舉報

13#
ID:303735 發(fā)表于 2019-5-10 14:34 | 只看該作者
謝謝樓主分享
回復(fù)

使用道具 舉報

14#
ID:532513 發(fā)表于 2019-5-10 15:36 | 只看該作者
大家好 真好
回復(fù)

使用道具 舉報

15#
ID:530813 發(fā)表于 2019-5-12 18:20 來自手機(jī) | 只看該作者
為啥給的hex文件和程序再編譯出來的hex文件效果不一樣,求解答
回復(fù)

使用道具 舉報

16#
ID:677809 發(fā)表于 2019-12-30 20:06 | 只看該作者
謝謝分享
回復(fù)

使用道具 舉報

17#
ID:648066 發(fā)表于 2021-7-26 21:39 | 只看該作者
有沒有人會這個實(shí)物,可支付
回復(fù)

使用道具 舉報

18#
ID:923532 發(fā)表于 2021-7-27 17:06 | 只看該作者
可以倆個加起來弄成0到10v嗎?
回復(fù)

使用道具 舉報

19#
ID:992042 發(fā)表于 2021-12-18 21:02 | 只看該作者
樓主設(shè)計的太好了,學(xué)習(xí)到了很多。
回復(fù)

使用道具 舉報

20#
ID:1011897 發(fā)表于 2022-4-14 15:41 | 只看該作者
你好  量程怎么修改呢  我不會了  來請教一下你
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表