標(biāo)題: ADC0809-3路單片機(jī)仿真可以,實(shí)物不顯示數(shù)字 [打印本頁(yè)]

作者: 345345    時(shí)間: 2017-5-15 17:47
標(biāo)題: ADC0809-3路單片機(jī)仿真可以,實(shí)物不顯示數(shù)字



  1. /*
  2. *****************************************
  3. 名稱:LCD1602顯示字符
  4. 描述:?jiǎn)纹瑱C(jī)通過(guò)并口連接LCD,第一行滾動(dòng)顯示字符,第二行顯示串口接收到的字符
  5. *****************************************
  6. */

  7. #include<reg52.h>

  8. #define uchar unsigned char
  9. #define uint  unsigned int

  10. uchar FlagT = 0;            //滾動(dòng)顯示時(shí)間標(biāo)志位
  11. uchar Flag3s = 0;           //3秒時(shí)間標(biāo)示

  12. uchar AdcDat0 = 0;          //三個(gè)通到讀到的電壓值
  13. uchar AdcDat1 = 0;
  14. uchar AdcDat2 = 0;

  15. #include"LCD1602.h"                 //包含LCD1602頭文件
  16. #include"ADC0809.h"

  17. /* 主函數(shù):初始化LCD,顯示字符 */
  18. void main()
  19. {
  20.         LcdInit();
  21.        
  22.         LcdShowStr(0, 0, "DL:");
  23.        
  24.         TMOD = 0x11;
  25.         TH0 = 0xFC;
  26.         TL0 = 0x18;
  27.         ET0 = 1;
  28.         TR0 = 1;
  29.        
  30.         TH1=0xFF;
  31.         TL1=0xFA;
  32.         ET1 = 1;
  33.         TR1 = 1;
  34.        
  35.         EA = 1;                 //打開總中斷
  36.        
  37.         while(1)
  38.         {
  39.                 if(FlagT != 0)
  40.                 {
  41.                         FlagT = 0;
  42.                         Adc0809GetAdcDatCH0ToCH2();  //獲取ADC三路AD值
  43.                         LcdShowAdcDat();             //顯示獲取到的值
  44.                 }
  45.         }
  46. }

  47. //定時(shí)器0中斷
  48. void TIMER0() interrupt 1
  49. {
  50.         static uint cnt = 0;
  51.         static uint cnt3s = 0;
  52.         TH0 = 0xFC;
  53.         TL0 = 0x18;
  54.        
  55.         cnt++;
  56.         if(cnt > 100)
  57.         {
  58.                 cnt = 0;
  59.                 FlagT = 1;
  60.         }
  61.        
  62.         cnt3s++;
  63.         if(cnt3s > 3000)
  64.         {
  65.                 cnt3s = 0;
  66.                 if(Flag3s != 0)
  67.                         Flag3s = 0;
  68.                 else
  69.                         Flag3s = 1;
  70.         }
  71. }

  72. //定時(shí)器T1中斷,給ADC0809提供時(shí)鐘輸入
  73. void TIMER1() interrupt 3
  74. {
  75.         TH1=0xFF;
  76.         TL1=0xFA;
  77.         AdcCLK = !AdcCLK;                          //取反
  78. }
復(fù)制代碼



0.png (71.51 KB, 下載次數(shù): 131)

0.png

ADC0809-3路.zip

853.4 KB, 下載次數(shù): 32


作者: zl2168    時(shí)間: 2017-5-15 19:59
本帖最后由 zl2168 于 2017-5-15 20:49 編輯

0809八路AD。
實(shí)例84  ADC0808并行A-D(虛擬CLK)
Proteus仿真一下,確認(rèn)有效。
實(shí)例84 ADC0808A-D(虛擬CLK).rar (35.75 KB, 下載次數(shù): 15)

以上摘自張志良編著《80C51單片機(jī)仿真設(shè)計(jì)實(shí)例教程——基于Keil CProteus》清華大學(xué)出版社ISBN 978-7-302-41682-1.書中電路和程序設(shè)計(jì)有詳細(xì)說(shuō)明,程序語(yǔ)句條條有注解。
仿真電路和Hex文件能在清華出版社網(wǎng)站免費(fèi)下載,程序源代碼只能到書上看了。到圖書館借,或到新華書店翻閱,或到網(wǎng)上書店打折購(gòu)買。

作者: cjjcjj1    時(shí)間: 2017-5-15 20:43
提示: 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽
作者: 345345    時(shí)間: 2017-5-15 22:37
zl2168 發(fā)表于 2017-5-15 19:59
0809八路AD。
實(shí)例84  ADC0808并行A-D(虛擬CLK)
先Proteus仿真一下,確認(rèn)有效。

不對(duì)的,我用的是LCD1602
作者: 345345    時(shí)間: 2017-5-15 22:37
cjjcjj1 發(fā)表于 2017-5-15 20:43
你好!首先檢查硬件接的是不是對(duì)!

實(shí)物連接是沒(méi)有問(wèn)題的,能不能幫我解決一下
作者: 345345    時(shí)間: 2017-5-16 15:12
已經(jīng)解決了




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1