简易秒表的keilC程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

晶振设置为:12MHz

机器周期为:12*(1/12MHz)=1μs

用Atmel89c52完成,LED显示

用定时器0工作方式2

简易秒表的keilC程序?/span>

#include

unsigned char

led_code[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7 F,0X6F};//共阴显示

unsigned long cnt=0;

unsigned int second=0,minute=0;

void delay(unsigned int n) //延时

{

unsigned long i;

while(n--)

for (i=0;i<100;i++);

}

t0_int() interrupt 1

{

if(cnt++==5000)//5000*200个机器周期=1S {

cnt=0;

second++;

if(second==60)

{

second=0;

minute++;

if(minute==60) minute=0;

}

}

}

main()

{

TMOD=0x02;//工作方式2

TH0=256-200;//初值计算,200个机器周期

TL0=256-200;

ET0=1;

EA=1;

TR0=1;

while(1)

{

P3=0;//动态扫描

P2=led_code[second%10]; P3_3=1;

delay(1);

P3=0;

P2=led_code[second/10]; P3_2=1;

delay(1);

P3=0;

P2=led_code[minute%10]; P3_1=1;

delay(1);

P3=0;

P2=led_code[minute/10]; P3_0=1;

delay(1);

}

}

相关文档
最新文档