adc0809程序和資料 51單片機例程 實測可用
adc0809中文資料:
0.png (125.2 KB, 下載次數: 136)
下載附件
2017-3-25 23:32 上傳
0.png (95.69 KB, 下載次數: 121)
下載附件
2017-3-25 23:32 上傳
0.png (277.85 KB, 下載次數: 111)
下載附件
2017-3-25 23:32 上傳
本次單片機實驗的adc0809原理圖
0.png (302.98 KB, 下載次數: 120)
下載附件
2017-3-25 23:22 上傳
adc0809模塊pcb:
0.png (501.55 KB, 下載次數: 106)
下載附件
2017-3-25 23:22 上傳
如果用例程測試時需要注意以下: 一、先調試單片機控制系統,也就是先不接模塊,1602液晶會顯示: Xingxiangrong AD=255 VIN=4.92v 能這樣顯示后證明單片機控制系統沒有問題,然后再接入AD模塊 二、插針
0.png (24.04 KB, 下載次數: 98)
下載附件
2017-3-25 23:23 上傳
J7短路帽套上,使模塊上面的可調電位器可調端和IN3接通
0.png (43.35 KB, 下載次數: 334)
下載附件
2017-3-25 23:24 上傳
J3 和J4用短路帽把中間和VCC插上,使A和B為1 J5用短路帽把中間和GND插上,使C為0,選擇通道IN3;
0.png (33.57 KB, 下載次數: 91)
下載附件
2017-3-25 23:24 上傳
源程序:
- //功能:ADC0809模塊測試,讀取IN3口的模擬電
- //編譯環境: KEIL UVISION2
- //單片機晶振:12M 單片機型號AT89S52
- //單片機晶振: 無特殊要求
- //作者:興向榮電子元件店
- //日期:2013.06.20
- //功能:
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- // adc0809模塊接線
- #define uchar unsigned char
- sbit STR=P1^0; //單片機P1.0接模塊STR引腳, 啟動轉換信號
- sbit EOC=P1^1; //單片機P1.1接模塊EOC, 轉換結束信號,高電平有效
- sbit OE=P1^2; //單片機P1.2接模塊OE,輸出允許信號,高電平有效
- sbit CLK=P1^3; //單片機P1.3接CLK ,ADC0809時鐘,輸入50-800KHZ的頻率
- //一般選用500K
- #define adc0809_data P3// ADC0809模塊的D0-D7分別接P3.0-P3.7
- /*地址選擇 A 接H
- B 接H
- C 接L
- 選擇通到IN3,當然也可以通過軟件設置地址
- REF+ 接VCC
- REF- 接GND
- 這樣 AD=256*(VIN-(VREF-))/(VREF+)-(VREF-)
- (VREF+)=5V;
- (VREF-)=0V;
- AD=256*VIN/5
- 所以IN3口的電壓VIN=AD*5/256;
- */
- uchar AD_DATA[1]; //保存IN0通道轉換后的數據
- uint addata2;
- //==============LCD1602接口連接方法=====================
- /*-----------------------------------------------------
- |DB0-----P0.0 | DB4-----P0.4 | RW-------P2.3 |
- |DB1-----P0.1 | DB5-----P0.5 | RS-------P2.4 |
- |DB2-----P0.2 | DB6-----P0.6 | E--------P2.2 |
- |DB3-----P0.3 | DB7-----P0.7 |
- ---------------------------------------------------*/
- //================================================*/
- #define LCM_Data P0 //LCD1602數據接口
- #define Busy 0x80 //用于檢測LCM狀態字中的Busy標識
- sbit LCM_RW = P2^3; //讀寫控制輸入端,LCD1602的第五腳
- sbit LCM_RS = P2^4; //寄存器選擇輸入端,LCD1602的第四腳
- sbit LCM_E = P2^2; //使能信號輸入端,LCD1602的第6腳
- //**************函數聲明***************************************
- void WriteDataLCM (uchar WDLCM);//LCD模塊寫數據
- void WriteCommandLCM (uchar WCLCM,BuysC); //LCD模塊寫指令
- uchar ReadStatusLCM(void);//讀LCD模塊的忙標
- void DisplayOneChar(uchar X,uchar Y,uchar ASCII);//在第X+1行的第Y+1位置顯示一個字符
- void LCMInit(void);//LCD初始
- void delayms(uint ms);//1MS基準延時程序
- void delay(uchar i); //延時函數2
- void DisplayListChar(uchar X,uchar Y,uchar delayms, uchar code *DData);
- void judge_xianshi(void);//顯示處理程序
- void init();//系統初始化設置
- void AD();//讀取AD數據
- uchar flag1;
- //***********************主程序******************************
- main()
- {
- init();//系統初始化設置
- LCMInit();
- while(1)
- {
- AD();
- judge_xianshi();
- delayms(100);
-
- }
- }
- /*********
- 系統初始化
- ***********/
- void init()
- {
- EA=1; //開總中斷
- TMOD=0x02; //設定定時器 T0工作方式
- TH0=216; //利用T0中斷產生CLK信號
- TL0=216;
- TR0=1; //啟動定時器T0
- ET0=1;
- STR=0;
- OE=0;
-
- }
- void judge_xianshi()
- {
- addata2=AD_DATA[0]*100;//把數據擴大100,為下面求取小數位后2位做準備
- DisplayListChar(0,1,0, "xingxiangrong");//在液晶的第一行顯示字符"XINGXIANGR"
- DisplayListChar(1,0,0, "AD="); //在液晶的第二行第0位開始顯示"AD="
- DisplayOneChar( 1, 3, AD_DATA[0]/100+0x30); //顯示AD數據的百位
- DisplayOneChar( 1, 4, AD_DATA[0]/10%10+0x30);//顯示AD數據的十位
- DisplayOneChar( 1, 5, AD_DATA[0]%10+0x30);//顯示AD數據的各位
- DisplayListChar(1,7,0, "Vin="); //在液晶的第二行第8位開始顯示"Vin="
- //根據VIN=AD*5/256,求取IN3通到輸入的電壓
- DisplayOneChar( 1, 11, AD_DATA[0]/51+0x30);//顯示輸入電壓的整數位
- DisplayListChar(1,12,0, ".");//顯示小數點
- DisplayOneChar( 1, 13, addata2/51/10%10+0x30);//顯示輸入電壓小數后1位
- DisplayOneChar( 1, 14, addata2/51%10+0x30);//顯示輸入電壓小樹后2位
- DisplayListChar(1,15,0, "V");
- }
- /***********AD
- 轉換函數
- **********/
- void AD()
- {
- STR=0;
- //ADDR這樣如果不是通道0,可以在這邊加一條其他地址的程序
- delay(10);
- STR=1; //啟動AD轉換
- delay(10);
- STR=0;
- while(0==EOC);//等待轉換結束
- OE=1;
- AD_DATA[0]=adc0809_data; //讀取AD數據,數據范圍為0-255
- OE=0;
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
0.png (58.03 KB, 下載次數: 160)
下載附件
2017-3-25 23:27 上傳
完整的中文資料和程序等下載:
興向榮電子ADC0809模塊配套資料.rar
(495.51 KB, 下載次數: 486)
2017-3-25 14:01 上傳
點擊文件名下載附件
adc0809程序和資料 下載積分: 黑幣 -5
|