📄 exio.c
字号:
#include "..\startup\44b.h"
#include "..\inc\ExIO.h"
void init_ADdevice()
{
rADCPSR=20;
rADCCON=ADCCON_SLEEP;
}
int GetADresult(int channel)
{
rADCCON=(channel<<2)|ADCCON_ENABLE_START;
Delay(10);
while(!(rADCCON&ADCCON_FLAG));
return rADCDAT;
}
void ScanLED(char n[])
{
int i,temp=0x01;
for(i=0;i<8;i++){
EXIO_8255A_PORTB=0xff;
EXIO_8255A_PORTA=n[i];
EXIO_8255A_PORTB=~temp;
temp<<=1;
Delay(10);
}
}
void testExIO()
{
int aa,i;
char n[]={0x50,0xff,0x88,0x55,0x55,0x55,0x55,0x55};
init_ADdevice();
EXIO_8255A_CTRL=0x80;
EXIO_8255B_CTRL=0x82; //port B for input
EXIO_8255A_PORTA=0x55;
EXIO_8255A_PORTB=0xfe;
EXIO_8255A_PORTC=0x55;
EXIO_8255B_PORTA=0x55;
EXIO_8255B_PORTB=0x0;
EXIO_8255B_PORTC=0x55;
Delay(5000);
/* aa=EXIO_8255B_CTRL;
aa=EXIO_8255B_CTRL;
aa=EXIO_8255B_CTRL;
aa=EXIO_8255B_CTRL;*/
/* for(;;){
aa=0x01;
for(i=0;i<8;i++){
EXIO_8255A_PORTC=aa;
aa<<=1;
ScanLED(n);
ScanLED(n);
ScanLED(n);
ScanLED(n);
}
}*/
for(;;){
for(i=0;i<10;i++){
aa=EXIO_8255B_PORTB;
EXIO_8255A_PORTC=aa;
ScanLED(n);
}
Uart_Printf("AD0=%d\tAD1=%d\tAD2=%d\tAD3=%d\n",GetADresult(0),GetADresult(1),
GetADresult(2),GetADresult(3));
// Uart_Printf("AD0=%d\n",GetADresult(0));
// Delay(1000);
}
aa=EXIO_8255A_CTRL;
aa=EXIO_8255B_CTRL;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -