基于51单片机的4位数码管秒表.doc
上传人:王子****青蛙 上传时间:2024-09-14 格式:DOC 页数:4 大小:94KB 金币:10 举报 版权申诉
预览加载中,请您耐心等待几秒...

基于51单片机的4位数码管秒表.doc

基于51单片机的4位数码管秒表.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

10 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

原理图:源程序:/*************************************************************标题:ﻩ定时器中断精确到00、01得秒表效果:能清零重新开始,暂停,继续计时,能精确到0、01秒作者:皖绩小挺说明:ﻩ使用12M晶振,四位数码管,3个按键****************************************************************/#include〈reg52、h〉#defineuintunsignedint#defineucharunsignedcharuinttemp,tt,qian,bai,shi,ge;sbitsmg_q=P1^0;sbitsmg_b=P1^1;sbitsmg_s=P1^2;sbitsmg_g=P1^3;sbitkey1=P3^7;ﻩsbitkey2=P3^6;sbitkey3=P3^5;ucharcodetable[]={0xc0,0xf9,0xa4,0xb0,0x99,ﻩﻩ0x92,0x82,0xf8,0x80,0x90};ucharcodetable1[]={0x40,0x79,0x24,0x30,0x19,ﻩ0x12,0x02,0x78,0x00,0x10};//带小数点voidkeyscan();voiddisplay(uintshi,uintge);voiddelay(uintz);voidinit();/**************************************************************主函数******************************************************************/voidmain(){ﻩinit();//初始化子程序while(1)ﻩ{ﻩif(tt==1)ﻩ{ﻩﻩﻩtt=0;ﻩtemp++;ﻩﻩif(temp==10000){ﻩﻩtemp=0;ﻩﻩ}ﻩqian=temp/1000;ﻩbai=temp%1000/100;ﻩshi=temp%100/10;ﻩge=temp%10;ﻩﻩ}keyscan();ﻩdisplay(shi,ge);}}/*********************************************************************ﻩﻩﻩ延时***********************************************************************/voiddelay(uintz){ﻩuintx,y;ﻩfor(x=z;x>0;x-—)ﻩﻩfor(y=110;y>0;y--);}/*********************************************************************ﻩ按键控制***********************************************************************/voidkeyscan(){ﻩif(key1==0)//清零并重新开始计时{ﻩtemp=0;ﻩTR0=1;ﻩ}ﻩif(key2==0)//暂停计时ﻩ{TR0=0;}if(key3==0)//继续计时{ﻩTR0=1;}}/*********************************************************************显示***********************************************************************/voiddisplay(uintshi,uintge){smg_q=0;P0=table[qian];ﻩﻩdelay(1);ﻩﻩsmg_q=1;ﻩP0=0xff;ﻩﻩsmg_b=0;ﻩP0=table1[bai];ﻩﻩdelay(1);smg_b=1;P0=0xff;ﻩﻩsmg_s=0;ﻩP0=table[shi];ﻩdelay(1);ﻩsmg_s=1;ﻩP0=0xff;ﻩsmg_g=0;ﻩﻩP0=table[ge];delay(1);ﻩsmg_g=1;P0=0xff;}/***********************