湖南工程学院2014单片机电子表

更新时间:2024-03-26 16:37:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

等级:

湖南工程学院应用技术学院

课 程 设 计

课程名称 单片机原理与应用 课题名称 电子表

专 业 电气工程及其自动化 班 级 学 号 姓 名 指导教师 周向红、李晓秀、汪超、肖峰 2014年月日

湖南工程学院应用技术学院

课程设计任务书

课程名称 单片机原理与应用 课 题 电子表

专业班级 学生姓名 学 号 指导老师 周向红、李晓秀、汪超、肖峰 审 批

任务书下达日期 2014年 月 日 任务完成日期 2014 年 月 日

设计内容与设计要求 设计内容: 本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒~999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试。 设计要求: 1)确定系统设计方案; 2)进行系统的硬件设计; 3)完成必要元器件选择; 4)开发板焊接及测试 5)系统软件设计及调试; 6)系统联调及操作说明 7)写说明书 主 要 设 计 条 件 1、 MCS-51单片机实验箱1台; 2、 PC机及单片机调试软件,仿真软件proteus; 3、 开发板1块; 4、 制作工具1套; 5、系统设计所需的元器件。 说 明 书 格 式 封面 课程设计任务书 目录 第1章、概述 第2章、系统总体方案设计 第3章 硬件设计 第4章 开发板焊接及其测试 第5章 软件设计与说明(包括流程图) 第6章 调试步骤、结果、使用说明 第7章 设计总结 第8章 参考文献 附录:系统电路原理图(用PROTEL99制作)、系统程序清单。 电气与信息工程系课程设计评分表 进 度 安 排 设计时间分为二周 第一周 星期一、上午:布置课题任务,课题介绍及讲课。 下午:借阅有关资料,总体方案讨论。 星期二、分班级焊接开发板 星期三、确定总体方案,学习与设计相关内容。 星期四、各部分方案设计,各部分设计。 星期五、设计及上机调试。 星期六、设计并调试 第二周 星期一:设计及上机调试。 星期二:调试,中期检查。 星期三:调试、写说明书。 星期四--星期五上午:写说明书、完成电子版并打印成稿。 星期五下午:答辩。 参 考 文 献 1、王迎旭编.《单片机原理与应用》[M].机械工业出版社. 2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社. 3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社 4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社. 5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社. 6、周向红 编《51系列单片机应用与实践教程》[M].北航出版社

目 录

第一章 绪论 .................................................. 1 第二章 系统总体方案设计 ...................................... 2

2.1 课程设计内容要求 ...................................... 2 2.2 设计思路分析 .......................................... 2 第三章 硬件设计 .............................................. 3

3.1 系统框图 .............................................. 3 3.2 单片机型号的选择 ...................................... 3 3.3 显示器选择 ............................................ 4 3.4 时钟电路 .............................................. 4 3.5 显示电路 .............................................. 5 3.6 总体电路原理图 ........................................ 5 第四章 开发板焊接及测试 ................... 错误!未定义书签。 第五章 软件设计与说明 ........................................ 6

5.1 软件总体框图 .......................................... 6 5.2 主程序设计 ............................................ 6 5.3 子程序设计 ............................................ 7 5.4 跑秒程序设计框图 ...................................... 7 第六章 调试和使用说明 ........................................ 8

使用说明 .................................................. 8 第七章 总结与体会 ............................................ 9 参考文献 ..................................................... 10 附录 ......................................................... 10

电路图 ................................................... 10 系统程序清单 ............................................. 11

第一章 绪论

单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能。它体积小,成本低,功能强,广泛应用于智能产业和工业自动化上。而51系列单片机是各单片机中最为典型和最有代表性的一种。通过本次课程设计对51单片机的学习以及应用,已经对单片机有了初步的了解和简单的应用能力。

数字电子表是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字表的精度,远远超过老式的钟表,钟表的数字化给人们生产带来了极大的方便,而且大大的拓展了钟表的报时功能。数字表已经成为人们日常生活中的必须品,广泛应用于家庭,车站,码头,剧院,办公场所等,给我们的生活和学习,工作带来了极大的方便。

