找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

單片機(jī)四位數(shù)碼管簡(jiǎn)易電壓表PCB+程序設(shè)計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
該電路主要采用STC89C52芯片和ADC0804芯片來完成一個(gè)簡(jiǎn)單的電壓表,可以對(duì)輸入在0—5V的模擬直流電壓進(jìn)行測(cè)量,并通過一個(gè)4位一體的LED數(shù)碼管顯示。(ADC0804是一款逐次逼近式8位單通道A/D轉(zhuǎn)化芯片,可以將模擬量轉(zhuǎn)化為數(shù)字量,其轉(zhuǎn)換時(shí)間大約為100us)該電路由三個(gè)模塊組成:A/D轉(zhuǎn)化模塊、數(shù)據(jù)處理模塊和顯示模塊。A/D轉(zhuǎn)化主要由ADC0804芯片來完成,它負(fù)責(zé)把采集到的模擬量轉(zhuǎn)化成相應(yīng)的數(shù)字量再傳輸?shù)綌?shù)據(jù)處理模塊。數(shù)據(jù)處理則由芯片STC89C52來完成,其負(fù)責(zé)把ADC0804傳來的數(shù)字量進(jìn)行處理,產(chǎn)生相應(yīng)的顯示碼并送到顯示模塊進(jìn)行顯示。

Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)



單片機(jī)源程序如下:
  1. #include
  2. #include

  3. #define uchar unsigned char
  4. #define uint unsigned int
  5. #define wei P2
  6. #define duan P0
  7. #define data P1
  8. sbit csad=P3^5;
  9. sbit adwr=P3^6;
  10. sbit adrd=P3^7;
  11.         
  12. uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
  13.                 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  14. void delayms(uint xms)
  15. {
  16.         uint i,j;
  17.         for(i=xms;i>0;i--)
  18.                 for(j=110;j>0;j--);
  19. }

  20. void display(uchar qian,uchar bai,uchar shi,uchar ge)
  21. {
  22.         duan=table[qian]&0x7f;
  23.         wei=0xfe;
  24.         delayms(3);
  25.         duan=0x00;
  26.         wei=0x00;
  27.         delayms(5);
  28.         
  29.         duan=table[bai];
  30.         wei=0xfd;
  31.         delayms(3);
  32.         duan=0x00;
  33.         wei=0x00;
  34.         delayms(5);
  35.         
  36.         duan=table[shi];
  37.         wei=0xfb;
  38.         delayms(3);
  39.         duan=0x00;
  40.         wei=0x00;
  41.         delayms(5);
  42.         
  43.         duan=table[ge];
  44.         wei=0xf7;
  45.         delayms(3);
  46.         duan=0x00;
  47.         wei=0x00;
  48.         delayms(5);
  49. }
  50. void main()
  51. {
  52.         uchar a,A1,A2,A3,A4,adval;
  53.         csad=0;
  54.         while(1)
  55.         {
  56.                 adwr=1;
  57.                 _nop_();
  58.                 adwr=0;
  59.                 _nop_();
  60.                 adwr=1;
  61.                 for(a=10;a>0;a--)
  62.                 {
  63.                         display(A1,A2,A3,A4);
  64.                 }
  65.                 data=0xff;
  66.                 adrd=1;
  67.                 _nop_();
  68.                 adrd=0;
  69.                 _nop_();
  70.                 adval=P1;
  71.                 adrd=1;
  72.                 A1=adval/51;  //求余,去整留余
  73.                 A2=adval%51*10/51;
  74.           A3=adval%51*10%51*10/51;  
  75.                 A4=adval%51*10%51*10%51*10/51;
  76.         }
  77. }
復(fù)制代碼
所有資料51hei提供下載:
原理圖PCB工程文件.zip (12.14 MB, 下載次數(shù): 30)
程序 (1).zip (4.08 KB, 下載次數(shù): 19)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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