找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6238|回复: 0
收起左侧

基于单片机ADC0808模数转换的数字电压计

[复制链接]
ID:691185 发表于 2021-2-18 15:34 | 显示全部楼层 |阅读模式
数字电压计.PNG

单片机源程序如下:
  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. }
复制代码
51hei.png
所有资料51hei提供下载:
数字电压计.zip (28.49 KB, 下载次数: 26)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表