单片机多功能秒表

单片机多功能秒表

ID:17626596

大小:98.00 KB

页数:7页

时间:2018-09-04

单片机多功能秒表_第1页
单片机多功能秒表_第2页
单片机多功能秒表_第3页
单片机多功能秒表_第4页
单片机多功能秒表_第5页
资源描述:

《单片机多功能秒表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、单片机综合实验报告题目:多功能数字时钟班级:姓名:学号:一、实验内容:设计一个单片机控制的秒表系统。利用单片机的定时器的原理,结合显示电路、LED数码管以及按键来设计计时器,使系统能够正确地进行加、减(倒)计时,数码管能够正确地显示时间。l目的要求1)两位LED显示,显示时间为00~99秒。2)每秒自动加1。3)一个开始按键、一个复位按键和一个暂停按钮。4)翻页按钮查看四个不同的计时值。5)添加倒计时初始值设置功能6)不同功能通过功能键Setup实现切换。二、实验电路及功能说明本实验以51单片机

2、为核心,应用其中断来定时,通过按键来控制时间和日期的调整,通过1602LCD来数字显示时钟,做成一个简易的数字时钟。本实验要求能定时,还要能设置闹铃,由于对C51程序代码的写法不是很熟,没能实现闹铃功能。所以,最后该实验能实现的功能为时间和日期的调整。其原理图如下图所示:三、实验程序流程图:主程序:主程序流程图子流程图(按键功能设置)四、实验结果分析经过proteus仿真可知:该方案可行,能够对时间进行精确的调整,也能对日期进行更正,基本上能实现上述功能。五、心得体会通过该试验我对51的了解更加

3、深入了一层,特别是对C51的写法更加了解,还对1602的基本操作有了一定的了解。同时,也发现C语言的重要性,以后要多加强对C语言的学习.六、程序清单#include#include//库函数头文件,代码中引用了_nop_()函数//定义控制信号端口sbitRS=P2^4;//P2.4sbitRW=P2^5;//P2.5sbitE=P2^6;//P2.6sbitset=P1^4;//设置键sbitadd1=P1^5;//加1键sbitsub1=P1^6;//

4、减1键sbitenter=P1^7;//确认键bitk=0,f=0;//k为0表示运行状态,k为1表示设置状态;f为0表示第一行显示,f为1表示第二行显示charsec,n,m;unsignedcharcount,key;unsignedcharlcdd[]="0123456789";/*声明调用函数*/voiddispd();//日期显示函数voiddispt();//时间显示函数unsignedcharkeys();//按键扫描函数voidlcd_w_cmd(unsignedcharcom)

5、;//写命令字函数voidlcd_w_dat(unsignedchardat);//写数据函数unsignedcharlcd_r_start();//读状态函数voidint1();//LCD初始化函数voiddelay(unsignedchart);//可控延时函数voiddelay1();//软件实现延时函数,5个机器周期/*主函数*/voidmain(){TMOD=0x01;//设置为定时器模式1TH0=(65536-50000)/256;//晶振6MHz,定时时间100msTL0=(65

6、536-50000)%256;IE=0x82;//开全局中断和定时中断TR0=1;//启动定时器sec=0;//秒count=0;//中断次数清0n=-3;//设置键按下次数,第一行日期m=-3;//设置键按下次数,第二行时间P0=0xff;//送全1到P0口int1();//初始化LCDdelay(255);while(1){key=keys();//读取按键switch(key){case0xe0://按下设置键{TR0=0;k=1;if(f==0){n=n+3;if(n==9){n=0;m

7、=0;f=1;}}else{m=m+3;if(m==12){m=0;n=0;f=0;}}if(f==0){lcd_w_cmd(0x0d);lcd_w_cmd(0x86+n);}else{lcd_w_cmd(0x0d);lcd_w_cmd(0xc4+m);}}break;case0x70://按下确认键{k=0;TR0=1;n=-3;m=-3;f=0;}break;case0xd0://按下加1键{if(k==1){if(f==0){(m==6){sec++;if(sec==100)sec=0;}

8、dispt();//调用第二行显示函数lcd_w_cmd(0x0d);//光标闪烁lcd_w_cmd(0xc4+m);//返回设置值显示地址}}}break;case0xb0://按下减1键{if(k==1){if(f==0){if(m==6){sec--;if(sec<0)sec=99;}dispt();//调用第二行显示函数lcd_w_cmd(0x0d);//光标闪烁lcd_w_cmd(0xc4+m);//返回设置值显示地址}}}break;}if(k==0){dispd();dispt()

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

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

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