实验5定时器计数器实验报告.docVIP

  • 641
  • 0
  • 约1.13千字
  • 约 3页
  • 2017-08-26 发布于浙江
  • 举报
实验5定时器计数器实验报告.doc

单片机实验五定时器/计数器设计实验报告 实验内容 1、采用12MHZ时钟频率的单片机,通过一个开关输入,触发定时计数。按下开关10次,计算按键的平均时间,并通过数码管显示出来。 实验目的 1、了解定时器的各种工作方式。 2、掌握定时器/计数器的使用和编程方法。 实验设备 win7系统下的proteus7.8和ceil4联调 实验电路图 程序代码 #includereg51.h sbit P1_0=P1^0; unsigned char numcode[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88}; unsigned char seqcode[4]={0x01,0x02,0x04,0x08}; unsigned int num=0; void int1() interrupt 1 { num++; TL0=0xb0; TH0=0x3c; } void DelayMS(unsigned int ms) { unsigned char i; while(ms--) for(i=0;i120;i++); } void main() { unsigned char i=0; unsigned char dspcode[4]; unsigned long t; P3=numcode[i]; ET0=1; EA=1; TH0=0x3c; TL0=0xb0; TMOD=0x01; while(1) { if(P1_0==0) { TR0=1; i++; P3=numcode[i]; while(P1_0==0); TR0=0; if(i==10) { t=((TH08)+TL0)/1000; t=(t+50*num)/10; dspcode[0]=numcode[(t/1000)%10]^0x80; dspcode[1]=numcode[(t/100)%10]; dspcode[2]=numcode[(t/10)%10]; dspcode[3]=numcode[t%10]; break; } } } while(1) { for(i=0;i4;i++) { P2=seqcode[i]; P0=dspcode[i]; DelayMS(5); } } } 实验结果 七、实验小结 通过实验,我了解了定时器的各种工作方式和定时器/计数器的使用和编程方法,为进一步学习打下基础。

文档评论(0)

1亿VIP精品文档

相关文档