收藏 分销(赏)

数字电子时钟课程设计[1].doc

上传人:xrp****65 文档编号:7230224 上传时间:2024-12-28 格式:DOC 页数:20 大小:570.50KB 下载积分:10 金币
下载 相关 举报
数字电子时钟课程设计[1].doc_第1页
第1页 / 共20页
数字电子时钟课程设计[1].doc_第2页
第2页 / 共20页


点击查看更多>>
资源描述
课程设计(论文) 题 目 名 称 数字电子时钟 课 程 名 称 单片机原理及应用 学 生 姓 名 学 号 系 、专 业 电气工程系 电气自动化 指 导 2009年06 月29 日 邵阳学院课程设计(论文)任务书 年级专业 电气自动化 学生姓名 学 号 题目名称 数字电子时钟 设计时间 09年6月8日—7月1日 课程名称 单片原理及其接口技术 课程编号 121200105 设计地点 数字控制与PLC实验室 一、 课程设计(论文)目的 通过课程设计,使学生巩固和加深对单片机基本知识的理解,学生查询资料、方案设计、方案比较,以及单元电路设计计算环节,进一步提高学生综合运用所学知识的能力,提高分析理解解决实际问题的能力。锻炼分析、解决电子电路问题的实际本领,通过此综合训练,为以后毕业设计打下基础。 二、 已知技术参数和条件 1 .89c51单片机 2 .LED数码显示管 3 74LS373芯片 4 74LS21芯片 任务和要求 (1) 设计一个基于单片机的电子时钟,并且能够实现分秒的现实和调节。 (2) 设计出硬件电路 (3) 设计出软件编程方法,并写出源代码 (4) 用proteus进行仿真 (5) 用汇编用汇编语言编实现程序设计 (6) 利用查表,中断等方式实现目的 。 邵阳学院课程设计(论文)评阅表 学生姓名 学 号 074 系 电气工程系 专业班级 题目名称 数字电子时钟 课程名称 单片机原理及应用 一、学生自我总结 通过这次单片机课程设计,我能够很好地应用单片机理论知识,将其应用于实践,并且这是一次小组的合作,从中更好培养了小组合作的默契。 通过课程设计,让我加深了对单片机课程的理解,而且也巩固了数字电路有关知识的理解,特别是关于芯片的连线,以及proteus反真软件的使用,我觉得这是一次宝贵的经验。 学生签名: 2009年 06 月29日 二、指导教师评定 评分项目 综合成绩 权 重 单项成绩 指导教师评语: 指导教师(签名): 年 月 日 注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面; 2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。 摘要 单片计算机即单片微型计算机。由RAM ,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。 基于单片机课程的学习,本小组成员利用单片机实现时钟的显示,利用键盘和门电路控制时间的调整,充分利用单片机的资源和空间,较大限度的实现了功能,设计时主要应用了一个基于AT89C51单片机的电子时钟。并在数码管上显示相应的时间。并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。应用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。 关键词:AT89C51单片机 、 键盘控制 、 Proteus仿真 目录 摘要 1 方案选取…………………………………………………...5 1.1 总体方案介绍……………………………………………………6.. 1.2 多功能电子表计时方案………………………………………6 . 1.3 多功能电子表键盘显示方案………………………………….6 . 2 电路设计……………………………………………….….7 2.1 键盘的设计………………………………………………..…..7 2.2门电路的设计…………………………………………….…….7 2.3显示电路………………………………………………………..8 3 软件设计……………………………………………….…10 3.1 程序流程图…………………………………………………....10 3.2 汇编源程序……………………………………………………11 4 系统仿真…………………………………………………….…17 . 5 结束语…………………………………………………………..18 参考文献………………………………………………….….18 附录……………………………………………………………19 1 方案选取 1.1 总体方案介绍 本次设计电子钟系统功能简单,用单片机的最小系统就能得以实现。而单片机的最小系统设计中实际上最重要的就是对键盘/显示器接口电路的设计,由于系统功能不同所以要求就不同,接口设计也就不同。对一个键盘/显示器接口设计应从整个系统出发,综合考虑软、硬件特点。下面是本人在设计前对各种设计方案的考虑: 1.2 多功能电子表计时方案 方案一:采用实时时钟芯片 实时时钟芯片具备年、月、日、时、分、秒计时功能和多点定时功能,计时数据的更新每秒自动进行一次,不需程序干预。计算机可通过中断或查询方式读取计时数据进行显示,因此计时功能的实现无需占用CPU的时间,程序简单。此外,实时时钟芯片多数带有锂电池做后备电源,具备永不停止的计时功能;具有可编程方波输出功能,可用做实时测控系统的采样信号等;有的实时时钟芯片内部还带有非易失性RAM,可用来存放需长期保存但有时也需变更的数据。由于功能完善,精度高,软件程序设计相对简单,且计时不占用CPU时间,因此,在工业实时测控系统中多采用这一类专用芯片来实现实时时钟功能。 方案二: 软件控制。 利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时及秒表计时。该方案节省硬件成本,且能使设计者对单片机的指令系统能有更深入的了解,从而掌握单片机应用技术MCS-51汇编语言程序设计方法,因此,本系统设计采用此种软件控制方法来实现计时。而由于ATMEL公司的AT89S51单片机是低功耗的具有4KB在线可编程Flash存储器的单片机。它与通用80C51系列单片机的指令系和引脚兼容。片内的Flash可允许在线重新编程,也可使用通用非易失性存储器编程。它将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能价格比的微控制器。它的功能强大,而且也较容易购买,故本设计中所选的单片机为AT89S51单片机。 1.2 多功能电子表键盘显示方案 方案一: 8279扩展。 该方案方框图如图1.2.1所示,8279是一种可编程的键盘/显示接口专用芯片,它含有键盘输入和显示输出两种功能,键扫描程序和动态显示程序全由8279硬件自动完成,此种方案能以比较简单的硬件 电路和较少的软件开销实现单片机与键盘、LED显示器的接口。 方案二: 8155扩展,LED动态显示。 该方案方框图如图1.2.2所示,8155是一块可编程的接口芯片,与单片机的接口非常简单,它的键盘、显示共用一个接口电路,可节省I/O口。但动态扫描方式需占用CPU较多的时间,在单片机没有太多实时测控任务的情况下可以采用。 方案三: 串口扩展,LED静态显示。 该方案方框图如图1.2.3所示,独立式键盘配置灵活,软件结构简单,按键较多时不宜采用。静态显示占用口资源少,采用串口传输实现静态显示, LED数码管与单片机之间通过6个移位寄存器相连,显示亮度有保证,但此方案的硬件开销大,电路复杂,信息刷新速度慢,比较适用于并行口资源较少的场合。 方案四: 独立式按键,LED动态显示。 该方案方框图如图1.2.4所示,独立式按键直接与单片机I/O口相连构成键盘,每个按键不会相互影响,因本系统用到的按键比较少,采用独立式键盘不会浪费I/O口线,所以本系统采用独立式键盘。动态显示的亮度虽然不如静态显示,但其硬件电路较简单,可节省硬件成本,虽然动态扫描需占用CPU较多的时间,但本系统中的单片机没有很多实时测控任务,因此,本系统采用此种方案。 2 电路设计 2.1 键盘的设计 考虑到时间误差的存在以及调整时间的方便性,采用独立式键盘。 提高CPU的工作效率,采用中断工作方式 四个键盘接于P1口,用74ls21与门接于外部中断0,实现了调整时间的快速性,当四个键盘有中断发生,首先判断四个键哪个按下,向CPU发一个中断请求信号,然后调用相应的中断程序。参考电路如下: 键盘的工作过程可分为两步:第一步是CPU首先检测键盘上是否有按键被按下,第二步是识别哪一个减按下。检查键盘上有无键按下可采用查询工作方式、定时扫描工作方式和中断工作方式。 查询工作方式(例如用8155扩展I/O组成的行列式键盘): 键盘上有无键按下是有列线送出全扫描字,然后读入行线状态来识别的。其方法是PA口输出00H,即所有列线置成低电平,然后将行线电平状态读入累加器A中,如果有键按下,总会有一根行线拉置低电平,从而使行输入状态不全为“1”。键盘中哪一个键按下是有列线逐列置低电平后,检查行输入状态,称为逐列扫描。方法是:从PC口读入行线状态,如果全为“1”,则所按下之键不在此列,如果不全为“1”,则在此列,并且是与“0”电平行线相交的交点上的那个键。 2.2 门电路的设计 为了达到调整时间的快速性与准确性,采用中断方式,四个键盘采用与门芯片74LS21。当四个键盘有一个按下后就会向CPU申请中断。 2.3 显示电路设计 显示采用led动态显示方式,共阴极端由P2口线控制,分为段选线和位选线,利用人的视觉停留达到显示的效果,段选线控制字符选择,位选线控制显示位的亮或暗。从段选线I/O口上按位次分别送显示字符的段选码,在位选控制口也按相应的次序分别选通相应的显示位(共阴极送低电平,共阳极送高电平),选通位就显示相应字符,并保持几毫秒的延时,为选通不显示字符(保持熄灭)。这样,对各位显示就是一个循环过程。从计算机工作来看,在一个瞬间只有一位显示字符,而其他位都是熄灭的。但由于人的视觉停留,这种动态变化是察觉不到的。从效果上看,各位显示器能连续而稳定地显示不同的字符。 3 软件设计 3.1 程序流程图 开始 有键按下否? 调用延时子程序 调用延时子程序 有键按下否?否? 判断闭合键,键码入栈保护 闭合键释放否? 键码 A 返回 3.2 汇编源程序 ORG 0000H AJMP START ORG 0003H LJMP ST1 ORG 000BH AJMP TT0 ORG 0030H START: MOV 30H,#00H ;秒个位内存单元 MOV 31H,#00H ;秒十位内存单元 MOV 32H,#00H ;分个位内存单元 MOV 33H,#00H ;分十位内存单元 MOV 34H,#00H ;时个位内存单元 MOV 35H,#00H ;时十位内存单元 MOV TMOD,#01H ;定时器T0,工作方式1, MOV TH0,#3CH ;定时50MS MOV TL0,#0B0H ; MOV R0,#30H ;指针指向显示单元 MOV R5,#0FEH ;选中秒个位 MOV R1,#20 ; MOV 36H,#00H ;时位键盘判断时用 MOV R3,#6 ;秒十位判断时用 MOV R2, #6 ;分十位判断时用 MOV R4,#10 ; MOV 40H,#10 MOV IE, #81H ; SETB EA ;开中断 SETB ET0 ;开T0中断 SETB TR0 ;记时开始 MAIN: LCALL DIS LJMP MAIN ;#################显示子程序################### DIS: MOV A,R5 ;先位码 MOV DPTR,#7FFFH ;位码选择p2.7 MOVX @DPTR,A MOV A,@R0 ;再段码 MOV DPTR,#TAB ;表地址 MOVC A,@A+DPTR ;查表 MOV DPTR,#0BFFFH ;段码选择p2.6 ;###############显示小数点################### CJNE R0,#32H,GO111 ;小数点选择(R0)=/=32H转移 ORL A,#80H GO111: CJNE R0,#34H,MIN ORL A,#80H MIN: MOVX @DPTR,A ;送出去显示 LCALL DELAY ;1MS延时 LCALL DELAY LCALL DELAY INC R0 ;修改指针指向下一显示单元 MOV A,R5 ;也可写为XCH A,R5 JNB ACC.5,LH ;判断显示完否? RL A ;也可写为XCH R5,A MOV R5,A AJMP ENR ;返回循环显示 LH: MOV R0,#30H ;重心定义显示指针 MOV R5,#0FEH ;重设位码,形成循环ACC.0-ACC.3 ENR: RET ;###############定时中断########################### TT0: MOV TH0,#3CH ; MOV TL0,#0B0H ; DJNZ R1,FANHUI ;判断1秒到否?未到跳转 MOV R1,#20 ; INC 30H ;秒个位加一 DJNZ R4,FANHUI ;判断10秒到否?未到跳转 MOV R4,#10 ; MOV 30H,#00H ; INC 31H ; DJNZ R3,FANHUI ; MOV R3,#6 ; MOV 31H,#00H ; INC 32H DJNZ 40H,FANHUI ; MOV 40H,#10 MOV 32H,#00H INC 33H DJNZ R2,FANHUI MOV R2,#6 MOV 33H,#00H INC 36H ;时位判断时用 MOV A,36H CJNE A,#24,JUMP MOV 36H,#00H JUMP: MOV A,36H MOV B,#10 DIV AB MOV 34H,B MOV 35H,A FANHUI: RETI ;*********键盘处理程序*********** ST1: CLR EX0 ;键盘1判断时用 PUSH B PUSH ACC JB P1.0,ST2 LCALL DELAY111 JNB P1.0,$ LCALL DELAY111 DJNZ R3,GO MOV R3,#6 GO: INC 31H MOV A,31H CJNE A,#6,$+3 JNB P1.0,$ JC ST2 MOV 31H,#00H MOV A,31H ST2: JB P1.1,ST3 ;键盘2判断时用 LCALL DELAY111 JNB P1.1,$ LCALL DELAY111 DJNZ 40H,GO1 MOV 40H,#10 GO1: INC 32H MOV A,32H CJNE A,#10,$+3 JNB P1.1,$ JC ST3 MOV 32H,#00H MOV A,32H ST3: JB P1.2,ST4 ;键盘3判断时用 LCALL DELAY111 JNB P1.2,$ LCALL DELAY111 DJNZ R2,GO2 MOV R2,#6 GO2: INC 33H MOV A,33H CJNE A,#6,$+3 JNB P1.2,$ JC ST4 MOV 33H,#00H MOV A,33H ST4: JB P1.3,ST6 ;键盘4判断时用 LCALL DELAY111 JNB P1.3,$ LCALL DELAY111 INC 36H MOV A,36H CJNE A,#24,JUMP1 MOV 36H,#00H JUMP1: MOV A,36H MOV B,#10 DIV AB MOV 34H,B MOV 35H,A ST6: POP ACC ;键盘中断返回 POP B SETB EX0 RETI ;##########延时1MS子程序########### DELAY: MOV R7,#02H DE1: MOV R6,#0FEH DE2: DJNZ R6,DE2 DJNZ R7,DE1 RET ;########键盘延时消抖程序######### DELAY111:MOV 50H,#2 ;键盘消抖程序 DE1111: MOV 51H,#255 DJNZ 51H,$ DJNZ 50H,DE1111 RET TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H END 4 系统仿真 5 结束语 我觉得作为一名自动化专业的学生,单片机的课程设计是很有意义的。更重要的是如何把自己平时所学的东西应用到实际中。虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法通过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮助和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。我认为这个收获应该说是相当大的。 参考文献 1. 参考文献 ⑴李建忠编著,《单片机原理及应用》西安电子科技大学出版社,2008。 ⑵胡汉才编著,《单片机原理及其接口技术》清华大学出版社,2004。 ⑶贾金铃等编著,《微型计算原理及应用》重庆大学出版社,2006。 ⑷吴清秀,周荷琴编著,《微型计算机原理与接口技术》中国科学技术 大学出版社,2004。 ⑸吴向军、罗源明等编著《汇编语言程序设计》高等教育出版社,2001。 2 附录 (AT89C51) (74LS373) (74LS21)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服