/************************************************
跳線設置:J2的23端插上跳線帽,雙排針除PSEN外全部插上,J7拔掉
晶振:11.0592M
顯示效果:
1,在Q9上插入光敏或者熱敏電阻,在數碼管上顯示數字量
如用手遮住Q9上的光,則可看到數字的變化
相關知識點:
1,類似ADC0804數模轉換的操作
************************************************/
#include"AT89x52.h"
#define uint unsigned int
#define uchar unsigned char
sbit ADC0804_SC=P2^0;
sbit ADC0804_RD=P3^7;
sbit ADC0804_WR=P3^6;
sbit DUAN=P2^6; //74HC573的LE端 LED的段選端
sbit WEI=P2^7; //74HC573的LE端 LED的位
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void adc0804_start() //AD0804的啟動函數
{
ADC0804_WR=1;
ADC0804_WR=0;
ADC0804_WR=1;
}
main()
{
uchar ADC0804_data;
ADC0804_SC=0; //讓SC一直為低
WEI=1;
P0=0xff;
WEI=0;
while(1)
{
adc0804_start(); //啟動ADC0804
delay(5); //延時
ADC0804_RD=0; //RD為低
delay(5); //延時
ADC0804_data=P1; //將ADC0804的數據傳出
delay(5); //延時
ADC0804_RD=1; //RD為高
delay(5); //延時
P0=ADC0804_data;
} //這個函數在原來的動態掃描中直接調用就行了
}
歡迎光臨 (http://www.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |