完整电子跑表的设计Word格式文档下载.docx
《完整电子跑表的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《完整电子跑表的设计Word格式文档下载.docx(29页珍藏版)》请在冰豆网上搜索。
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
*5)进行部分单元电路及应用程序的调试;
主要设计条件
本系统要求:
电子时钟的计时范围00时00分00秒23时59分-59秒,并在显示器上显示;
做跑表时显示范围00时00分00秒-23时59分59秒,当按下启动按钮跑表开始计时,按下停止按停止计时,当按下复位按钮跑表回零。
说明书格式
1.课程设计任务书
2.目录
3.系统总体方案选择与说明
4.系统结构框图与工作原理
5.各单元硬件设计说明及计算方法
6.软件设计与说明(包括流程图)
7.调试结果与必要的调试说明
8.使用说明
9.总结
10、参考文献
附录
附录A系统原理图
附录B程序清单
进度安排
设计时间为两周
第一周
星期一、上午:
布置课题任务,讲课及课题介绍
下午:
借阅有关资料,总体方案讨论
星期二、确定总体设计方案
星期三、硬件模块方案设计
星期四、软件模块方案设计
星期五、各硬件模块设计
第二周
星期一、各硬件模块设计
星期二、各软件模块设计
星期三、各软件模块设计
星期四、写说明书
星期五、上午:
写说明书,整理资料
下午:
交设计资料,答辩
参考文献
参考文献
1、教材《单片微型计算机技术》刘国荣编机械工业出版社
2、《单片微型计算机原理、应用及接口技术》张迎新编国防工业出版社
3、单片机实用系统设计技术》房小翠编国防工业出版社
4、《单片机应用系统设计》何立民编北航出版社
5、《单片机原理及接口技术曹琳琳编国防科技大学出版社
1。
课题的设计要求、目的、意义——-—————--———--—7
1课程设计的要求-----———-———---——————-——-———————-—-———7
2课题设计的目的与意义—-———-----——---—-————-—-—--——-—-7
2.系统总体方案选择与说明—-——-—-——-———---———-—-—8
2.1课程设计要求有多种功能——-----—-—-—-—--—--—--——-——-——--8
2。
2系统方案说明与分析———--------—-----—--—————-——-——-—--—9
3.系统结构框图与工作原理-—-—-—-——--———————--—-—10
3.1系统结构框图——-———-—-———-—-———-—-----——-——-—--——--—-——10
3。
2工作原理-————---—------—-—--—-——-—--—-————-—-—---—————11
4.各单元硬件说明及计算方法—-———-—-———------—--13
4。
1、AT89C51-———--———--—-—-——-——--—-—----———-----——--—-—-13
4.2、晶振电路-----—————-——-—-—-————--——-—-——-—-—---—-——-—14
4。
36、位7段共阳显示器—-—--—---—-——--—-——-—--—-——-——————-15
4.4、8255芯片-——————-————-—--—-—--————-——--—--—-——-—-----15
5。
软件设计与说明---—--—-—-—--—————--—--———-——--———-17
1.1、KeiluVision2-——--——-----—-—---—--——-———-——————---17
5.1。
2、proteus——---————-—-——-----—-—-—--——-—--——----———-18
2软件设计及流程图--—--—--———--——-—--———-—-—-—-—-—--—-—-19
6.调试与运行——--—------—-—--——--—--—-————--———--——-—--21
7。
使用说明-—-—-—--——--—----—--—--———--————---————--———-25
8.总结——-—--—-—----—---——---—--——-——-————-—-——-—--—-—-——-28
9.参考文献—-----—------—-----——-——--—-—-—-—----—---—--—30
10.附表-———--—-—-—--——--—-——-——--———----——----—--———---——31
第1章、课题的设计要求、目的、意义
1.1课程设计的要求
1)确定系统设计方案;
2)进行系统的硬件设计;
*5)进行部分单元电路及应用程序的调试;
.
1.2课题设计的目的与意义
1、巩固,加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;
2、培养针对课题需要,选择和查阅有关手册,图标及文献资料的自学能力,提高组成系统,编程,调试的动手能力;
3、通过对课题设计方案的分析,选择,比较,熟悉单片机用系统开发,研制的过程,软件硬件设计的方法,内容及步骤。
第2章、系统总体方案选择与说明
2.1课程设计要求有多种功能
电子时钟的计时范围00时00分00秒23时59分—59秒,并在显示器上显示;
2.2系统方案说明与分析
电子表是日常生活中常用的计时工具。
本电子表采用ATB9C51单片机为核心器件,将可编程芯片8255A与6个LED数码管连接,用于显示时钟与跑秒.PA口输出显示段码,PB口输出位码,单片机的P1.0~P1。
4、P3。
2、P3。
3接K1~K6,用于实现表的清零/启动/复位/调整/暂停功能,其可由软件完成。
时间显示功能通过LED数码管动态扫描来实现,在显示器上进行动态扫描.由于数码管要显示时钟,还要显示秒表,利用T0定时器定时1s,T1定时器定时100ms,即0.1s,用R6和R7作为扫描的短延时数据地址.因此,分别用30H、31H、32H、33H、34H、35H计时钟,即时钟计数器;
用40H、41H、42H、43H、44H、45H计跑表,即秒表计数器。
当要显示时钟的时候,就把时钟地址中的数据通过8255A的PA口输出给显示器显示;
当要显示跑表的时候,就把跑秒地址中的数据通过8255A的PA口输出给显示器显示。
由于跑秒与时钟数据地址不同,故跑表显示与时钟显示互不影响.
第3章、系统结构框图与工作原理
3.1系统结构框图
根据项目要求,确定该系统的设计方案.硬件电路由7部分组成,即按键或开关输入电路、单片机、时钟电路、复位电路、LED显示器段码驱动电路、LED显示器位码驱动电路和LED显示电路。
图一系统结构框图
3.2工作原理
一般电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能和报时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒"
计数器、校时电路、报时电路和振荡器组成。
主电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成.秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器"
采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器"
采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时"
、“分”、“秒”计数器的输出状态用七段显示译码器译码,通过七段显示器显示出来.整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后去触发一音频发生器实现报时。
校时电路时用来对“时”、“分"
、“秒"
显示数字进行校对调整。
而该电子时钟由89C51,8255A,六段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。
而电路中有六个控制键拥有不同的功能,第一个键是复位键第二个是启动键,第三个是跑秒键,第四个是秒停键,按下这个键后,再按第六个和第七个键就可以分别调分钟和时钟。
第4章、各单元硬件说明及计算方法
1硬件介绍
4.1、AT89C51
AT89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROM-FlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机.AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
图二
4.2、晶振电路
单片机由其内部固化程序在12MHZ晶振的准确支持运行,将时钟芯片中的时、分读取到缓冲区内,并将时、分送到显示电路,
图所示为时钟电路原理图,在AT89S51芯片内部有一个高增益反相放大器,其输入端为芯片引脚XTAL1,输出端为引脚XTAL2.而在芯片内部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。
时钟电路产生的振荡脉冲经过触发器进行二分频之后,才成为单片机的时钟脉冲信号。
图三晶振电路
4.3、6位7段共阳显示器
6位7段共阳显示器:
六位是同时显示六位阿拉伯数字,而每一个数字又是七段码显示的;
七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的,共阳是指相应的二进制为1时不亮,为0时亮.在实验中显示器的作用是显示时间
图四
4.4、8255芯片
Intel8086/8088系列的可编程外设接口电路(ProgrammablePeripheralInterface)简称PPI,型号为8255(改进型为8255A及8255A-5),具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。
它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。
8255A的通用性强,使用灵活,通过它CPU可直接与外设相连接。
图五
第5章、软件设计与说明
1、KeiluVision2
KeiluVision2是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统c语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,您可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。
图六
5.1.2、proteus
Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。
它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。
它是目前最好的仿真单片机及外围器件的工具。
虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计.是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。
在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。
图七
5.2软件设计及流程图
在硬件准备完毕的基础上,需要进一步完善程序,也就是进入软件调试阶段。
在本次设计中,软件调试的主要部分是对程序的调试,在proteus上绘制设计图,对2个软件进行联调,在proteus上仿真运行等。
程序的调试应一个模块一个模块地进行,首先单独调试各功能子程序,检验程序是否能够实现预期的功能,接口电路的控制是否正常等;
最后逐步将各子程序连接起来总调。
第6章、调试与运行
1.1在KeiluVision2上设置:
1、单击“Project菜单/OptionsforTarget”选项或者点击工具栏的“OptionforTarget”按钮,弹出窗口,点击“Debug”按钮,出现如图所示页面。
图九
2、proteus中51芯片需要导入.HEX的文件,需要在keil中生成.HEX文件,具体步骤:
单击“Project”菜单,再在下拉菜单中单击“OptionsforTarget”,再单击“Output”中单击“CreateHEXFile"
选项,使程序编译后产生HEX代码,以便在Proteus里加载可执行代码,并单击“Target”选项,更改晶振频率(本例使用6M晶振),其如图十所示。
图十
到此,设置工作已完成,下面我们将编译、链接、转换成可执行文件(。
HEX的文件)。
1.2在Proteus上设置:
进入Proteus的ISIS,鼠标左键点击菜单“Debug"
,选中“useromotedebugermonitor"
如图3-2所示。
此后,便可实现KeilC与Proteus连接调试。
图十一
特别注意:
联调需要注意的是,各程序模块间能否正确传递参数,是否设置正确,文件是否完整,特别要注意各子程序的现场保护与恢复。
只有选择正确的方法来进行联调,才能在proteus上仿真成功。
5.2用proteus进行仿真
画好设计图后,加装keil上生成的。
HEX文件进AT89C51芯片,具体步骤:
双击图上的芯片,在弹出的对话框中“programfile"
一栏,单机打开文件,选择已经生成的。
HEX文件,然后确定.
图十二
确认设计图无误就可以进行仿真了,单击开始按钮可以看见6位7段共阳显示器开始工作
图十三
然后测试6个按键是否工作正常,通过测试,可知:
P1.0代表的清零正常工作,P1.1代表正常工作,P1。
2代表正常工作,P1。
3代表正常工作,P3.2代表正常工作,P3.3代表的正常工作。
第7章、使用说明
此项目一共设计了6个按键如下图:
按下第一个键就是恢复为000000状态。
图十四
按下第二个键就是启动跑秒功能状态。
想恢复到电子时钟状态则可按下第三个键。
进行电子表的时钟与分钟设置需要将第四个键按下后分别再按第五和第六个键。
第8章、总结
课程设计是培养学生综合运用所学的知识,发现、提出、分析&
解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力训练和考察过程。
随着科学技术发展的日新月异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。
以此作为二十一世纪的大学生来说掌握单片机开发技术是十分重要的.
本次做的电子表是以单片机(AT89C51)为核心,结合相关的元器件(6位7段共阳LED数码、锁存器、8255A、双向总线收发器等),再配以相应的软件(KeiluVision2和proteus),达到实现时钟启动、时钟停止、跑表启动、跑表复位、时钟调整.
因为这次用的软件protues和KeiluVision2之前从未接触过,做起来难免手忙脚乱的,一大堆难题需要解决,甚至是软件的安装都是经过一段时间摸索才真正掌握的.通过上网查询和浏览,不断的学习,以及和同学的交流,逐渐了认识了这2款软件和使用它们.经过不断的做试验,我学会了protues软件和KeiluVision2软件的连接,应用Keil编译程序,然后用protues仿真。
,刚开始的时候完全不明白什么是联调,后来通过上网搜索相关的网页,询问同学,了解了联调的具体步骤,按照步骤一步一步的进行下去,虽然失败了很多次,但是最后在不懈努力下,终于成功的将2个软件进行联调.以后的任务就轻松许多了!
认真的编好程序,绘制好设计图,然后进行仿真。
显示器开始运行那瞬间,就觉得前面的辛苦没有白费!
这次单片机的课程设计自我感觉还是很完美的,经过自己的努力制作出了可以跑秒的电子表,第一次做编写单片机的程序能有成功,也让自己对单片机有了更大的兴趣。
这对以后的学习和进行其他的课程设计都是很有帮助的。
单片机作为我们主要的专业课程之一,我觉得单片机课程设计很有必要,而且很有意义。
通过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要意义,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样!
1、王迎旭编。
《单片机原理与应用》[M].机械工业出版社.
2、楼然苗编。
《51系列单片机设计实例》[M].北京航空航天大学出版社.
3、黄勤编.《计算机硬件技术基础实验教程》[M]。
重庆大学出版社
4、刘乐善编.《微型计算机接口技术及应用》[M]。
华中科技大学出版社.
5、陈光东编.《单片微型计算机原理及接口技术》[M]。
附录A系统硬件原理图
ORG0000H
LJMPSTART
ORG0003H ;
INT0中断入口
LJMPS5
ORG000BH ;
T0中断入口地址
LJMPT0
ORG0013H ;
INT1中断入口
LJMPS6
ORG001BH ;
T1中断入口地址
LJMPT1
ORG2000H
START:
MOVDPRT,#0CFA3H ;
8255A初始化(8255A控制口地址)
MOVA,#89H ;
PA口PB口输出方式
MOVX@DPRT,A ;
方式控制字送控制字入口
S1:
MOV30H,#0 ;
时钟数据存放地址赋初值
MOV31H,#0
MOV32H,#0
MOV33H,#0
MOV34H,#0
MOV35H,#0
S2:
MOVR0,#14H
MOVTMOD,#11H ;
T0/T1工作方式
SETBEA ;
开放T0和CPU中断
SETBTR0 ;
启动T0
SETBET0 ;
开放T0溢出中断允许
SETBET1 ;
开放T1溢出中断允许
LOOP:
CLRTR1 ;
关断T1计时
MOVA,#0DFH
MOVDPTR,#0CFA1H ;
取位控信号(8255A的PB口地址)
MOVX@DPTR,A
MOVA,35H ;
显示值转换显示码
MOVDPTR,#DIRTAB ;
七段数码管显示段码首地址
MOVCA,@A+DPTR ;
查表
MOVDPTR,#0CFA0H ;
送PA口显示(8255A的PA口地址)
MOVX@DPTR,A
ACALLD1MS ;
延时1ms消抖
MOVA,#0EFH ;
动态扫描循环
MOVDPTR,#0CFA1H
MOVX@DPTR,A
MOVA,34H
MOVDPTR,#DIRTAB
MOVCA,@A+DPTR
MOVDPTR,#0CFA0H
ACALLD1MS
MOVA,#0F7H
MOVDPTR,#0CFA1H
MOVX@DPTR,A
MOVA,33H
MOVDPTR,#0CFA0H
MOVA,#0FBH
MOVA,32H
MOVDPTR,#DIRTAB
MOVDPTR,#0CFA0H
MOVA,#0FDH
MOVA,31H
MOVA,#0FEH
MOVA,30H
MOVCA,@A+DPTR
JNBP1。
0,Z4 ;
判断是否复位清零秒表
JNBP1.3,S3 ;
判断时钟是否暂停
2,S4 ;
判断是否显示时钟
SJMPLOOP
Z4:
AJMPZ1
;
时钟暂停显示程序