《单片机应用与调试项目教程(c语言版)教学课件作者李英辉讲义项目二》由会员分享,可在线阅读,更多相关《单片机应用与调试项目教程(c语言版)教学课件作者李英辉讲义项目二(11页珍藏版)》请在金锄头文库上搜索。
1、项目二 电子时钟控制系统设计任务1 数码管静态显示控制系统设计1 任务实施(数码管静态显示控制系统设计)#include#define uchar unsigned charuchar code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;void delay()uchar i,j,k;for(i=10;i0;i-)for(j=200;j0;j-)for(k=250;k0;k-);void main()uchar i;while(1)for(i=0;i10;i+)P2=ledi;delay();2 技能训练(数码管硬译码控制系统设
2、计)#include#define uchar unsigned charvoid delay()uchar i,j,k;for(i=10;i0;i-)for(j=200;j0;j-)for(k=250;k0;k-);void main()uchar i;while(1)for(i=0;i100;i+)P2=(i/104|i%10);delay();任务2 数码管动态扫描控制系统设计1 任务实施(数码管倒计时控制系统设计)#include#define uchar unsigned charuchar code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x
3、f8,0x80,0x90;void delay()uchar i;TMOD=0x01; for(i=0;i20;i+) TH0=(-50000)/256;TL0=(-50000)%256;TR0=1;while(!TF0); TF0=0;void main()uchar i;while(1)for(i=9;i255;i-)P2=ledi;delay();2 技能训练(两位数码管动态扫描控制系统设计) #include#define uchar unsigned char uchar code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x
4、90;void delay()TMOD=0x00;TH0=(8192-2000)/32;TL0=(8192-2000)%32;TR0=1;while(!TF0);TF0=0;void main()uchar i,j;while(1)for(i=0;i100;i+)for(j=0;j250;j+)P3=0x01;P2=ledi/10;delay();P3=0x02;P2=ledi%10;delay();任务3 电子秒表控制系统设计1 任务实施(电子秒表控制系统设计)#include#define uchar unsigned charuchar code led=0xc0,0xf9,0xa4,0
5、xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar i;void delay()uchar i,j;for(i=10;i0;i-)for(j=250;j0;j-);void init()TMOD=0X01;TH0=(-5000)/256;TL0=(-5000)%256;IE=0X82;TR0=1;void main()init();while(1)P3=0X01;P2=ledi/10;delay();P3=0X02;P2=ledi%10;delay();void t0() interrupt 1uchar j;TH0=(-5000)/256;TL0=(-5000)%
6、256;j+;if(j=200)j=0;i+;if(i=60)i=0;2 技能训练(电子秒表中断控制系统设计)#include#define uchar unsigned charuchar code led=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar w=0x01,0x02;uchar d=0,0;uchar t;void delay()uchar i,j;for(i=0;i10;i+)for(j=0;j250;j+);void init()TMOD=0X01;TH0=(-5000)/256;TL0=(-5000)%256;IE=0X87;IP=0X05;IT0=1;IT1=1;void main()uchar i;init();while(1)d0=ledt/10;d1=ledt%10;for(i=0;i2;i+)P2=wi;P0=di;delay();void int0() interrupt 0TR0=1;void int1() interrupt 2TR0=0;void t0() interrupt 1uchar i;TH0=(-5000)/256;TL0=(-5000)%256;i+;if(i=200)i=0;t+;if(t=60)t=0;