版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数字电子钟课程设计重庆机电职业技术学院课程设计说明书设计名称: 单片机原理与应用课程设计 题 目: 数字电子钟课程设计 学生姓名: 专 业: 09电气自动化技术 班 级: 091001 学 号: 指导教师: 日 期: 2011 年 6 月 20 日重庆机电职业技术学院课程设计任务书 电气自动化技术 专 业 2009 年级 一 班一、设计题目数字电子时钟设计二、主要内容1、利用cpu的定时器定时,设计一个电子时钟,使七段数码管输出记时值,格式如下:xx xx xx 由左向右分别为:时、分、秒2、利用蜂鸣器实现整点报时功能3、利用an1an4实现时,分的分别加减。三、具体要求1、硬件电路实验连线
2、板上已经接好,无需另外接线。本课程设计中要把跳线jp1(板子右上角,led灯正上方)跳到dig上,j23(在黄色继电器右上方)接到右端。本课程设计中要把跳线j9(紧贴51插座右方,蜂鸣器下方,rst复位键上方)跳到右端本课程设计要把跳线j6跳到an端,an1(p0.0) an4(p0.4),j6在51插座右下方,44键盘左上方。2、课程设计说明 与定时器有关的寄存器有工作方式寄存器tmod和控制寄存器tcon。tmod用于设置定时器计数器的工作方式0-3,并确定用于定时还是用于计数。tcon主要功能是为定时器在溢出时设定标志位,并控制定时器的运行或停止等。本课程设计中用定时器t0产生1秒钟基本
3、时间单位,本系统fosc=11.0592mhz,当定时器t0工作在方式1(16位)时,最大定时时间为: 216* 0.9216s= 60397.9776s再利用软件记数,当t0中断17次时,所用时间为60397.9776*17=1026765.6192s1s因此在t0中断处理程序中,要判断中断次数是否到17次,若不到17次,则只使中断次数加1,然后返回,若到了17次,则使电子秒表记时值加1(十进制),请参考硬件实验四有关内容。 电路中共阴极数码管的段码a、b、c、d、e、f、g、dp分别与单片机的p20 p27依次相连,控制数码管中显示的字型;6个数码管的位选通信号由6个非门控制,分别接到单片
4、机的p10 p15端口上。程序中通过p10 p15输出高低电平控制数码管的显示和关闭,高电平时对应数码管显示,显示内容由p20 p27输出的段码控制。要将实时时钟值送到6个共阴极数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将(时、分、秒)3个记时值按个位和十位拆开成6个数字,然后查(09)段码表,再将段码分别送到显示缓冲区(片内数据存储30h35h设定为显示缓冲区, 用于存放段码)中去,最调用显示子程序送到6个共阴极数码管中显示。 蜂鸣器由单片机的p0.7口控制:当p0.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当p0.7输出低电平时,三极管导通,有电流流
5、过线圈,蜂鸣器发出声音。 使用独立式按键an1(p0.0)an4(p0.3)时要注意采用软件消抖动的方法,一般采用软件延时(10ms)的方法,通过p0.0p0.4的变化控制时,分的分别加减(手动调整时间)。3、实验仪器和设备:pc机、wave软件、proteus软件、51超级板等。4、参考资料见附件四、进度安排第1天:查阅资料,绘制硬件电路原理图;第2天:编写显示子程序; 第3天:编写主程序和t0中断子程序第4天:完成硬件仿真调试第5天:实现课程设计题目要求,完成课程设计五、成绩评定 指导教师 签名 日期 年 月 日系主任 审核 日期 年 月 日 目 录1、 设计任务分析 12、 总体方案设计
6、 1三、数字电子钟硬件方案的设计 13. 1时钟电路的设计 13. 2复位电路的设计 23. 3按键电路的设计 2 3. 4蜂鸣报时电路的计 2 3. 5显示电路的设计 34、 数字电子钟软件件方案的设计34、1软件内容34、2按键程序设计44、3显示程序设计44、4蜂鸣报时程序设计5五、数字电子钟的系统调试5六、设计总结及心得5 参考文献 5 附件一 6 附件二 6 xiv 一、设计任务分析1、本课题主要的目的是本课题主要的目的是为了通过亲自的实践,深入的了解单片机程序设计的方法,提高同学的思维和创新能力,让同学在做的过程中进一步掌握理论知识。在实践中运用理论知识,同时提高我们的动手能力。
7、1、通过本次课程设计加深对单片机课程的全面认识复习、了解和掌握。 2、掌握定时器、外部中断的设置和编程原理。 3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4、学会画单片机程序设计流程图。5、能够熟练的用proteus或者multisim仿真软件的使用。2、本课题的内容分析1、利用cpu的定时器定时,设计一个电子时钟,使七段数码管输出记时值,格式如下:xx xx xx 由左向右分别为:时、分、秒2、利用蜂鸣器实现整点报时功能3、利用an1an4实现时,分的分别加减。二、总体方案设计 本次设计时钟电路,使用了at89c51单片机芯片控制电路,单片机控制电路简单且省去了很多
8、复杂的线路,使得电路简明易懂, 使用键盘上的按键来调整时钟的时、分加减,用一蜂鸣器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,这样通过五个模块:按键电路、复位电路、时钟电路、蜂鸣电路、显示电路即可满足设计要求。系统框图如下: 软件程序包含:中断程序、定时程序、查表程序、显示程序、判断程序、 计数程序、延时程序等。三、数字电子钟硬件方案的设计31时钟电路的设计 时钟是单片机的心脏,单片机个功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍的工作。因此,时钟频率直接影响到单片机的运行速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一
9、种为外部时钟方式。本次设计用的是内部时钟方式。电路图如下: 单片机内部有一个用于构成振荡器的高增益反向放大器,该反向放大器的输入端为芯片引脚xtal1,输出端为引脚xtal2 。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器。32复位电路的设计 单片机的复位电路分为上电复位和手动复位,本次设计采用的是上电复位。上电复位:上电复位电路是一种简单的复位电路,只要在rst复位引脚接一个电容到vcc,接一个电阻到地就可以了。上电复位是指在给系统上电时,复位电路通过电容加到rst引脚一个短暂的高电平信号,这个信号随着vcc对电容的充电过程而回落,所以rst引脚复位的高电平维持时间取决于
10、电容的充电时间。为了保证系统安全可靠的复位,rst引脚的高电平必须维持足够长的时间。电路图如下: 33按键调时电路的设计 按键的开关状态通过一定的电路转换为高、低电平状态。按键闭合过程在相应的i/o端口形成一个负脉冲。为了避免cpu多次处理按键的一次闭合,应采用措施消除抖动。本次设计采用的是独立式按键,直接用i/o口线构成单个按键电路,每个按键占用一条i/o口线,每个按键的工作状态不会产生相互影响。当需要计时暂停又或者计时的数值与实际的时间不同时,就可以通过按按键调节校准时间,本电路可以进行小时和分钟的加减极具人性化;按键与单片机连接的一端是由上拉电阻构成的高电平,然后通过按键,将另一端接到地
11、(低电平)当按下按键,按键将单片机的一端强制为低低电平,然后按键恢复,又恢复高电位,这就单片机接收到一个负脉冲。电路图如下: 34蜂鸣报时电路的设计 使用蜂鸣器来实现报时,蜂鸣器的原理就是电流通过电磁线圈,使电磁线圈产生磁场来驱动振动膜发声。 该电路有p0.7口外接20欧,2.2k电阻,三极管以及蜂鸣器组成。当p0.7输出高电平时,三极管截止,没有电流流过线圈,蜂鸣器不发声;当p0.7输出低电平时,三极管导通,有电流流过线圈,蜂鸣器发出声音。电路图如下: 3.5显示电路设计 本次设计选用的是六位数码管的动态显示驱动。通过单片机对数码管位选通com端电路的控制,只要将需要显示的数码管的选通控制打
12、开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的com端,是各个数码管轮流受控显示,这就是动态驱动。动态显示可以大幅度地降低硬件成本和电源的功耗。动态显示方式设计上如果处理不当,易造成亮度低,闪烁问题。因此合理的设计既要保护驱动电路易实现,又要保证显示后的数据稳定,无闪烁。 电路中共阴极数码管的段码a、b、c、d、e、f、g、dp分别与单片机的p20 p27依次相连,控制数码管中显示的字型;6个数码管的位选通信号由6个非门控制,分别接到单片机的p10p15端口上。程序中通过p10p15输出高低电平控制数码管的显示和关闭,高电平时对应数码管显示,显示内容由p20 p2
13、7输出的段码控制。要将实时时钟值送到6个共阴极数码管中显示,这可通过调用编写的显示子程序来实现,实现过程是:先将(时、分、秒)3个记时值按个位和十位拆开成6个数字,然后查(09)段码表,再将段码分别送到显示缓冲区(片内数据存储30h35h设定为显示缓冲区, 用于存放段码)中去,最调用显示子程序送到6个共阴极数码管中显示。部分电路图如下: 四、数字电子钟的软件设计方案4、1软件程序内容本设计的软件程序包括主程序、定时中断程序、蜂鸣报时程序、时钟显示子程序、延时子程序等。另外,由于电路中有四个按键,用来调整时、分的加减。下图是总程序流程图 总程序流程图4、2按键中断程 序(含定时)中断定时用来判断
14、按键是否按下,然后做出反应调时还是调分。具体首先判断是否按下,然后再定时,开定时器。作出相应输出,最后中断返回。按键处理是可以调试,如果检测到分按键的加按下,分就加1,如果检测到时按键的加按下,时就加1。4、3 显示程序设计显示程序在程序中期着非常重要的作用,它是数码管能否正确显示的保证,此程序首先是初始化,赋值为零点。然后还有建立存储单元将要显示的数值放入其中,再将这些数分出来,最后送入与数码管连接的口。4、4整点报时程序设计每到了整点就让蜂鸣器响,此程序是先判断是否是整点,如果到了整点,则判断是,则执行相应的命令。部分程序如下:baoshi: cjne r4,#1,tiaoshi clr
15、baojing ;开启蜂鸣器 mov a,miao1 cjne a,#2,tiaoshi ;报时2秒 setb baojing ;关闭蜂鸣器 mov r4,#05、 数字电子钟的系统调试软件调试的调试一般可以重点放在分模块调试上,统调试最后一个环节。软件调试可以采取离线调试和在线调试两种方式。前者不需要硬件仿真器,可借助于软件仿真器即可;后者一般需要仿真系统的支持。本次设计中,选用keil软件来调试程序通过的单步或跟踪调试,使程序逐渐满足要求。仿真部分采用protus7.5软件,打开protus7.5软件后,在元件中找到要用的所有元件,然后进行原理图的绘制;绘制好以后在选择keil中已经编译好
16、的*.hex文件,选择运行,观察结果,根据显示的结果和课题的要求在修改程序,在运行检查,直到满足要求为止。6、 设计总结和心得通过一周的实训,才深深感到自己单片机知识的匮乏,有一种书到用时方恨少的感觉。虽然在研究室比起其他同学先接触单片机,但是也只是皮毛。开始接触的时候觉得好耍,可能是对单片机的了解不多,才会产生相对不难的错误认识。现在用它来设计自己的电路,才知道知识的欠缺。也许对某些同学来说已经是轻车熟路了,可是对于初学硬件设计的同学来说,相对在选择的思路上走的弯路多些,也许我们到最后可能没有终点,但这对我们是一笔难能可贵的财富,因为我们在曲折中学到的不仅仅是书本上的知识,更多的是我们与硬件
17、设计比较好的同学交流之间的思考。在别人的原有的程序设计上添加自己的成分,并不是一件易事,我们要对原有电路十分了解。题目要求的严格性才出现了比较困难的局面,不的不像他人和老师请教。一周的实习虽然出现了不少问题,感觉到自己不论是做电路,还是调试程序都能在犯错后学到不少知识,这与老师的谆谆教诲分不开的。参考文献1 单片机原理及应用教材及单片机实验教程2 keil软件、protus7.5软件、亿图软件的使用说明3 7404非门资料、学习电路图的方法与技巧附件一 硬件原理图附件二 源程序miao1 data 30h miao2 data 31hfen1 data 32hfen2 data 33hshi1
18、 data 34hshi2 data 35hshuju_0 data 36hxian_zhi equ p2baojing equ p0.7xian_kai equ p1 k1 bit p0.0k2 bit p0.1k3 bit p0.2k4 bit p0.3org 0000hjmp mainorg 000bhjmp dingshimain: mov p1,#0 setb baojing mov r2,#0 ;r2决定是调时 还是调分 mov r3,#0 ;r3决定k1是否按下 mov r4,#0 ;r4用于报时控制 mov r5,#0 ;r5为定时器17次判断 mov dptr,#tab mo
19、v miao1,#0 ;上电显示00:00:00 mov miao2,#0 mov fen1,#0 mov fen2,#0 mov shi1,#0 mov shi2,#0 mov tmod,#01h ;16位定时 mov tl0,#3ch mov th0,#2ch mov ie,#82h setb tr0 ;开定时器kaitou: mov a,#1 ;显示程序 mov shuju_0,a mov r0,#35h xian_1: mov a,r0 movc a,a+dptr mov r1,shuju_0 cjne r1,#02h,xian_2 orl a,#80h xian_2: cjne r1
20、,#08h,xian_3 orl a,#80h xian_3: mov xian_zhi,a mov xian_kai,shuju_0 call delay mov xian_kai,#0 mov a,shuju_0 rl a mov shuju_0,a dec r0 cjne a,#40h,xian_1 baoshi: cjne r4,#1,tiaoshi clr baojing ;开启蜂鸣器 mov a,miao1 cjne a,#2,tiaoshi ;报时2秒 setb baojing ;关闭蜂鸣器 mov r4,#0tiaoshi: cjne r3,#0,tiao_1 ;r3为1的话就
21、不检查 k1 jb k1,ll ;判断是否按下 k1 call delay call delay jb k1,ll jmp qq ll:jmp kaitou qq: jnb k1,qq;判断是否抬起 call delay call delay jnb k1,qq mov r3,#1 tiao_1: jb k2,tiao_2 ;判断是否按下 k2 call delay call delay jb k2,tiao_2 yy: jnb k2,yy ;判断是否抬起 call delay call delay jnb k2,yy mov r3,#1 mov a,r2 cpl a mov r2,a tia
22、o_2: cjne r2,#0,ww ;r2决定是调时 还是调分 jmp xx ww: jmp shi_tiao xx: call xian_fen ;分位调节 jb k3,fen_2;判断是否加1 call delay call delay jb k3,fen_2 ff: jnb k3,ff ;判断是否抬起 call delay call delay jnb k3,ff fen_1: mov a,fen1 inc a cjne a,#10,fen_1_1 mov fen1,#0 mov a,fen2 inc a cjne a,#6,fen_1_2 mov fen2,#0 jmp jieshu
23、 fen_1_1: mov fen1,a jmp jieshu fen_1_2: mov fen2,a jmp jieshu fen_2: ;判断是否减1 jb k4,kk call delay call delay jb k4,kk jmp ee kk: jmp jieshu ee: jnb k4,ee;判断是否抬起 call delay call delay jnb k4,ee mov a,fen1 dec a cjne a,#0ffh,fen_2_1 mov fen1,#9 mov a,fen2 dec a cjne a,#0ffh,fen_2_2 mov fen2,#5 jmp jie
24、shu fen_2_1: mov fen1,a jmp jieshu fen_2_2: mov fen2,a jmp jieshu shi_tiao: ;时位调节 call xian_shi jb k3,shi_jian ;判断是否加1 call delay call delay jb k3,shi_jian gg: jnb k3,gg ;判断是否抬起 call delay call delay jnb k3,gg mov a,shi2 cjne a,#2,shi_1 ;shi_1表十位不是2的数处理 mov a,shi1 inc a cjne a,#4,shi_0 ;shi_0表没加到5 m
25、ov shi1,#0 mov shi2,#0 jmp jieshushi_0: mov shi1,a jmp jieshushi_1: mov a,shi1 inc a cjne a,#10,shi_1_1 ;shi_1_1是表个位没加到10的 mov shi1,#0 mov a,shi2 inc a mov shi2,a jmp jieshushi_1_1: mov shi1,a jmp jieshushi_jian: jb k4,jieshu;判断是否减1 call delay call delay jb k4,jieshu dd: jnb k4,dd ;判断是否抬起 call delay
26、 call delay jnb k4,dd mov a,shi1 dec a cjne a,#0ffh,shijian_1 mov shi1,#9 mov a,shi2 dec a cjne a,#0ffh,shijian_0 mov shi1,#3 mov shi2,#2 jmp jieshu shijian_0: mov shi2,a jmp jieshu shijian_1: mov shi1,ajieshu:;调时结束判断 jb k1,nn ;判断是否按下 k1 call delay call delay jb k1,nn jmp tt nn: jmp tiaoshi tt: jnb k1,tt ;判断是否抬起 call delay call delay jnb k1,tt mov r5,#0 mov r3,#0 mov r2,#0 jmp ka
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私人转让承包房屋合同范本
- 修水县选调部分县直机关下属事业单位工作人员笔试真题2023
- 镇江机械工程监理合同范本
- 整木合同范本
- 2024年度房屋租赁合同:某企业租赁北京某写字楼合同
- 2023年河南省考省直单位(河南省委党史和地方史志研究室)笔试真题
- 2023年甘肃省兰州实验小学招聘部属师范大学公费师范生笔试真题
- 2024年度农产品批发市场物业管理合同
- 出口家具合同范本
- 二零二四年国际会议中心标识牌制作合同
- 门诊突发事件处理预案与流程
- VMI库存管理的课件资料
- 2023年X省中小河流治理工程《堤防工程监理工作报告》范本
- 二次函数与一元二次方程、不等式大单元教学设计方案
- (完整版)小学羽毛球教案
- 施工组织设计(方案)内审表
- 格尔木市夏日哈木HS26号异常区铜镍矿(露天开采)采矿权出让收益评估报告
- GB 2758-2012食品安全国家标准发酵酒及其配制酒
- 医务人员服务礼仪1-课件
- 风湿免疫科常见疾病诊疗常规
- 高中数学《基于问题链的数学教学探索》课件
评论
0/150
提交评论