久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5771|回復: 3
收起左側

基于51單片機的數字電壓表設計程序 用adc0832模數芯片 lcd1602顯示

[復制鏈接]
ID:137190 發(fā)表于 2016-9-25 17:38 | 顯示全部樓層 |閱讀模式
0.png 用51單片機和adc0832做的數字頻率計 采用lcd1602來顯示數據.

源程序:
  1. #include<reg51.h>
  2. #include<stdio.h>
  3. typedef unsigned char uchar;
  4. typedef unsigned int  uint;
  5. #define uchar unsigned char
  6. #define uint unsigned int
  7. uchar table[]=" The voltage is";
  8. uchar cnt,ADtemp;
  9. sbit lcdrs=P2^2;
  10. sbit lcdwr=P2^3;
  11. sbit lcden=P2^4;
  12. sbit adcs=P3^4;
  13. sbit adclk=P3^5;
  14. sbit addo=P3^6;
  15. sbit addi=P3^7;
  16. sbit led=P2^1;
  17. void delay(uint delay_time)
  18. {
  19.         for(;delay_time>0;delay_time--);
  20. }
  21. void write_lcdcom(uchar date)
  22. {
  23.         lcdwr=0;
  24.         lcdrs=0;
  25.         delay(5);        
  26.         P0=date;
  27.         lcden=1;
  28.         delay(5);
  29.         lcden=0;
  30. }
  31. void write_lcddate(uchar lcddate)
  32. {
  33.         lcdwr=0;
  34.         lcdrs=1;
  35.         delay(5);
  36.         P0=lcddate;
  37.         lcden=1;
  38.         delay(5);
  39.         lcden=0;
  40. }
  41. void lcd_init()
  42. {
  43.         write_lcdcom(0x38); //display mode
  44.         write_lcdcom(0x06); //顯示光標移動位置
  45.         write_lcdcom(0x0c); //顯示開及光標設置
  46.         write_lcdcom(0x01); //顯示清屏
  47. }
  48. void display()
  49. {
  50.         uchar i;
  51.         lcdwr=0;
  52.         lcdrs=0;
  53.         lcden=0;
  54.         write_lcdcom(0x80);
  55.         for(i=0;i<16;i++)
  56.         {
  57.                 write_lcddate(table[i]);
  58.         }
  59.         lcdwr=1;
  60.         lcdrs=1;
  61.         lcden=1;
  62. }
  63. //volt顯示函數
  64. void lcd_printf(uchar shuju)
  65. {
  66.         uchar qian,bai,shi,ge;
  67.         qian=shuju/1000;
  68.         bai=shuju%1000/100;
  69.         shi=shuju%1000%100/10;
  70.         ge=shuju%10;
  71.         write_lcdcom(0xc5);
  72.         write_lcddate(qian+0x30);
  73.         write_lcdcom(0xc5+1);
  74.         write_lcddate(bai+0x30);
  75.         write_lcdcom(0xc5+2);
  76.         write_lcddate(shi+0x30);
  77.         write_lcdcom(0xc5+3);         
  78.         write_lcddate(ge+0x30);
  79. }
  80. uchar Readadc(uchar channal)
  81. {
  82.         uchar i,j;
  83.         uchar temp=0;
  84.         channal<<=3;
  85.         channal|=3;
  86.         adcs=0;
  87.         for(i=0;i<3;i++)
  88.         {
  89.                 adclk=0;
  90.                 delay(5);
  91.                 addi=channal;
  92.                 channal>>=1;
  93.                 delay(5);
  94.                 adclk=1;
  95.                 addi=0;
  96.         }
  97.         adclk=0;
  98.         delay(5);
  99.         adclk=1;
  100.         for(j=0;j<8;j++)
  101.         {
  102.                 adclk=0;
  103.                 delay(5);
  104.                 if(addo==1)temp|=0x01;
  105.                         temp<<=1;
  106.                 delay(5);
  107.                 adclk=1;
  108.         }
  109.         adcs=1;
  110.         return temp;
  111. }
  112. void T1time1()
  113. {
  114.         TMOD|=0x10;
  115.         TH1=0x3c;
  116.         TL1=0xb0;
  117.         EA=1;
  118.         ET1=1;
  119.         TR1=1;
  120. }
  121. void main()
  122. {
  123.         T1time1();
  124.         lcd_init();
  125.         display();
  126.         while(1)
  127.         {
  128.                 if(cnt==5)
  129.                 {
  130.                         cnt=0;
  131.                         led=~led;
  132.                         ADtemp=Readadc(0);
  133.                         P1=ADtemp;
  134.                 }
  135.                 lcd_printf(ADtemp);
  136.                 lcden=0;
  137.                 lcdwr=1;
  138.         }
  139. }
  140. void t1() interrupt 3 using 1
  141. {
  142.         TH1=0x3c;
  143.         TL1=0xb0;
  144.         cnt++;        
  145. }

復制代碼

基于51單片機的數字電壓表設計.rar

72.16 KB, 下載次數: 82, 下載積分: 黑幣 -5

回復

使用道具 舉報

ID:202479 發(fā)表于 2017-5-19 11:35 | 顯示全部樓層
很好。。。。。。。。。。
回復

使用道具 舉報

ID:151422 發(fā)表于 2017-6-1 10:36 | 顯示全部樓層
很不錯,下載下來看看學習一下
回復

使用道具 舉報

ID:260825 發(fā)表于 2017-12-15 09:28 | 顯示全部樓層
你好,這個最大量程只有2.5v請問您知道如何將他改成5v的電壓表嗎?
回復

使用道具 舉報

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

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美色综合一区二区三区 | 一区二区三区欧美在线 | 天天操天天舔 | 99久久婷婷国产综合精品电影 | 久久99精品久久久97夜夜嗨 | 中文av网站| 日韩高清中文字幕 | 综合久久av | 一区二区三区四区电影视频在线观看 | 日韩成人免费视频 | 亚洲国产高清高潮精品美女 | 欧美成人a| 蜜桃综合在线 | 综合久久av | 亚洲精品中文字幕在线观看 | 日韩中文字幕在线观看 | 四虎影院免费在线播放 | 日韩视频免费在线 | 9色网站 | 天天插天天干 | 视频一区二区国产 | 美女在线观看国产 | 国产欧美精品区一区二区三区 | av国产精品 | 国产成人精品一区二区 | 精品一区二区三区四区 | 天天草夜夜骑 | 亚洲国产伊人 | 精品在线99| 欧美成人精品一区二区男人看 | 久久久精品网 | 四虎影院免费在线 | 国产最新网址 | 久久精品国产久精国产 | xx视频在线 | www中文字幕 | 综合网伊人 | 成人一区二区视频 | 一级久久久久久 | www.青青草| 久在线|