?? sh301.c
字號:
#include<reg52.h>
#include <absacc.h>
#define uchar unsigned char
#define uint unsigned int
/* MAX197片外地址的定義,通過如圖5-40所示的硬件連線,可以看出,當單片機的P2.1口的電平
為高時,138譯碼器的片選信號選中ADCS輸出。*/
#define adch0 XBYTE[0x0200]
//設置P1.7,MAX197輸出數據的高低位控制;P1.6,MAX197的中斷控制位
uchar ch0datal,ch0datah;
sbit P1_6=P1^6;
sbit P1_7=P1^7;
main()
{
EA=1; /*初始化:打開INT0、INT1和T2 */
IT0=1;
IT1=1;
EX0=1;
EX1=1;
ET2=1;
T2CON=0x08; /*設置T2工作方式:允許接收P1.1引腳的下降沿中斷,計數器停止*/
TMOD=0x99; /*設置T0、T1工作方式:門控方式1定時*/
TR0=1; TR1=1;
for (;;);
}
// 在本例中使用定時中斷的方法定時進行數據采集
void intsvr1(void) interrupt 1
{
// 向MAX197的控制字寄存器中寫入控制字 0x40;
// MAX197處于正常工作的內部時鐘模式,0~5V的測量范圍,測量通道為0號;
adch0=0x40;
// 使用查詢的方法讀MAX197的中斷信號,檢測MAX197是否完成了信號的采集
while(P1_6!=0)
{
// 當數據采集完成時,先設置HBEN=0,即先讀低位;
P1_7=0;
}
ch0datal=adch0;
// 當數據采集完成時,設置HBEN=1,再讀高位;
P1_7=1;
ch0datah=adch0;
P1_7=0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -