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

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

QQ登錄

只需一步,快速開始

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

運(yùn)用51單片機(jī)ALE引腳時(shí)鐘的ADC0809模數(shù)轉(zhuǎn)換系統(tǒng)Proteus仿真+代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
  1. #include <reg52.h>
  2. #include <intrins.h>
  3. #include <stdio.h>

  4. #define uint  unsigned int
  5. #define uchar unsigned char
  6. #define ADC_PORT   P0
  7. #define DATA_PORT  P1

  8. sbit START=P3^6;
  9. sbit OE=P3^7;
  10. sbit AD_ALE=P2^0;
  11. sbit EOC=P3^3;

  12. sbit  LCDRW =  P2^2; //定義LCD引腳
  13. sbit  LCDRS =  P2^3;
  14. sbit  LCDEN  =  P2^1;

  15. sbit CLK = P3^5;

  16. uint dat;

  17. //--------------------------------------------  
  18. //             延時(shí)函數(shù)
  19. //--------------------------------------------  
  20. void delay_ms(uint t)
  21. {  
  22.     int j;  
  23.     for(;t!=0;t--)  
  24.        for (j=0;j<110;j++);     
  25. }
  26. //--------------------------------------------  
  27. //              寫數(shù)據(jù)函數(shù)  _可用于顯示一個(gè)字符
  28. //--------------------------------------------  
  29. void write_data(uint dat)
  30. {  
  31.     LCDRS=1;       //數(shù)據(jù)  
  32.     DATA_PORT=dat; //把數(shù)據(jù)總到P口
  33.     delay_ms(1);   //當(dāng)晶振較高時(shí)加延時(shí)  
  34.     LCDEN=1;  
  35.     delay_ms(1);   //當(dāng)晶振較高時(shí)加延時(shí)  
  36.     LCDEN=0;       //關(guān)使能  
  37. }

  38. //--------------------------------------------  
  39. //             寫命令函數(shù) ——可用于定位顯示地址
  40. //--------------------------------------------  
  41. void write_com(uint com)
  42. {  
  43.     LCDRS=0;        //命令
  44.     DATA_PORT=com;  
  45.     delay_ms(1);    //當(dāng)晶振較高時(shí)加延時(shí)  
  46.     LCDEN=1;  
  47.     delay_ms(1);    //當(dāng)晶振較高時(shí)加延時(shí)
  48.     LCDEN=0;  
  49. }
  50. //--------------------------------------------  
  51. //        1602初始化
  52. //--------------------------------------------  
  53. void lcd_init()
  54. {  
  55.                 LCDEN=0;
  56.     LCDRW=0;  
  57.     LCDRS=0;  
  58.     write_com(0x36);            //set text home address  
  59.     write_com(0x38);
  60.     write_com(0x0c);                   //開顯示,不顯示光標(biāo) 0x0f為開顯示,開光標(biāo)   
  61.     write_com(0x06);            //寫一個(gè)字符后地址加一  
  62.     write_com(0x01);            //顯示清零,數(shù)據(jù)指針清零
  63.     write_com(0x80+0);            //定位到,第一行開頭
  64. }
  65. //--------------------------------------------  
  66. //        打印函數(shù)——字符串
  67. //--------------------------------------------  
  68. void print_string(uchar* str)
  69. {  
  70.     int i;  
  71.     for(i=0;str[i]!=0;i++)  
  72.     {         
  73.         write_data(str[i]);  
  74.     }  
  75. }
  76. //--------------------------------------------------------------  
  77. //字符串——打印函數(shù),自行定位 x:列  y:行(y=1:第1行:y=2:第2行)
  78. //--------------------------------------------------------------
  79. void print_string_location(uint x,uint y,uchar* str)
  80. {
  81.         int i;          
  82.         if(y==1)                                                          //第1行
  83.         {
  84.                 for(i=0;str[i]!=0;i++)  
  85.             {
  86.                         write_com(0x80+(x++));                  //定位到,第1行 +x        處顯示
  87.                         write_data(str[i]);
  88.                 }
  89.         }
  90.         else if(y==2)                                                  //第2行
  91.         {
  92.                 for(i=0;str[i]!=0;i++)  
  93.             {
  94.                         write_com(0x80+0x40+(x++));   //定位到,第2行 +x 處顯示
  95.                         write_data(str[i]);
  96.                 }
  97.         }           
  98. }
  99. //--------------------------------------------  
  100. //          AD0809初始化-端口3
  101. //--------------------------------------------  
  102. void  Ad0809Init3(void)
  103. {
  104.        
  105.         AD_ALE=0;
  106.         START=1;
  107.         OE=1;
  108.         START=0;delay_ms(5);START=1;
  109.        
  110.         while(EOC==1);
  111.         OE=0;
  112.         dat=ADC_PORT;
  113.         OE=1;
  114. }
  115. void print_data0()
  116. {
  117.   char z[18];
  118.         print_string_location(0,1,"DATA:");         //顯示DATA:字符串
  119.         sprintf((char*)z,"%d ",dat);//合并參數(shù)字符串
  120.         print_string_location(0,2,z);             //顯示電阻值
  121. }
  122. void main()
  123. {
  124.         lcd_init();
  125.         while(1)
  126.         {               
  127.                         P0=0xf3;
  128.                         Ad0809Init3();
  129.                         dat=dat*19.60784;
  130.                         print_data0();
  131.         }
  132. }
復(fù)制代碼

所有資料51hei提供下載:
ADC0809.rar (75.01 KB, 下載次數(shù): 96)


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:772654 發(fā)表于 2020-6-8 11:43 來自手機(jī) | 只看該作者
這個(gè)算不算數(shù)據(jù)采集
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 操久久 | 亚洲视频在线看 | 久久国产精品精品 | 国产成人午夜电影网 | 99精品国自产在线 | 亚洲精品www. | 欧美国产精品久久久 | 欧美韩一区二区 | 99pao成人国产永久免费视频 | 日韩一区二区三区在线观看视频 | 久久精品国产久精国产 | 天天射天天操天天干 | 国产视频中文字幕 | 成人综合视频在线 | 欧美黑人一级爽快片淫片高清 | 免费成人在线网站 | 99精品欧美一区二区蜜桃免费 | 伊人久久综合影院 | 日本网站免费在线观看 | 在线日韩| 粉嫩av在线 | 一区二区三区欧美 | 久久久久九九九女人毛片 | 91精品国产综合久久久久 | 久久久久国产一区二区三区 | 精品一区二区三区四区 | 免费欧美 | 成人免费一区二区三区视频网站 | 四虎永久免费影院 | 日本 欧美 国产 | 日韩欧美在线一区 | 国产三级| 国产三级国产精品 | 日韩视频精品 | 91精品国产91久久久久青草 | 亚洲视频一区二区三区四区 | 日韩成人免费视频 | 台湾av在线 | 亚洲精品在 | 最新黄色在线观看 | 欧美福利 |