单片机实训报告模板

单片机实训报告模板

ID:18695328

大小:374.50 KB

页数:10页

时间:2018-09-21

单片机实训报告模板_第1页
单片机实训报告模板_第2页
单片机实训报告模板_第3页
单片机实训报告模板_第4页
单片机实训报告模板_第5页
资源描述:

《单片机实训报告模板》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机实训设计报告《单片机实训》设计报告题目:可调电子时钟的设计学院:交通信息学院专业:电气自动化技术班级:电气091姓名:学号:(长号)指导老师:-10-单片机实训设计报告一、实验内容利用CPU的定时器和实验仪上提供的数码显示电路,设计一个可调电子时钟。显示格式如下:XXXXXX,由左向右分别为:时、分、秒。同时还可以通过键盘(开关)对电子时钟的时间进行加减,达到可调。二、实验内目的1、掌握定时器的使用和编程方法;2、掌握中断处理程序的编程方法;3、掌握数码显示电路的驱动程序编程方法;4、掌握键盘电路的程序编程方法;5、掌握模块子程

2、序的编程方法;6、掌握硬件的线路的设计及连线方法。三、实验说明设计定时器每50ms中断一次,在中断服务程序中,对中断次数进行计数,50ms计数20次,就是1秒,然后再对秒计数得到分的值,对分计数得到小时的值,分别将各值送到相应的段地址端口和位地址端口,通过数码管显示结果,达到电子时钟的效果。在电子时钟的基础上,程序增加了键盘程序,对电子时钟进行可调(对秒/分/时进行加/减,此功能的增加使电子时钟功能更强、更实用。四、硬件电路设计原理图图1总电路图-10-单片机实训设计报告图2键盘控制电路五、软件设计(一)程序设计框图开始置定时器模式及

3、常数开始设置初始常数启动定时器设置秒、分、时初值键盘扫描调用显示子程序设置定时器初值启动定时器初始化显示参数查表修正A值段码输出位选通置定时器模式及常数下一位选通延迟10MS关闭位选通-10-单片机实训设计报告开始关中断、保护现场秒单元内容加1到1分钟否?秒单元内容清零分单元内容加1分单元内容清零时单元内容加1时单元内容清零恢复现场开中断到1小时否?到24小时否?中断返回-10-单片机实训设计报告开始按键扫描P1.0P1.1P1.2P1.3P1.4P1.5秒加1分加1时加1秒减1分减1时减1显示(二)实验程序设计步骤1、用定时器编写延

4、迟子程序;2、编写学号显示子程序;3、编写从0~9秒用数码管显示子程序;4、据时分秒的要求,编写定时器0中断服务子程序;5、结合以上子程序,与主程序相组合成电子时钟程序;6、编写键盘控制加子程序;7、组合以上子程序,与主程序相组合成可调电子时钟程序;#include//程序定义typedefunsignedcharuchar;unsignedintnumber;voiddelay(unsignedchar);voiddisplay();voidkey();voidinit();ucharledsbuf[8];ucha

5、rledsbuf1[8];sbitp10=P1^0;sbitp11=P1^1;sbitp12=P1^2;sbitp13=P1^3;sbitp14=P1^4;-10-单片机实训设计报告sbitp15=P1^5;uchara[4];ucharb[4];voidchbcd();//计时器voidinit();//开始unsignedintnumber;voidtime()interrupt1{if(--number==0)//number=01秒钟到{number=4000;if((++a[3])==60){a[3]=0;if((++a[2

6、])==60){a[2]=0;if((++a[1])==24){a[1]=0;if((++b[3])==32){b[3]=01;if((++b[2])==12){b[2]=01;if(b[1]++==99){b[1]=0;b[0]++;}}}}}}}}//控制显示数字codeunsignedcharledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x40};voidmain(){-10-单片机实训设计报告

7、uchari;a[0]=00,a[1]=23,a[2]=59,a[3]=50;b[0]=20,b[1]=11,b[2]=03,b[3]=30;number=4000;init();chbcd();while(1){chbcd();display();key();}}//控制显示位voidchbcd(){uchari;for(i=0;i<4;i++){ledsbuf[i*2]=ledtab[a[i]/10];ledsbuf[i/2]=ledtab[a[0]=16];ledsbuf[i*2+1]=ledtab[a[i]%10];ledsb

8、uf1[i*2]=ledtab[b[i]/10];ledsbuf1[i*2+1]=ledtab[b[i]%10];}}voiddelay(charn){uchari;for(i=0;i

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

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

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