




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、邵阳学院毕业设计(论文)衡水职业技术学院机电工程系课程设计报告书课 题 名 称 学 生 姓 名 系、年级专业 指 导 教 师 2011年 6 月 24 日2摘 要本电子钟采用stc89c52单片机为核心,使用12mhz 晶振与单片机stc89c52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段led数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键s1、s2、s3和s4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、精度、稳定等优
2、点。整个过程就是先设计和焊接好硬件电路,再通过汇编语言编写应用程序来实现我们需要的功能,这期间,进行的软件仿真和调试是本设计的重点和难点。 关键字:电子钟,stc89c52,硬件设计,软件设计16一、方案比较1.设计课题任务学生在教师指导下,综合运用所学知识完成基于51单片机的电子钟的设计。要求格式为:xx xx xx,由左向右分别为:时、分、秒。2.功能要求说明学生应通过课程设计巩固和加深扩大所学的理论知识,掌握单片机应用系统的硬件、软件及其接口的设计和调试方法,并根据调试结果,写出设计报告。设计报告应包括任务书、器件选型及设计思路、软硬件设计过程说明、调试结果总结及分析等内容,并附电路原理
3、图及程序清单。3.设计课题总体方案介绍及工作原理说明本电子钟主要由单片机、4*1独立键盘、显示接口电路和复位电路构成,设计课题的总体方案如图1.1所示: 键盘4*1复位电路晶振电路蜂鸣器stc89c52 单片机数码管驱动74ls245数码管470欧限流电阻二位一体led数码显示图1.1 总体设计方案图本电子钟的所有的软件、参数均存放在stc89c52的flash rom和内部ram中,减少了芯片的使用数量简化了整体电路也降低了整机的工作电流。由于stc89c52芯片内部flash rom有8kb,ram有256个字节,故软件下载编译时有足够的存储空间。键盘采用动态扫描方式。利用单片机定时器及计
4、数器产生定时效果通过编程形成数字钟效果,再利用数码管动态扫描显示单片机内部处理的数据,同时通过端口读入当前外部控制状态来改变程序的不同状态,实现不同功能。 二、硬件设计1.设计课题硬件系统各模块功能简要介绍本设计的硬件系统主要采用以下基本模块来实现,单片机最小系统模块,输入模块、输出模块、电源模块。(1).单片机最小系统模块:包括低功耗、高性能cmos8位微控制器stc89c52;复位电路;晶振电路。本本模块stc89c52系统控制核心,单片机系统复位由复位电路完成,单片机内部有一个高增益、反相放大器,其输入端为芯片引脚xtal1,其输出端位位引脚xtal2。通过这两个引脚在芯片外并接石英晶体
5、振荡器和两只电容。这样就构成一个稳定的自激振荡器。 (2).输入模块:本模块共用到了5个按键,1个电源开关,一个复位键,单片机运行期间,利用按键完成复位操作。3个按键独立式键盘,s1键控制电子钟的启动状态,s2键为加1键,s3键为减1键。且s1、s2、s3任一键都独自连一个i/o(p1.0、p1.1、p1.2)口线,说明它们可以独立实现相应的电子钟功能。(3).输出模块:本次设计显示为8位,采用四个二位一体数码管(共阳极)作为显示窗口,既可以节约成本又能简化电路。数码管驱动为74ls245芯片。(4).电源模块:现在市面上销售的编程器有很多都是由pc机的usb口直接供电为了降低本设计的成本及节
6、省设计时间,没有另外设计编程器,而直接购买了市场上的usb供电及下载器。2.设计课题电路原理图、元器件布局图3.设计课题元器件清单设计课题元器件清单如表2.1所示。表2.1 设计所用元器件清单名称数量参数电阻5个1k共阳数码管4个2位一体电阻4个4.7kisp下载口插座1个普通插座1个40pin电阻8个470电阻5个200按键5个插针1排40pin锁紧插座1个40pin驱动一套74ls245usb供电接口及供电线一套晶振及其插座一套12mhz电容2个30pf极性电容1个22f排阻1个10k芯片1块stc89c52发光二极管1个六角开关1个电容 各1个470f、104p铜柱 (带螺母)4个三、软
7、件设计1.设计课题使用单片机资源的情况设计课题使用单片机资源的情况如下:p0口输出数码管段选信号,p3口输出数码管位选信号;晶振11.0592m;调整选择键set_key:p1.0;通过选择键选择调整位,选中位闪烁;增加键add_key:p1.1;按一次使选中位加1;减少键dec_key:p1.2;按一次使选中位减1;p2.1为蜂鸣器发声报时;50h-5fh;16个寄存器单元作为显示单元; 50h 用于控制秒基准时钟源的产生;51h 清零秒寄存器;52h 清零分寄存器;53h 清零时寄存器;5fh 用于秒个位;5eh 用于秒十位;5dh 用于分个位;5ch 用于分十位;5bh 用于时个位;5a
8、h 用于时十位;54h 用于控制调时闪烁;堆栈栈底:70h。2.设计课题软件系统个模块功能简要介绍 本设计的软件系统主要采用以下基本模块来实现,主程序、中断服务程序、键盘输入程序模块、数码管及其驱动模块和延时模块。主程序:主要是用于对输入信号的处理、输出信号的控制和对各个功能程序模块的运用及其控制。中断服务程序:主要是用于电子钟的准确运行、数据输入过程中的闪烁。键盘输入程序模块:主要是用于确定按键并得到特定的键码值。数码管及其驱动模块:主要是用于驱动数码管及利用数码管显示时间。延时模块:程序中有两种延时子程序,一种是短延时用于判键按下等,一种是长延时。3.设计课题软件系统程序流程框图系统软件采
9、用汇编语言按模块化方式进行设计,然后通过keil软件开发平台将程序转变成十六进制程序语言,接着使用proteous 进行仿真,读出显示数据。主程序流程框图如3.1所示;加1子程序如3.2所示;中断服务程序程序如3.3所示;键盘扫描子程序框图如3.4所示;显示子程序框图如3.5所示; 图3.1 主程序流程框图图3.2 加1子程序流程框图图3.3 中断子程序图3.4 键盘扫描子程序 图3.5 显示子程序4.设计课题软件系统程序清单程序入口;- org 0000h ;程序入口地址 ljmp start org 000bh ;定时器0中断入口地址 ljmp timet0org 1000h;-;显p.程
10、序;功能:可以在8个数码闪烁移位进行屏保;-start: mov r6, #2 ;闪烁次数mov a, #01h ;位选tt:mov p3, amov p0, #0ch ;段码p.lcall delaymov p3, #00hdjnz r6, ttlcall delaylcall delay1rr ajb p1.0, tt ;键是否按下,没按下则转移lcall delay ;延时去抖jnb p1.0, kai ;再次判断键是否按下kai:setb p1.0clr a ;状态恢复mov p0, #0ffhlcall delay1setb 48h ;用于调时闪烁标志setb 47h ;用于产生脉冲
11、用于调时快进的脉冲mov r1, #0 ;键功能标志:0计时、1调时、2调分、3调秒;-;清16位寄存器及初始化;50h 用于控制秒基准时钟源的产生;51h 清零秒寄存器;52h 清零分寄存器;53h 清零时寄存器;5fh 用于秒个位;5eh 用于秒十位;5dh 用于分个位;5ch 用于分十位;5bh 用于时个位;5ah 用于时十位;54h 用于控制调时闪烁;-mov r0, #50h ;初始化mov r6, #10hclearjcq:mov r0, #00h ;清寄存器inc r0djnz r6, clearjcqmov ip, #02hsetb easetb et0mov tmod, #0
12、1h ;设定定时器0工作方式1mov th0, #3chmov tl0, #0b0h ;赋定时初值,定时50mssetb tr0 ;启动定时器0mov sp, #70h ;堆栈;-;主程序 ;- main:lcall displaylcall key_scanjz mainlcall set_keyjb 46h, main ;如果已进行调时快进,则不再执行下面的调整lcall add_key ;调用增加键处理子程序,加一lcall dec_key ;调用减少键处理子程序,减一ljmp main ;重新循环;-; 显示处理程序;-display:mov a, 51hanl a, #0fhmov
13、5fh, a ;转换出秒个位,存入5fhmov a, 51hanl a, #0f0hswap amov 5eh, a ;转换出秒十位,存入5ehjb 46h, min ;如果调时快进,则跳过闪烁处理程序cjne r1, #3,min ;如果r1为3,闪烁秒位待调整jb 48h, minmov 5fh, #0ah ;使该位为10,查表得到使该位不显示mov 5eh, #0ahmin:mov a, 52hanl a, #0fhmov 5dh, a ;转换出分个位,存入5dhmov a, 52hanl a, #0f0hswap amov 5ch, a ;转换出分十位,存入5chjb 46h, hou
14、rcjne r1, #2,hour ;如果r1为2,闪烁分位待调整jb 48h, hourmov 5dh, #0ahmov 5ch, #0ahhour: mov a, 53hanl a, #0fhmov 5bh, a ;转换出时个位,存入5bhmov a, 53hanl a, #0f0hswap amov 5ah, a ;转换出时十位,存入5ahjb 46h, dispcjne r1, #1,disp ;如果r1为1,闪烁时位待调整jb 48h, dispmov 5bh, #0ah ;使该位为10,查表得到使该位不显示mov 5ah, #0ah;-;数码管动态扫描显示;-disp:mov dp
15、tr, #tablemov a, 5fhmovc a, a+dptrmov p0, asetb p3.7lcall delayclr p3.7 ;显示秒个位mov a, 5ehmovc a, a+dptrmov p0, asetb p3.6lcall delayclr p3.6 ;显示秒十位mov a, #0bfhmov p0, asetb p3.5lcall delayclr p3.5 ;显示“-”mov a, 5dhmovc a, a+dptrmov p0, asetb p3.4lcall delayclr p3.4 ;显示分个位mov a, 5chmovc a, a+dptrmov p0
16、, asetb p3.3lcall delayclr p3.3 ;显示分十位mov a, #0bfhmov p0, asetb p3.2lcall delayclr p3.2 ;显示“-”mov a, 5bhmovc a, a+dptrmov p0, asetb p3.1lcall delayclr p3.1 ;显示时个位mov dptr, #table1 ;该位使用table1以消除时的十位置0mov a, 5ahmovc a, a+dptrmov p0, asetb p3.0lcall delayclr p3.0 ;显示时十位ret;-;定时器中断1s程序;-timet0:push acc
17、 ;保护现场push pswmov th0, #3chmov tl0, #0b0hcpl 47h ;产生脉冲用于调时快进inc 54hmov a, 54hcjne a, #10,add_time;产生0.5秒,用于调时闪烁cpl 48h ;取反调时闪烁标志位mov 54h, #00hadd_time:inc 50hmov a, 50hcjne a, #10,zdbacd;整点报时时蜂鸣器响延迟时间setb p2.1 ;关蜂鸣器zdbacd:cjne a, #20,reti1 ;产生1秒时钟mov 50h, #00h ;一秒钟时间到,清零50hmov a, 51hadd a, #01hda a
18、;十进制调整mov 51h,acjne a,#60h,reti1mov 51h,#00h ;一分钟到mov a,52hadd a,#01hda amov 52h,acjne a,#60h,reti1clr p2.1mov 52h,#00h ;一小时到,开蜂鸣器,清分显示mov a,53hadd a,#01hda amov 53h,acjne a,#24h,reti1mov 53h,#00h ;到24点,清零小时reti1:pop pswpop acc ;恢复现场reti ;中断返回;-;键盘扫描程序;r4设置为00h是为了在进入长按处理前加长延时,以区分长按与短按键;-key_scan:clr
19、 46h ;关闭调时快进标志mov p1,#0ffh ;将p1口设置成输入状态mov a,p1cpl aanl a, #07h ;1口低3位连接3个按键,只判断该3位jz exit_keylcall delay ;延时去抖动mov a, p1 ;重新判断cpl aanl a, #07hjz exit_keymov r5, amov r4, #00h ;用于控制调时快进速度loop: lcall display ;进入长按处理mov a, p1cpl aanl a, #07hjb 47h, loop1inc r4 ;调时快进间隔时间基准加1loop1: cjne r1, #03h,loop2 ;
20、如果调秒时长按,则不处理ljmp loop3loop2: cjne r4, #99h,loop3mov r4, #70h ;确认长按后,加快调时快进速度setb 46hlcall add_keylcall dec_keyloop3: jnz loop ;等待键释放mov a, r5 ;输出键值retexit_key:ret;-;延时子程序;- delay:mov r7,#200 djnz r7,$ retdelay1:mov r3,#50 mov tmod,#00h mov th1,#63h mov tl1,#18h setb tr1 lp1:jbc tf1,lp2 sjmp lp1 lp2:
21、mov th1,#63h mov tl1,#18h djnz r3,lp1 ret ;-;选择键处理子程序;-set_key:cjne r5,#01h,exit ;选择键键值inc r1 ;调整选择功能标志加一cjne r1,#4,exitmov r1,#0 mov 54h,#00h ;调时闪烁清零 ret;-;加1子程序;-add_key:cjne r5,#02h,exit ;加1键值cjne r1,#01h,next1 ;选择键功能标志为1调时,否则跳出mov a,53hadd a,#01h da amov 53h,acjne a,#24h,exitmov 53h,#00h next1:c
22、jne r1,#02h,next2 ;选择键功能标志为2调分,否则跳出mov a,52hadd a,#01hda amov 52h,acjne a,#60h,exitmov 52h,#00hnext2:cjne r1,#03h,exit ;选择键功能标志为3调秒,否则跳出mov a,51hadd a,#01hdaamov 51h,acjne a,#60h,exitmov 51h,#00h ;如加1键按下直接清零秒ret;-;减1子程序;- dec_key:cjne r5,#04h,exit ;减1键键值 cjne r1,#01h,next3 ;选择键功能标志为1调时,否则跳出 mov a,53
23、h add a,#99h da a mov 53h,a cjnea,#99h,exit mov 53h,#23h next3:cjne r1,#02h,next4 ;选择键功能标志为2调分,否则跳出mov a,52hadd a,#99hda amov 52h,acjne a,#99h,exitmov 52h,#59h next4:cjne r1,#03h,exit ;选择键功能标志为3调秒,否则跳出 mov a,51hadd a,#99hda amov 51h,acjne a,#99h,exitmov 51h,#59h ret;-;返回子程序;- exit:ret;-;数码管字形编码表;- t
24、able:db 0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh ;0,1,2,3,4,5,6,7,8,9,不显示 table1:db 0ffh,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,0ffh ;小时编码;不显示,1,2,3,4,5,6,7,8,9,不显示end四、系统调试及结论1.设计课题的设计结论及使用说明本设计为基于单片机的电子钟的设计。刚开始,我们很多地方理不清头绪,无从下手,但通过认真研究设计课题,找书上网查资料买元件,确定基本设计方案,对所用芯片功能进行查找、调试,然后画电路图制pcb板、打孔、溶铜、焊接等,真的经历了许多困难,却积累了很多宝贵的经验,本设计用2个四位一体的共阳数码管做为显示器,它显示时间值;设计中有三个按键,其中s1为启动/选择调整位置,s2为加控制键 s3为减控制键,当整点时间到时,蜂鸣器报警。这样的结果与设计要求完全相符,本设计成功。完成了设计任务。2.设计课题的仿真结果在proteus is
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七彩课堂下册数学试卷
- 政府茶叶采摘活动方案策划(3篇)
- 五一饮料促销活动方案策划(3篇)
- 气泡焊接施工方案(3篇)
- 云南白酒酒窖施工方案(3篇)
- 隐蔽工程房屋施工方案(3篇)
- 心理电影剪辑活动策划方案(3篇)
- 基础安全施工方案(3篇)
- 住宅夹层施工方案(3篇)
- 老年骨质疏松症的护理
- 2025湖南湘潭湘乡市融媒体中心招聘事业单位工作人员10人笔试备考题库及答案解析
- 2025至2030中国婚庆行业发展趋势分析与未来投资战略咨询研究报告
- 2025年职业病诊断医师资格考试(职业性化学中毒)历年参考题库含答案详解(5卷)
- 2025年安徽高考生物试题及答案
- 2025年国际汉语教师资格考试(对外汉语教学理论)历年参考题库含答案详解(5套)
- 2025年高校机房管理试题及答案
- ESG基础知识培训课件
- 泌尿系统常见疾病科普讲座
- 2025湖南省全日制用工劳动合同书
- 2025年中国南海研究院招聘事业编制人员考试笔试试题
- 2025广西公需科目真题续集(附答案)
评论
0/150
提交评论