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

QQ登錄

只需一步,快速開(kāi)始

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

基于單片機(jī)ADC0808模數(shù)轉(zhuǎn)換的數(shù)字電壓計(jì)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主


單片機(jī)源程序如下:
  1. #include<reg51.h>
  2. #define   u8  unsigned char
  3. sbit  RS=P3^0;
  4. sbit  RW=P3^1;
  5. sbit  E=P3^2;
  6. sbit  start=P3^3;
  7. sbit  eoc=P3^4;
  8. sbit  oe=P3^5;
  9. unsigned int  vol=0;       //yong int bimian chaochu fangwei
  10. void delay(u8 u)

  11. {
  12.         u8 i=0;
  13.         while(u--)
  14.         {
  15.                 for(;i<120;i++);
  16.         }
  17. }       
  18. //yanshi mokuai

  19. void writecmd(u8 cmd)
  20. {
  21.    RS=0;
  22.          RW=0;
  23.          P1=cmd;
  24.          delay(10);
  25.                 E=1;
  26.                 delay(10);
  27.                 E=0;


  28. }
  29. //1602dexie mingling hanshu


  30. void writedata(u8 dat)
  31. {
  32.    RS=1;
  33.          RW=0;
  34.          P1=dat;
  35.          delay(10);
  36.                 E=1;
  37.                 delay(10);
  38.                 E=0;

  39. }
  40. //xieshuju hanshu
  41. void ADC()
  42. {
  43.         start=0;
  44.         start=1;
  45.         delay(5);
  46.         start=0;
  47.         while(eoc!=1);
  48.         oe=1;
  49.         vol=P2;
  50.         oe=0;
  51.        
  52. }
  53. //moshu zhuanhuan
  54. void lcdinit()
  55. {
  56.         writecmd(0x38);
  57.   writecmd(0x0c);
  58.         writecmd(0x06);
  59.         writecmd(0x01);
  60. }//chushihua
  61. void display()
  62. {
  63.        
  64.         u8 temp1=0,temp2=0,temp3=0;
  65.         vol=vol*100/51;                    //shuziliang zhuanhuancheng moniliang
  66.   temp1=vol/100;
  67.         temp2=(vol%100)/10;
  68.         temp3=vol%10;
  69.         writecmd(0x80);
  70.         delay(10);
  71.         writedata(0x30+temp1);
  72.         delay(5);
  73.         writedata('.');                     //dianhao
  74.         delay(5);
  75.         writedata(0x30+temp2);
  76.         delay(5);
  77.         writedata(0x30+temp3);
  78.         delay(5);
  79.         writedata('v');                 //danwei
  80.         delay(5);
  81.        
  82.        
  83.        
  84. }

  85. void main()
  86. {
  87.         lcdinit();
  88.         while(1)
  89.         {
  90.                 ADC();
  91.         display();
  92.         }
  93.        
  94. }
復(fù)制代碼

所有資料51hei提供下載:
數(shù)字電壓計(jì).zip (28.49 KB, 下載次數(shù): 26)



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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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