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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6442|回復: 0
打印 上一主題 下一主題
收起左側

單片機ADC0809電壓顯示,包含仿真圖,源程序

[復制鏈接]
跳轉到指定樓層
樓主
這是我做的電壓顯示,附件包含仿真圖,源程序,花了不少時間,都是自己原創的,希望大家多多指教

ADC0809仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


ADC0809單片機源碼:
  1. #include<reg51.h>
  2. #include<intrins.h>
  3. #include<math.h>
  4. typedef unsigned char uchar;
  5. typedef unsigned int uint;
  6. #define uchar unsigned char
  7. #define uint unsigned int
  8. float getdata;
  9. float x;
  10. uint temp;
  11. uchar dispbuf[8]={10,10,10,10,10,0,0,0};
  12. uchar*p="0123456789";
  13. uchar code table[]="20141547YSH";
  14. uchar num;
  15. sbit ST=P2^0;
  16. sbit OE=P2^2;
  17. sbit EOC=P2^1;
  18. sbit CLK=P2^4;
  19. sbit rs=P3^5;
  20. sbit e=P3^4;
  21. void delay(uint z)
  22. {
  23.     uint x,y;
  24.     for(x=0;x<z;x++)
  25.       for(y=0;y<110;y++);
  26. }

  27. void write_com(uchar com)//寫指令函數
  28. {
  29. rs=0;//選擇寫命令模式

  30. P0=com;//將要寫的命令字送到數據總線上
  31. delay(5);
  32. //使能端給一高脈沖,因為初始化函數中將e置零
  33. e=1;
  34. delay(5);
  35. e=0;//將使能端置0以完成高脈沖
  36. }
  37. void write_data(uchar dat)//寫數據函數
  38. {
  39. rs=1;//選擇寫數據命令模式
  40. P0=dat;
  41. delay(5);
  42. e=1;
  43. delay(5);
  44. e=0;
  45. }
  46. void init()//初始化函數
  47. {
  48. e=0;
  49. write_com(0x38);//設置8位格式 兩行
  50. write_com(0x0c);//整體顯示 關光標 不閃爍
  51. write_com(0x06); //設置輸入方式 增量不移位
  52. write_com(0x01); //清屏
  53. }
  54. void main()
  55. {
  56. init();
  57. ST=0;
  58. OE=0;
  59. ET0=1; //允許定時器計時器0中斷
  60. EA=1; //打開中斷總開關
  61. TMOD=0x12;
  62. TH0=246;
  63. TL0=226;
  64. TR0=1; //定時器0運行控制位,當軟件清0時,關閉定時器0
  65. ST=0;
  66. while(1)
  67. {
  68. write_com(0x80);
  69.    for(num=0;num<11;num++)
  70.    {
  71.       write_data(table[num]);
  72.       delay(5);
  73.     }
  74. {
  75. uchar i;
  76. if(EOC==1)
  77. {
  78. OE=1;
  79. getdata=P1;
  80. OE=0;
  81. //AD轉換:255/5=實(AD)/輸出
  82. if (getdata>127)
  83. {
  84.   write_com(0x80+0x40);
  85.   temp=(getdata-127)*10/255*100;
  86.   write_data('+');
  87.   write_data(p[temp/100]);//輸出整數位
  88.   write_data('.'); //輸出小數點
  89.   write_data(p[temp/10%10]);
  90.   write_data(p[temp%10]);
  91.   write_data('V');
  92.   write_data(table[num]);
  93. }
  94. else
  95. {
  96. write_com(0x80+0x40);
  97. temp=(127-getdata)*10/255*100+3;
  98. write_data('-');
  99. write_data(p[temp/100]);//輸出整數位
  100. write_data('.'); //輸出小數點
  101. write_data(p[temp/10%10]);
  102. write_data(p[temp%10]);
  103. write_data('V');
  104. write_data(table[num]);
  105. }
  106. ST=1;
  107. ST=0;
  108. }
  109. delay(200);
  110. }
  111. //write_com(0x01);
  112. }
  113. }
  114. Voidtime0(void) interrupt 1 using 0//定時器計數器0
  115. {
  116. CLK=~CLK;
  117. }
復制代碼
全部資料51hei下載地址:
電壓顯示.zip (70.68 KB, 下載次數: 191)



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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产91久久久久久最新 | 亚洲精品影院 | 色视频www在线播放国产人成 | 国产高清一区二区三区 | 成人精品一区二区三区中文字幕 | 亚洲国产精品va在线看黑人 | 日本福利在线 | 中文字幕在线国产 | 91精品国产一区二区三区 | 97精品超碰一区二区三区 | 午夜激情在线视频 | 福利片在线观看 | 久久久久国产一级毛片高清网站 | 国产日韩欧美 | 天堂综合网久久 | 国产一区二区不卡 | 夜夜操av| 亚洲视频一区二区三区 | 超碰国产在线 | 毛片大全| 在线免费观看a级片 | 亚洲精品68久久久一区 | 日韩一区二区三区在线 | 一级片在线观看 | 99热这里有精品 | 欧洲高清转码区一二区 | 黄片毛片免费看 | 少妇久久久久 | 久久久久久久久99精品 | 91看片网站| 一级片在线观看视频 | 免费在线一区二区 | 国产精品美女久久久久久免费 | 99re国产视频 | 国产一区二区电影 | 日韩欧美字幕 | 欧美日韩一区二区三区四区 | 91文字幕巨乱亚洲香蕉 | 久久久久久国产免费视网址 | 99精品久久久久久 | 色综合视频在线 |