资源描述
郑州科技学院
单片机课程设计
题 目
学生姓名
专业班级
学 号
院 (系)
指导教师
完成时间 2015年1月9日
郑州科技学院
单片机课程设计任务书
专业 11电科 班级 1班 学号 201131006 姓名 李 军
一、设计题目 电子秒表
二、设计任务与要求
基本功能:
1. 使用AT89C51单片机的定时器/计数器定时和记数的原理,使秒表其能精确计时。
2. 能够稳定显示并能准确计时,计时精度达到0.01秒,最大计时59-59-99。
3. 能够实现开始、暂停、清零、保存、读取的功能
三、主要参考文献
[1] 艾运阶.单片机项目教程.北京:北京理工大学出版社,2011
[2] 李泉溪.单片机原理与实例仿真.北京:北京航空航天大学出版社,2009
[3] 江世明.基于Protues的单片机应用技术.北京:电子工业出版社,2009
[4] 李朝青.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社,2006
[5] 孙育才.MCS-51 系列单片微型计算机及其应用.广东:东南大学出版社,2009
四、设计时间
2014 年 12 月 29日 至 2015 年 1月 9 日
指导教师签名:
年 月 日
目 录
前 言 1
1 课程设计的目的及要求 2
1.1 课程设计的目的 2
1.2 课程设计的任务 2
1.3 课程设计的要求 2
2 设计的方案及论证 2
2.1 方案设计 2
2.2 方案选择 3
2.3 方案确定 4
3 硬件电路设计 5
4 软件设计 5
4.1 主要模块流程图 6
4.2 程序的主要模块 6
5 电路仿真 7
6 电路的焊接与调试 8
6.1 电路的焊接 8
6.2 电路的调试 9
7 总结 11
参考文献 12
附录1:总体电路原理图 13
附录2:元器件清单 14
附录3:编码程序 15
前 言
近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动着传统控制检测日新月异更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的应用对象的软件结合,加以完善。
人们在日常生活中,有很多时候要精确地计算时间,但往往因为人为因素造成人们不愿意看到的误差。本设计利用AT89C51单片机的定时器/计数器定时和记数的原理,使其能精确计时。计时精度达到0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。显示电路由两个四位共阴极数码管组成。
电子秒表精确度的提高,使它的运用越来越广泛,它解决了传统的由于计时精度不够造成的误差和不公平性是各种体育竞赛的必备设备之一。
1 课程设计的目的及要求
1.1 课程设计的目的
(1) 掌握51单片机的基本使用方法和相关电子器件的应用。
(2) 掌握键盘的使用,灵活运用中断。
(3) 掌握Proteus的仿真与调试。
(4) 秒表具有启动/停止、保存、读取、复位功能。
(5) 单片机为控制核心,实现方案设计、电路的设计、程序设计,并在PROTEUS电子设计平台实现仿真。
1.2 课程设计的任务
本设计是基于AT89C51数码管显示的电子秒表,利用AT89C51单片机的定时器/计数器定时和记数的原理,使其计时精度达到0.01s,P1口P2口接数码管显示功能,P3.4、P3.5、P3.6、P3.7分别接四个按钮开关,分别实现开始、暂停、清零、保存、读取的功能。
1.3 课程设计的要求
(1) 设计基于单片机AT89C51数码管显示的电子秒表。
(2) 通过按键控制开始、清零、暂停和停止能够准确计时并显示。
(3) 开始显示00-00-00。
(4) 最大计时59-59-99,最大精确到0.01秒。
2 设计的方案及论证
2.1 方案设计
(1) 在性价比满足应用系统要求的基础上,选择更可靠、更熟悉的单片机,缩短研制周期。
(2) 尽可能选择较成熟的典型应用电路,以提高系统的可靠性。
(3) 单片机内部的资源与外部扩展资源应在满足应用系统设计要求的基础上留有余地,为进一步升级和扩展其功能提供方便。
(4) 应充分结合软件方案统筹考虑硬件结构,通常硬件功能较完善,其相应的软件就简单,但硬件成本较高;而硬件功能略低,其相应的软件就复杂。实际中应尽量以软件替代硬件来降低成本。
2.2 方案选择
在方案选取的时候有两个方案可以选:方案一如图2-1所示,能够最大显示99秒,精确度为1秒,具有开始/暂停,复位功能。
图2-1 方案一原理图
方案二如图2-2所示,能够最大显示59-59-99,精确度为0.01秒。具有开始/暂停、复位、保存、读取功能。
图2-2 方案二原理图
2.3 方案确定
总体设计案如图2-3所示:
时钟电路
复位电路
电源电路
LED显示
按键电路
单片机
AT89C51
LED显示
图2-3 方案总体设计
我们选用较熟悉的具有内部程序存储器的AT89C51单片机作为主控电路。选用时钟电路、复位电路和AT89C51单片机组成最小控制系统,再通过按键电路控制显示电路来组成的硬件电路。
通过分析与比对,我们选用方案二,它能够精确0.01秒,并且能够显示时间更长,具有开始/暂停,复位,保存,读取功能。
3 硬件电路设计
本次课程设计是基于单片机的秒表设计,其中硬件电路采用AT89C51单片机的定时器/计数器定时和记数的原理;时钟电路及复位电路组成的最小控制系统,复位电路采用上电复位;显示模块是采用两个共阳极数码管;按键电路包含四个按键开关及74ls08与门芯片,四个开关分别具有开始/暂停,复位清零,保存数据,读取数据的功能,与门芯片与四个开关相与,然后接入外部中断接口。
与门芯片真值表如图3-1所示:
A B 输 出
0 0 0
0 1 0
1 0 0
1 1 1
图3-1 74ls08真值表
4 软件设计
4.1 主要模块流程图
主程序流程图如图4-1所示:
开 始
保存
系统初始化
启动并开始计时
显示秒表
停止
读取
停止
暂停或复位
否
是
图4-1 主程序流程图
4.2 程序的主要模块
本程序主要分为四部分:主程序模块、显示模块、按键中断模块、定时模块。
(1) 主程序分析:主程序负责整个程序的调用和转跳,实现启动与暂停、复位、保存、读取之间的切换。程序开始时进行系统初始化,之后显示“00-00-00”,接着等待“启动”按键触发。
(2) 显示模块分析:显示模块负责把分、秒、毫秒通过8位数码管显示出来,中间通过“-”隔开。首先根据定时器用来保存分、秒、毫秒的寄存器的值,判断得知每个数字的段码,把分的高位送到数码管的第一位,再把分的低位送到数码管的第二位,接着把“-”的段码送到数码管的第三位,同样的方法把秒和微秒送到数码管,然后循环扫描每一位把时间显示出来。
(3) 按键中断服务程序分析:产生外部中断时,进行按键判断,程序采用3次条件转跳进行按键判断,每个按键都标志相应的值:“启动/停止”时把定时器开放或与停止,“复位”时,把用来保存时间的寄存器清0,“保存”时,把用来保存时间的寄存器的值保存到连续的单元中,“读取”时把保存时间的单元依次读取出来放回到用来保存时间的寄存器里。
(4) 定时程序分析:当按了“启动”键时,开放定时,以10MS作为一个计时单位,每计100个10毫秒(即1秒),就进一位,用(INC R6)实现,R6加了60次之后,R7就加1,表示“分”加1。
5 电路仿真
本次课程设计仿真所用到的软件有keil编译软件和proteus仿真软件,先把写好的程序用keil软件编译生成hex文件,在proteus仿真软件中查找元器件,连接电路图,再把hex文件加载到仿真软件的单片机中,最后进行仿真测试。
仿真图如图5-1所示:
图5-1 电路仿真图
6 电路的焊接与调试
6.1 电路的焊接
(1) 使用电烙铁时,首先检查焊头,焊头若出现黑色的氧化物就先磨掉。上锡的具体方法是:插上电源插头,将电烙铁烧热,刚刚熔化焊锡时,涂上助焊剂,再用焊锡均匀地涂在烙铁头上,是烙铁头均匀地涂上一层锡。
(2) 焊接时将引脚对应好焊接电路板的焊接位置上,接着先将焊丝接触然后电烙铁从下至上的较快速的上锡。焊接出来的焊点应该饱满,略有尖头。
(3) 导线焊接:导线焊接前要出去末端绝缘层。导线焊接,搪锡是关键步骤,尤其多股导线。
(4)焊接时间不宜过长,否则容易烫坏元件,必要时可用镊子夹住管脚帮忙散热
(5) 焊点应呈正弦波峰形状,表面应光亮圆滑,无焊刺,锡量适中。焊接完成后,再对照电路图检查一遍接线有无错误,若有及时更正,没有的话就可加电压测试了。加上电压后,若正常工作且符合设计要求和目的,则电路设计成功,否则继续调试找出问题所在,修正错误直至达到正常工作且符合设计要求和目的。
6.2 电路的调试
硬件调试一般分为四步骤:
第一个是目测法。只要是检查一些很明显的错误,如电解电容的电极是否连错、焊点否光亮饱满无虚焊,用万用板连的线是否连好了、焊盘有否脱落。对单片机应用系统中所用的器件与设备,要仔细核对型号,检查它们对外连线(包括集成芯片引脚)是否完整无损。通过目测查出一些明显的器件、设备故障并及时排除。
第二个是万用表测试。。先用万用表复核目测中认为可疑的连接或接点,检查它们的通断状态是否与设计规定相符。再检查各种电源线与地线之间是否有短路现象,如有再仔细查出并排除。
第三个是上电检查。首先检查所有插座或器件的电源端是否有符合要求的电压,接地端电压是否接近于零,接固定电平的引脚端是否电平正确。在对各芯片、器件加电过程中,是否出现打火、过热、变色、冒烟、异味的现象。如出现这些现象,应立即断电,仔细检查电源加载的情况、各个芯片是否插反等,找出产生异常的原因并加以解决;并且用万用表测各芯片的引脚电平是否合理。
第四个是复位检查。在上电检查后,按一下复位按钮,看实验板上的LED灯是否闪烁。如果不闪烁,那么说明复位有问题。就要仔细检查复位的电容是否接错了电极,线是否连错。刚开始时,我就把复位按键给接错了,把它和开始、停止键同时接地了,应该是并联电容接的。
实物图如图6-1所示:
图6-1 实物图
7 总结
经过一个星期的课程设计,让我更加巩固了有关于单片机电路设计上的一些知识,运用所学的知识制作了一个基于AT89C51单片机的电子秒表设计。学会如何的去思考电路的制作,确定方案是这次课程设计的首要任务,确定了方案后,我们才知道如何的去实现它的功能,查找关于这方面的资料,然后动手去分析和制作电路。
通过本次电子秒表的设计,让我对单片机知识的实际应用有了更深刻的理解和体会,这次课程设计,不仅提高了动手能力,对设计的整个流程有了一定的了解,更了解到了单片机知识应用的广泛性和前景。设计的成功,极大地提高了自信心,促进了对单片机的学习兴趣,明白了理论联系实际的重要性。
此次设计清楚了一项设计的整体流程:明确设计要求、功能及功能模块的设计,查阅相关资料并确定元器件,电路连接、调试、调整改进与检查,电路成型,总结;设计电路时,和搭档上网查阅了很多资料,这培养了搜索的能力,开拓了视野。调试过程中掌握了一些电路调试的方法和规律,同时也掌握了如何来检查和排除实验中的所遇到的一些常见故障,明白了动手的重要性,懂得了实践出真知的道理。电路的连接和调试极大地提高了动手实践能力,这也是目前较为缺乏的。作为工科的学生,就应该具备这样的动手能力。最后,设计报告的制作还培养了整理知识的能力。
总之,这次设计,认识到了知识的局限性,培养了动手能力,懂得了团队合作精神,对今后的学习起到了极大的促进作用。
参考文献
[1] 艾运阶.单片机项目教程.北京:北京理工大学出版社,2011
[2] 李泉溪.单片机原理与实例仿真.北京:北京航空航天大学出版社,2009
[3] 江世明.基于Protues的单片机应用技术.北京:电子工业出版社,2009
[4] 李朝青.单片机原理及接口技术(第3版).北京:北京航空航天大学出版社,2006
[5] 孙育才.MCS-51 系列单片微型计算机及其应用.广东:东南大学出版社,2009
附录1:总体电路原理图
附录2:元器件清单
序号
名称
型号规格
数量
1
单片机
STC89C52
1
2
数码管
F5461BH
2
3
电容
22pF
2
4
极性电容
10uF
1
5
电阻
10K
1
6
晶振
12MHZ
1
7
与门芯片
74ls08
1
9
按键开关
4
14
导线
若干
附录3:编码程序
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT
ORG 000BH
LJMP TIME
ORG 0100H
MAIN:
MOV TMOD,#01H
MOV TH0,#0D8H
MOV TL0,#0F0H
SETB EA
SETB ET0
SETB IT0
SETB EX0
MOV R0,#50H
CLR TR0
LP:LCALL DISPLAY
LJMP LP
DISPLAY:
MOV A,R7
MOV B,#10
DIV AB
LCALL NUM
MOV P1,R4
MOV P2,#01H
LCALL DELAY
MOV A,B
LCALL NUM
MOV P2,#00H
MOV P1,R4
MOV P2,#02H
LCALL DELAY
MOV P2,#00H
MOV P1,#0BFH
MOV P2,#04H
LCALL DELAY
MOV A,R6
MOV B,#10
DIV AB
LCALL NUM
MOV P2,#00H
MOV P1,R4
MOV P2,#08H
LCALL DELAY
MOV A,B
LCALL NUM
MOV P2,#00H
MOV P1,R4
MOV P2,#10H
LCALL DELAY
MOV P2,#00H
MOV P1,#0BFH
MOV P2,#20H
LCALL DELAY
MOV A,R5
MOV B,#10
DIV AB
LCALL NUM
MOV P2,#00H
MOV P1,R4
MOV P2,#40H
LCALL DELAY
MOV A,B
LCALL NUM
MOV P2,#00H
MOV P1,R4
MOV P2,#80H
LCALL DELAY
MOV P2,#00H
RET
NUM:
CJNE A,#0,IF1
MOV R4,#0C0H
RET
IF1:CJNE A,#1,IF2
MOV R4,#0F9H
RET
IF2:CJNE A,#2,IF3
MOV R4,#0A4H
RET
IF3:CJNE A,#3,IF4
MOV R4,#0B0H
RET
IF4:CJNE A,#4,IF5
MOV R4,#99H
RET
IF5:CJNE A,#5,IF6
MOV R4,#92H
RET
IF6:CJNE A,#6,IF7
MOV R4,#82H
RET
IF7:CJNE A,#7,IF8
MOV R4,#0F8H
RET
IF8:CJNE A,#8,IF9
MOV R4,#80H
RET
IF9:MOV R4,#90H
RET
TIME:
MOV TH0,#0D8H
MOV TL0,#0F0H
INC R5
CJNE R5,#100,LP0
INC R6
MOV R5,#0
CJNE R6,#60,LP0
INC R7
MOV R5,#0
MOV R6,#0
CJNE R7,#60,LP0
MOV R5,#0
MOV R6,#0
MOV R7,#0
LP0:RETI
RETI
INT:
CLR EX0
JB P3.7,IFP36
MOV R1,#1
CPL TR0
MOV 21H,R2
LJMP BACK
IFP36:JB P3.6,IFP35
MOV R1,#2
MOV R5,#0
MOV R6,#0
MOV R7,#0
MOV R2,#0
MOV R0,#50H
MOV R3,#00H
LJMP BACK
IFP35:JB P3.5,P34
MOV R1,#3
MOV A,R5
MOV @R0,A
INC R0
MOV A,R6
MOV @R0,A
INC R0
MOV A,R7
MOV @R0,A
INC R0
INC R2
LJMP BACK
P34:CJNE R1,#4,NEW
SJMP OLD
NEW:CJNE R1,#1,BACK
MOV R0,#50H
OLD:MOV A,@R0
MOV R5,A
INC R0
MOV A,@R0
MOV R6,A
INC R0
MOV A,@R0
MOV R7,A
INC R0
DJNZ 21H,BAC
MOV 21H,R2
MOV R0,#50H
BAC:MOV R1,#4
BACK:CLR P3.2
SETB P3.2
SETB EX0
RETI
DELAY:
RET
END
20
展开阅读全文