1、1、点亮 2、3、5、8 四个发光二极管。 (课后作业)#includesbit LED2=P10;sbit LED3=P13;sbit LED5=P15;sbit LED8=P16;main()LED2=0; /第二盏灯亮LED3=0; /第三盏灯亮LED5=0; /第五盏灯亮LED8=0; /第八盏灯亮while(1);2、设计走马灯和数码管逐一显示数字。 (课后作业)#includevoid Delay()unsigned int j;j=30000;while(j-); /时间延时函数void main()int a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x
2、82,0xf8,0x80,0x90; /数码管显示段码int b10=0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xaa,0x55; /点亮灯的段码unsigned char i;while(1)for(i=0;isbit BIT1=P30;sbit BIT2=P31;sbit Button1=P37;sbit Button2=P36;sbit Button3=P35;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; /数码管显示段码void Delay(unsigne
3、d int t)unsigned int i,j;for(i=0;i= 99)dat=0;while(Button1=0); /按键 1 是控制加的,当加到大于等于 99 时又从 0 开始加if(Button2=0)dat-;if(dat sbit K1=P30;unsigned char state=0;void Delay(unsigned int t)unsigned int i,j;for(i=0;i=3)state=0;while(K1=0);5、先是 1、2、3、4 灯闪 8 下,再 5、6、7、8 灯闪 8 下。循环闪烁。 (实验一 2)#includevoid Delay()u
4、nsigned int j;j=50000;while(j-);main()char i=0;while(1)for(i=0;ivoid Delay()unsigned int j;j=30000;while(j-); /时间按延时函数void main()int a8=0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00; /点亮灯的段码unsigned char i;while(1)for(i=0;i#includeunsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8;unsigned char x=0
5、xfe;ss=0;main()IT0=1;EX0=1;IT1=1;EX1=1;EA=1;while(1)P1=x;P2=ass;if(ss9)ss=0;if(ssSbit K1=P30;Sbit K2=P31;Void main()Whlie(1)If(K1=0)P1=0xf0;Else if(K2=0)P1=0x0f;ElseP1=0xff;9、点亮一盏灯,并使其闪烁。 (课堂作业)#includeSbit LED1=P10;Void Delay()Unsigned int j;j=50000;whlie(j-);Void main()Whlie(1)LED1=0;Delay();LED1=
6、1;Delay();10、先点亮 1、3、5、7 灯,熄灭,再点亮 2、4、6、8 灯。 (课堂作业)#includevoid Delay(unsigned int t)unsigned int i,j;for(i=0;isbit K1=P30;sbit K2=P31;sbit K3=P32;sbit K4=P33;sbit K5=P34;sbit K6=P35;sbit K7=P36;sbit K8=P37;void main()while(1)if(K1=0)P2=0xf9;else if(K2=0)P2=0xa4;else if(K3=0)P2=0xb0;else if(K4=0)P2=
7、0x99;else if(K5=0)P2=0x92;else if(K6=0)P2=0x82;else if(K7=0)P2=0xf8;else if(K8=0)P2=0x80;elseP2=0xc0;12、用中断程序 K3、K4 分别控制加减及发光二极管左右移动。 (实验三)实际操作#include#includesbit K3=P32;sbit K4=P33;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;unsigned char x=0xfe;ss=0;void delay(unsigned int
8、 t)unsigned int i,j;for(i=0;i9)ss=0;if(sssbit test=P15;unsigned char i=0;main()TMOD=0x01;TH0=15536/256;TL0=15536%256;TR0=1;ET0=1;EA=1;while(1);void sb() interrupt 1TH0=15536/256;TL0=15536%256;i+;if(i19)test=test;i=0;14、制作一个 9 秒钟倒计时装置,时间由一位数码管显示,并要求使用一个按键控制倒计时的开始,当时间到 0 时,停止计时,并驱动蜂鸣器发声。 (实验五)#include
9、sbit K=P31;sbit test=P15;unsigned char i=0;ss=9;unsigned char a10=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;main()TMOD=0x01;TH0=15536/256;TL0=15536%256;ET0=1;EA=1;while(1)P2=ass;if(K=0)TR0=1; void jk() interrupt 1TH0=15536/256;TL0=15536%256;i+;if(i19)ss-;i=0;if(ss=0)TR0=0;ss=0;test=test;15、用
10、串口中断函数设计出显示自己姓名首写字母和学号,11.5200MZ 、9200b/s,工作在方式 1 下。 (课后作业)#includevoid Send(unsigned char dat)SBUF=dat; /发送while(!TI); /等待发送完毕 TI=1TI=0; /发送函数void Delay(unsigned int t)unsigned int i,j;for(i=0;isbit test=P10;main()TMOD=0x10;TH1=0xb1;TL1=0xe0;TR1=1;ET1=1;EA=1;while(1)void sb() interrupt 3TH1=0xb1;TL
11、1=0xe0;test=test;17、T0 方式一 定时 30ms T=90ms 高电平 30ms 低电平 60ms 晶振频率为12MHz。 (课堂作业)#includesbit Test=P10;unsigned char flag=1;main()TMOD=0x01;TH0=0xba;TL0=0xd0;TR0=1;ET0=1;EA=1;while(1)void dat() interrupt 1if(flag)Test=0;TH1=0x15;TL1=0x0a;flag=1;ElseTest=1;TH1=0xb1;TL1=0xe0;flag=0;18、利用定时器 T1,工作方式 1,从计数器端口输出 100 个脉冲之后,溢出产生中断并在中断后停止计数。 (课堂作业)#includemain()TMOD=0x510;TH1=65536/256;TL1=65536%256;TR1=1;ET1=1;EA=1;while(1)void sb() interrupt 3P1=0x00;TR1=0;