本课程设计设计了一个基于AT89C51单片机的电子表。并且通过一个控制按键来实现时间的调节和是否进入省电模式,并且在数码管上显示相应的时间。应用Proteus的ISIS软件实现了单片机电子表系统的设计与仿真。此方法仿真效果真实、准确,并且节省了硬件资源。

1

第二章 系统总体方案设计

2.1 课程设计内容要求

本课题要求以单片机为核心设计一个多功能电子表,具有电子时钟、时钟设置和跑表功能。做时钟时在6位LED 显示器上显示时、分、秒,做跑表时显示范围000.0秒~999.9秒,并具有时钟启动、时钟停止、跑表启动、跑表复位、时钟调整功能键。要求焊接好开发板,在开发板上进行调试。

2.2 设计思路分析

电子表的电路由多个部分组成,如控制按键的输入电路,单片机的时钟电路,复位电路,LED显示器段码驱动电路,LED显示器位码驱动电路,显示器电路和跑表时钟电路组成。然后通过对以上电路的产生和调整设计出总的电路框图。所以可根据上述条件作出相应的实时时钟电路总的框图。然后开始设计内部驱动程序,按照相应的程序实现特定的功能个,之后按照程序的设计,将相应的管脚连接调试,看是否能实现预定的功能。

利用MCS-51内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时。配合软件监控实现运行,停止,调时,调分,调秒。该方案节省硬件成本,软件设计做够灵活,且能够使人在定时/计数器的使用、中断及程序设计方面得到锻炼与提高,能够准确走时并实现多功能。因此,本课题采用该方案。

2

第三章 硬件设计

3.1 系统框图

图3.1

3.2 单片机型号的选择

通过对多种单片机性能的分析,最终认为89C51是最理想的电子表开发芯片。89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的89C51是一种高效微控制器,而且它与MCS-51兼容,且具有4K字节可编程闪烁存储器和1000写/擦循环,数据保留时间为10年等特点,是最好的选择。

3

图3.2

3.3 显示器选择

LED显示器的选择,在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。在我们的设计中,选择6位一体的时钟型LED显示器。

6位7段共阳显示器:六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的,共阳是指相应的二进制为1时不亮,为0时亮。在实验中显示器的作用是显.示时间。

3.4 时钟电路

图3.4

4

3.5 显示电路

图3.5

3.6 总体电路原理图

图3.4

5

第五章 软件设计与说明

5.1 软件总体框图

图5.1

5.2 主程序设计

主程序的初始化内容:所谓初始化,是对将要用到的51系列单片机内部部件或扩展芯片进行初始工作设定。51系列单片机复位后,设置特殊功能寄存器。

6

5.3 子程序设计

子程序包括了:时钟暂停显示程序,时钟运行显示程序,时钟溢出入口程序,跑秒暂停及循环显示程序,跑秒运行循环显示程序等等。

代码转换程序:由于人们日常习惯使用十进制数,而计算机的键盘输入,输出以及显示都采用二进制编码的十进制数或ASCII码。因此,在程序设计时常常要代码转换。

LED动态显示程序:采用动态扫描方式时,要使得LED显示得比较均匀和有足够的亮度,需要设置适当的扫描频率。扫描频率在70Hz左右时,能够产生足够的图形和较好的显示效果。

5.4 跑秒程序设计框图

图5.4

7

第六章 调试和使用说明

本系统可以先在电脑上使用Proteus仿真软件进行电路的仿真进行仿真,编程使用keil、调试工具并生成可执行文件加载到单片机中,在Proteus中点击运行,查看运行结果是否与预期要求相符,如果仿真成功,便可以到实验板上进行实物实验。

使用说明

按钮开关图如下

图6.1

仿真按下开始后时钟开始计时

时间设定 点击PAUSE/START后进入设定模式,点击SEC/MIN RESET TIMER进行设置,点击一下增加一。完成以后点击PAUSE/START,即可保存并进行下一项设置,依次下去便可以设置秒、分和时。设置秒设置分设置时设置时间后,程序继续将在设置时间的基础上继续运行跑秒功能

8

第七章 总结与体会

