P1=SBUF; //接收数据并送P1口 while(TI==0); //TI=0等待 TI=0; //TI清零 for(j=0;j<1000;j++) //延时 for(k=0;k<100;k++); } if(i==8)i=0; //只有8个灯 } } 2.
//发送
#include \
#define uchar unsigned char void int4(void) ; char xdata *p; main() {
P=0x3400; TMOD=0x20;
TL1=0Xfd;TH1=0xfd; SCON=0x40;
TR1=1;EA=1;ES=1; SBUF = *P; while(1); }
void int4() interrupt 4 {
TI=0; P++;
SBUF=*P;
if(P==0X34A0)EA=0; }
//接收
#include \
#define uchar unsigned char void int4(void) ; char xdata *p; main() {
P=0x4400;
TMOD=0x20;
TL1=0Xfd;TH1=0xfd; SCON=0x50;
TR1=1;EA=1;ES=1; SBUF = *P; while(1); }
void int4() interrupt 4 {
RI=0;
*P=SBUF; P++; if(P==0X44A1)EA=0; }
3. #include \
#define uchar unsigned char sbit P3_3=P3^3; uchar a=3;
unsigned char tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void timer(uchar t); void int4(void) ; main() {
uchar i,j;
SCON=0;EA=0;ES=1; for(;;) {
P3_3=1; for(i=0;i<4;i++) { SBUF=tab[a]; j=a; while(j==a); }
P3_3=0; timer(100); if(a=255)a=7; }
void int4() interrupt4 {
//共阳 TI=0; a--; }
void timer(uchar t) {
uchar i;
for(i=0;i TMOD=0x01; TH0=-10000/256; TL0=-10000%6; TR0=1; while(!TF0); TF0=0; } } 第10章 填空题 1.模拟 数字 数字 模拟 2.转换时间 3.5/256 4. 同步 5. 单缓冲,双缓冲,直通 选择题 1.A 2.D 3.A 4.B 5.ABD 上机题 1. (1) #include #define da0832 XBYTE[0XF7FF] main() { unsigned char i,j; while{ for(i=0;i<=153;i++) { da0832=i; for(j=0;j<=100;j++); }} } (2) #include #define da0832 XBYTE[0XF7FF] main() { unsigned char i,j; while{ da0832=j; for(i=0;i<=255;i++) j=j^0xcc;} } (3) #include #define da0832 XBYTE[0XF7FF] main() { unsigned char i,j; while{ for(i=0;i<=255;i++) { da0832=i; for(j=0;j<=100;j++); }} } 2. #include #define uchar unsigned char #define IN2 XBYTE[0x7ffa] sbit adbusy =P1^0; main() { uchar idata ad[10] ; uchar i; for(i=0;i<=10;i++) { IN2=0; while(adbusy==1); ad[i]=IN2; } } 3. #include #define uchar unsigned char #define da0832 XBYTE[0x7fff] main() { uchar *p,i,j; p=0x20 ; for(i=0;i<=16;i++) { dac0832=*p; p++; for(j=0;j<=255;j++) } } 第11章 填空题 1. 触点式开关按键 无触点式开关按键 2.中断扫描 3.硬件消抖 软件消抖 4.10ms 延时 5. 既要保证CPU能及时响应按键操作,又不要过多占用CPU的工作时间。 选择题 1.A 2.D 3.B 4.C 5.B 上机题 1. #include \#define SEG p0 unsigned char code TAB[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xff}; void debouncer();
相关推荐: