找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5639|回复: 8
收起左侧

单片机数字电压表proteus仿真 ADC0809模数转换 液晶显示0~50V

[复制链接]
ID:137190 发表于 2016-9-4 21:00 | 显示全部楼层 |阅读模式
0.png
基于单片机的数字电压表proteus仿真 ADC0809模数转换 液晶显示0~50V

程序如下:
  1. #include<reg51.h>
  2. #include<LCD1602.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. uint i,j,temp,temp1;
  6. uint jj=0;
  7. uint kk=0;
  8. uint jjj=0;
  9. uint kkk=0;
  10. uint jjjj=0;
  11. uint kkkk=0;
  12. uint getdata,count,d;
  13. sbit ST=P3^7;
  14. sbit OE=P3^5;
  15. sbit EOC=P3^6;
  16. sbit CLK=P3^4;
  17. sbit k1=P2^1;
  18. sbit k2=P2^2;
  19. sbit k3=P2^3;
  20. char tt;
  21. void Delay(uint n)
  22. {
  23.         uint x;
  24.         while(n--)
  25.         {
  26.                 x=5000;
  27.                 while(x--);        
  28.         }
  29. }
  30. void TimeInitial()
  31. {
  32. TMOD=0x10;
  33. TH1=(65536-200)/256;
  34. TL1=(65536-200)%256;
  35. EA=1;
  36. ET1=1;
  37. TR1=1;

  38. }

  39. void disp_result(void)
  40. {
  41.         LCD_set_position(2);
  42.     LCD_write_data(5*getdata/256+0x30);//各位数据显示
  43.         LCD_printc('.');//小数点
  44.         LCD_write_data(jj*10/256+0x30);//十分位显示
  45.         LCD_write_data(kk*10/256+0x30);//百分位显示
  46.         LCD_printc('v');//显示电压符号"v"
  47. }
  48.   void disp_result1(void)
  49. {
  50.         LCD_set_position(2);
  51.         if((15*getdata/256)<=10)
  52.         {
  53.     LCD_write_data(15*getdata/256+0x30);//各位数据显示
  54.         LCD_printc('.');//小数点
  55.         LCD_write_data(jjj*10/256+0x30);//十分位显示
  56.         LCD_write_data(kkk*10/256+0x30);//百分位显示
  57.         LCD_printc('v');//显示电压符号"v"
  58.         }
  59.         else
  60.         LCD_prints(" not ");
  61. }

  62. void disp_result2(void)
  63. {
  64.         LCD_set_position(2);
  65.     LCD_write_data(5*getdata/256+0x30);//各位数据显示
  66.         LCD_write_data(jjjj*10/256+0x30);//十分位显示
  67.         LCD_printc('.');//小数点
  68.         LCD_write_data(kkkk*10/256+0x30);//百分位显示
  69.         LCD_printc('v');//显示电压符号"v"
  70. }
  71. void disp_result3(void)
  72. {
  73.         LCD_set_position(2);
  74.     LCD_prints("0.00v");//显示电压符号"v"
  75. }                                    
  76. void get(void)
  77. {
  78. ST=0;
  79. OE=0;
  80. ST=1;
  81. Delay(1);
  82. ST=0;   //只需要启动一下,不需要一直保持
  83. while(EOC==0);
  84. OE=1;
  85. Delay(1);
  86. getdata=P1;
  87. OE=0;
  88. jj=5*getdata%256 ;
  89. kk=10*jj%256 ;
  90. jjj=15*getdata%256;
  91. kkk=10*jjj%256;
  92. jjjj=5*getdata%256;
  93. kkkk=10*jjjj%256;
  94. }                  
  95. void main(void)
  96. {
  97. tt=0+0x30;
  98. TimeInitial();
  99. LCD_initial();
  100. LCD_set_position(0);
  101. LCD_printc('u');
  102. LCD_printc('=');
  103. //LCD_write_data(tt) ;     //输出一个字节数据到LCD
  104. LCD_set_position(8);
  105. LCD_prints(" mofan ");
  106. LCD_set_position(0x40);
  107. LCD_prints(" luoyuanfeng");
  108. while(1)
  109.   {
  110.         k1=1;
  111.             k2=1;
  112.             k3=1;        
  113.                 get();
  114.             if(k1==0)
  115.                 disp_result2();
  116.                 if(k2==0)
  117.                 disp_result1();
  118.                 if(k3==0)  
  119.                 disp_result();
  120.                 if(k1&&k2&&k3==1)
  121.                 disp_result3();
  122.         
  123.   }
  124. }
  125. void t1() interrupt 3 using 0
  126. {
  127.   TH1=(65536-200)/256;
  128.   TL1=(65536-200)%256;
  129.   CLK=~CLK;
  130. }

复制代码
0.png

全部资料下载(管理提醒:此程序是错误的 大家切勿下载):
项目.zip (318.51 KB, 下载次数: 118)
回复

使用道具 举报

ID:197648 发表于 2017-5-19 21:42 | 显示全部楼层
楼主 这个没缺0809模块吗,简直是牛头不对马嘴啊 大家不要下载
回复

使用道具 举报

ID:128402 发表于 2016-11-30 18:12 | 显示全部楼层
是数码管?lcd就好
回复

使用道具 举报

ID:197648 发表于 2017-5-8 19:28 | 显示全部楼层
先下载看看 多谢分享
回复

使用道具 举报

ID:201612 发表于 2017-5-17 19:05 | 显示全部楼层
借鉴学习了
回复

使用道具 举报

ID:257962 发表于 2017-12-5 22:21 | 显示全部楼层
很好5555555555555
回复

使用道具 举报

ID:257962 发表于 2017-12-5 22:21 | 显示全部楼层
感谢分享,很不错
回复

使用道具 举报

ID:69408 发表于 2018-7-11 18:23 | 显示全部楼层
谢谢楼主,下载学习学习!
回复

使用道具 举报

ID:438003 发表于 2018-12-6 10:19 来自手机 | 显示全部楼层
感谢分享
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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