在这一次课程设计当中,我进行了多方面的学习和实践,虽然当中遇到了许多的困难,但最终还是把它们一一地克服了。学习就是这样的,要做好每一件事,都有很多的因素影响制约着我们,我们必须快速准确的适应这样的环境,通过改变自己来更快的融入社会。有了这份经历,我觉得自己少了一分浮躁,多了一份沉稳。我深深地感到要有科学的思维方法和学习方法是极其重要的。刚刚拿到课程设计的题目时真不知道从哪里开始动手,课题名称里的芯片根本就没听说过。通过上网查找资料,弄清楚了它的功能,才真正开始了设计。但这个东西包括了几个部分,所以一定要把握好它的整体设计思路,在其框架之下,对各部分的单元电路进行分析和设计,最后经过电路的修改,参数的确定,将各个部分连接起来,形成总的电路图。

书到用时方恨少,在这次课程设计过程中遇到了很多大大小小的难题,这时才发现在知识的海洋里自己是多么的渺小,但这也激起了我学习的热情,我进行了多方面的学习和实践,最终还是把它们都克服了。在这次课程设计过程中我还学会了与同学交流和沟通,这样才能把自己在设计过程中学到的知识进行交流,在交流中进一步巩固自己的知识。这次课程设计只有两个星期的时间,时间比较紧张,提高工作、学习效率是唯一的办法。有了这份经历,更让我觉得知识海洋的广博,驱使怀着好奇之心的我进一步努力学习告诉我为了填满好奇心,无时无刻不需要学习。

每一次新的认识,总是疑问重重,不断的分析解决问题、解决问题,等到最后回想起来都是如此的简单。能学习能提高不容易,更重要的是我学会了如何解决问题,这次课程设计让我增加了自信心,懂得的越来越多,又感觉在以后的路上明白了很多知识。同时也感谢老师的指导和共同探讨研究问题的同学们,希望在以后的学习和工作中能够进一步提高对单片机的认识和应用能力。

9

参考文献

1、王迎旭编.《单片机原理与应用》[M].机械工业出版社.

2、楼然苗编.《51系列单片机设计实例》[M].北京航空航天大学出版社. 3、黄勤编.《计算机硬件技术基础实验教程》[M].重庆大学出版社

4、刘乐善编.《微型计算机接口技术及应用》[M].华中科技大学出版社. 5、陈光东编.《单片微型计算机原理及接口技术》[M].华中科技大学出版社.

6、周向红 编《51系列单片机应用与实践教程》[M].北航出版社

附录

电路图

10

系统程序

ORG 0000H LJMP START ORG 000BH

LJMP INIT0

START: MOV R0,#70H

;主程序开始

MOV R7,#0CH

INIT:

MOV @R0,#00H

INC R0 DJNZ R7,INIT MOV 72H,#10 ;对连字符进行装值

MOV 75H,#10 MOV TMOD,#01H ;选择定时器/计数器T0的方式1 MOV TL0,#0B0H ;对低位赋初值 MOV TH0,#03CH

;高位赋初值 SETB EA SETB ET0

SETB TR0

START1: LCALL SCAN

LCALL KEYSCAN

SJMP START1

DL1MS: MOV R6,#14H ;延时1子程序

DL1: MOV R7,#19H DL2: DJNZ R7,DL2

DJNZ R6,DL1

11

RET

;延时20ms子程序

DL20MS: ACALL SCAN

ACALL SCAN ACALL SCAN

RET ;数码管显示程序开始

SCAN: MOV A,78H

MOV B,#0AH

DIV AB ; MOV 71H,A MOV 70H,B MOV A,79H MOV B,#0AH DIV AB

送B

MOV 74H,A MOV 73H,B MOV A,7AH MOV B,#0AH DIV AB

送B

MOV 77H,A MOV 76H,B MOV R1,#70H MOV R5,#0FEH

MOV R3,#08H

SCAN1: MOV A,R5

时间秒的十位送给A,时间秒的个位送B ;时间秒要显示的十位 ;时间秒要显示的个位

;时间分的十位送给A,时间分的个位 ;时间分要显示的十位送地址 ;时间分要显示的个位送地址

