99秒表程序--基于单片机at89c51

99秒表程序--基于单片机at89c51

ID:39464088

大小:34.50 KB

页数:6页

时间:2019-07-03

99秒表程序--基于单片机at89c51_第1页
99秒表程序--基于单片机at89c51_第2页
99秒表程序--基于单片机at89c51_第3页
99秒表程序--基于单片机at89c51_第4页
99秒表程序--基于单片机at89c51_第5页
资源描述:

《99秒表程序--基于单片机at89c51》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/******99秒表*******/、/**---------------------------------最新文件信息---------------------------------------------------功能:99秒表作者:单位:时间:描述:晶振11.0952MHz;数码管采用共阴;**-------------------------------------------------------------------------------------------------*********************************************

2、*********************************/#include#defineuintunsignedint#defineucharunsignedcharucharcodetable_duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//数码管显示0~9;/******单片机接口***********/sbitkey=P3^5;//按键#defineduanmaP0//段码#defineweimaP2//位码/******全局变量************/ucharmiao=0

3、;//秒ucharflag=0;//秒中间变量ucharkeynum=0;//按键次数bitkey_flag=0;//按键标志/*****中断初始化**********/voidInitTimer0(){TMOD=0x01;//工作方式TH0=0x4C;//高8位TL0=0x00;//低8位EA=1;//总中断ET0=1;//允许定时器0中断TR0=0;//启动定时器0}/**********延时函数**********功能:延时若干ms入口参数:t出口参数:无*****************************/voiddelay_ms(uintt){uinta,b,c;for(

4、c=t;c>0;c--){for(b=102;b>0;b--)for(a=3;a>0;a--);}}/********秒显示函数***功能:实现秒的显示入口参数:无出口参数:无*****************************/voidmiao_display(){if(flag>=20){flag=0;//清零miao++;//秒累加if(miao>99)miao=0;//秒大于99清零}weima=0xfe;//选择第1位duanma=table_duanma[miao%10];delay_ms(1);//延时1msweima=0xfd;//选择第2位duanma=table

5、_duanma[miao/10];delay_ms(1);//延时1ms}/**********按键扫描及处理函数**********功能:实现按键输入及处理入口参数:无出口参数:无*****************************/voidscankey(){if((key==0)&&(key_flag==0))//判断是否有按键按键且按键标志是否为0{key_flag=1;//按键标志为1}if((key==1)&&(key_flag==1))//等待按键释放{key_flag=0;//按键标志清零keynum++;//按键次数累加if(keynum>3)keynum=1;/

6、/按键次数大于3置1switch(keynum){case1:TR0=1;//启动定时器0break;case2:TR0=0;//关闭定时器0break;case3:miao=0;//秒清零break;default:break;//不满足条件返回}}}/*******主函数**************功能:入口参数:无出口参数:无*****************************/voidmain(void){InitTimer0();//定时器初始化while(1){scankey();//按键扫描miao_display();//秒显示}}/**********定时器0中断

7、函数********功能:实现秒中间变量flag的累加入口参数:无出口参数:无*****************************/voidTimer0Interrupt(void)interrupt1{TH0=0x4C;//高8位TL0=0x00;//低8位flag++;//flag累加}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。