基于单片机的秒表设计

基于单片机的秒表设计

ID:6634518

大小:34.14 KB

页数:14页

时间:2018-01-20

基于单片机的秒表设计_第1页
基于单片机的秒表设计_第2页
基于单片机的秒表设计_第3页
基于单片机的秒表设计_第4页
基于单片机的秒表设计_第5页
资源描述:

《基于单片机的秒表设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、/*******************************************************************操作描述:*1.按Switch键可以启动或停止秒表走表,首次按会清零记录次数*2.秒表走表期间,按RecorRead按键可以记录当前时间(不影响秒表走表)*3.按Reset键,表值清零,按RecordRead键可以回读此前记录的对应次数与时间*4.按TimeMove进入秒表时间设置模式,连按可以移动光标到对应位(限秒以上),*只在该模式下按TimeUp键才可以累加数值,该模式下按Switch可以开始计时,

2、*按Reset可以退出,计时到设定值后声光提示*时间:2016-04-19********************************************************************//*******************************************************************硬件描述:*主芯片:stc89c51*显示器件:lcd1602*时间:2016-04-19*****************************************************

3、***************/#include#include#defineucharunsignedchar#defineuintunsignedint#defineDelayNOP(){_nop_();_nop_();_nop_();_nop_();}#definetimer0_DISABLE()TR0=0//关闭定时器0#definetimer0_ENABLE()TR0=1//开启定时器0bitLCD_Busy_Check();voidLCD_Initialize();voidLCD_Set

4、_POS(uchar);voidLCD_Write_Command(uchar);voidLCD_Write_Data(uchar);voidDisplay_String(uchar*str,ucharLineNo);voidLCD1602_Display();sbitKey_Switch=P1^0;//秒表启动与停止按键sbitKey_Reset=P1^1;//秒表复位清零按键sbitKey_RecordRead=P1^2;//记录时间与回读sbitKey_TimeMove=P1^3;//时间设置光标移动sbitKey_TimeUp=P

5、1^4;//时间设置增加sbitLCD_RS=P2^0;sbitLCD_RW=P2^1;sbitLCD_EN=P2^2;sbitBEEP_LED=P2^7;bitKeySwitch=0;bitTimeSetMode=0;bitTimeMode=0;ucharKeyRecord=0;//ucharKeyTimeNum=0;uintKeyTimeSet=0;uintonems=0;constucharcodemsg1[10][16]={"RecordMum0","RecordMum1","RecordMum2","RecordMum3","R

6、ecordMum4","RecordMum5","RecordMum6","RecordMum7","RecordMum8","RecordMum9",};constucharcodemsg2[16]={"TimerMode"};ucharTime_Buffer[]={0,0,0,0};ucharTimeSet_Buffer[]={0,0,0,0,};ucharLCD_Display_Buffer[]={"00:00:00:00"};//该数组有7个元素4个00+3个‘:’/*

7、

8、

9、

10、

11、

12、

13、

14、1hour__

15、

16、

17、1min__

18、

19、1s__

20、

21、10ms__数组排列与显示顺序相反*/ucharTime_Read[10][4]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,};/*毫秒延时函数*/voidDelayMS(uintms){uchart;while(ms--){for(t=0;t<120;t++);}}/*定时器中断服务程序1ms进入一次*/voidTime0()interrupt1using0{TH0=(65536-1000)/256;TL0=(6553

22、6-1000)%256;onems++;/*10ms累加一次*/if(onems==10){Time_Buffer[0]++;onems=0;}/*100*10ms=1s*/if(Time_B

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

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

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