;时间时的十位送给A,时间时的个位

;时间时显示的十位送地址 ;时间时要显示的个位送地址

;数码管的显示程序

12

MOV P2,A MOV A,@R1 MOV DPTR,#TAB MOVC A,@A+DPTR ;对字段表取值显示

MOV P0,A MOV A,R5 LCALL DL1MS INC R1 MOV A,R5 RL A MOV R5,A DJNZ R3,SCAN1 MOV P2,#0FFH MOV P0,#0FFH

RET

;\和\的字段表 TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH ;定时/计数器T0中断程序 INIT0: PUSH ACC

PUSH PSW CLR ET0 CLR TR0 MOV TL0,#0B0H MOV TH0,#03CH SETB TR0 INC 7BH

MOV A,7BH

13

CJNE A,#14H,OUTT0 延时

;50ms是否到20次,没有到就继续执行50ms的

MOV 7BH,#00 INC 78H MOV A,78H

CJNE A,#3CH,OUTT0 ;一秒的延时是否计到60次,没有就继续执行

MOV 78H,#00 INC 79H MOV A,79H

CJNE A,#3CH,OUTT0 MOV 79H,#00 INC 7AH MOV A,7AH

CJNE A,#18H,OUTT0 ;60分钟的延时是否计到24次,没有

就继续执行程序

MOV 7AH,#00

;启动定时器T0

OUTT0:SETB ET0

POP PSW POP ACC RETI

;按键处理程序

KEYSCAN:CLR EA

JNB P1.0,KEYSCAN0

;P1.0有按键按下则跳转到子程

14

JNB P1.1,KEYSCAN1 ;P1.1有按键按下则跳转到子程

JNB P1.2,KEYSCAN2 ;P1.2有按键按下则跳转到子程

KEYOUT: SETB EA

RET

;20ms的延时消抖

KEYSCAN0:LCALL DL20MS

JB P1.0,KEYOUT

WAIT0: JNB P1.0,WAIT0 下执行程序

MOV 7CH,#00 SETB ET0 SETB TR0 SJMP KEYOUT

INC 7CH MOV A,7CH CLR ET0 CLR TR0

;判断按键是否松手, 松手就往

CJNE A,#03H,KEYOUT ;按下第一次和第二次对时、分选

;按下第三次时就启动计时

KEYSCAN1:LCALL DL20MS

JB P1.1,KEYOUT

;按键加一的程序

WAIT1: JNB P1.1,WAIT1

15

MOV A,7CH

CJNE A,#02H,KSCAN11 ;如果功能键按下则对时加一调

INC 79H

CJNE A,#3CH,KEYOUT MOV 79H,#00 SJMP KEYOUT

;如果功能键是按下第二次则对分进

;如果加到60则清零

KSCAN11:INC 7AH 行加一调整

MOV A,7AH

CJNE A,#18H,KEYOUT MOV 7AH,#00 SJMP KEYOUT

;延时消抖程序

KEYSCAN2:LCALL DL20MS

JB P1.2,KEYOUT

WAIT2: JNB P1.2,WAIT2

MOV A,7CH

;判断是否放开按键

CJNE A,#02H,KSCAN21 ;如果功能键是按下第一次对时

进行减一

DEC 79H MOV A,79H

CJNE A,#0FFH,KEYOUT MOV 79H,#3BH SJMP KEYOUT

;如果功能键是按下第二次则对分进

KSCAN21:DEC 7AH 行减一

CJNE A,#0FFH,KEYOUT MOV 7AH,#17H SJMP KEYOUT END

16

课程设计评分表

评 价 项 目 优 设计方案合理性与创造性(10%) 良 中 及格 差 开发板焊接及其调试完成情况*(10%) 硬件设计或软件编程完成情况(20%) 硬件测试或软件调试结果(10%) 设计说明书质量(20%) 答辩情况(10%) 完成任务情况(10%) 独立工作能力(10%) 出勤情况(10%) * 综 合 评 分

指导教师签名:________________

日 期:________________

注:①表中标*号项目是硬件制作或软件编程类课题必填内容;

②此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。

本文来源:https://www.bwwdw.com/article/dvcr.html

Top