单片机课程设计.docx
- 文档编号:4884470
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:28
- 大小:101.70KB
单片机课程设计.docx
《单片机课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课程设计.docx(28页珍藏版)》请在冰豆网上搜索。
单片机课程设计
单片机技术课程设计说明书
数字电子钟
院、部:
电气与信息工程学院
学生姓名:
嘻嘻嘻
指导教师:
嘻嘻嘻
专业:
想
班级:
想
完成时间:
想
《单片机技术》课程设计任务书
一、设计题目:
数字电子钟、数字频率计、数字电压表、交通灯、抢答器、密码锁、波形发生器、数字温度计、计算器、数字式秒表。
二、适用班级:
电子1101~2、通信1102~3、通信1101~电子1103
三、指导教师:
王韧
四、设计目的与任务:
学生通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
五、设计内容与要求
设计内容
1、数字电子钟
设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
2、数字频率计
设计一个能够测量周期性矩形波信号的频率、周期、脉宽、占空比的频率计。
该频率计上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态。
按频率测量键则测量频率;按周期测量键则测量周期;按脉宽测量键则测量脉宽;按占空比测量键则测量占空比。
3、数字电压表
设计一个能够测量直流电压的数字电压表。
测量电压范围0~5V,测量精度小数点后两位。
该电压表上电或按键复位后能自动显示系统提示符“P.”,进入测量准备状态,按测量开始键则开始测量,并将测量值显示在显示器上,按测量结束键则自动返回“P.”状态。
4、交通灯
设计一个具有特定功能的十字路口交通灯。
该交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
按开始键则开始工作,按结束键则返回“P.”状态。
要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。
5、抢答器
设计一个具有特定功能的抢答器。
该抢答器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
主持人按下开始按钮后,抢答开始并限定时间30S;10S内无人抢答,蜂鸣器发出音响;主持人按下开始按钮之前有人按下抢答器,抢答违规,显示器显示违规台号,违规指示灯亮,其它按钮不起作用;正常抢答,显示器显示台号,蜂鸣器发出音响,其它抢答按钮无效;正常抢答下,从按下抢答按钮开始30S内,答完按钮没按下,则作超时处理,超时处理时,违规指示灯亮,显示器显示违规台号。
蜂鸣器发出音响;各台数字显示的消除,蜂鸣器音响及违规指示灯的关断,都要通过主持人按复位按钮。
6、密码锁
设计一个具有特定功能的密码锁。
该密码锁上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该密码锁具有系统原始密码888888,用户可以设定并存储用户密码,密码输入时应处于保密显示状态,密码输入正确时应显示密码输入正确提示信息,否则,显示密码输入错误提示信息。
7、波形发生器
设计一个具有特定功能的波形发生器。
该波形发生器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该波形发生器可以分别产生幅值0~5V、频率100Hz~100KHz范围内的三角波、锯齿波、方波、梯形波和正弦波。
8、数字温度计
设计一个具有特定功能的数字温度计。
该数字温度计上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
测量温度范围0℃~99℃,测量精度小数点后两位,可以通过开始和结束键控制数字温度计的工作状态。
9、计算器
设计一个具有特定功能的计算器。
该计算器上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
能实现
(1)基本的加、减、乘、除、平方、开方;
(2)三角函数运算;(3)十进制、十六进制转换运算;(4)其他功能。
10、数字式秒表
设计一个具有特定功能的数字式秒表。
该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
该数字式秒表应具有开始、暂停、连续、清零和停止功能。
设计要求
1、以上课题可以任选其一或多选,学生也可以自拟课题;
2、编程语言:
汇编或C51;
3、计算机打印《单片机技术》课程设计说明书一份;
4、设计时间:
一周;
5、实物制作;
6、人员分组:
一人一组一实物。
六、《单片机技术》课程设计说明书正文主要内容
参照“《单片机技术》课程设计说明书正文主要内容”文件。
七、《单片机技术》课程设计说明书书写规范格式
参照“《单片机技术》课程设计说明书书写规范格式”文件。
八、参考资料
1、马忠梅,单片机的C语言Windows环境编程宝典[M],北京:
北京航空航天大学出版社,2003.6;
2、李光飞,单片机C程序设计指导[M],北京:
北京航空航天大学出版社,2003.01;
3、李光飞,单片机课程设计实例指导[M],北京:
北京航空航天大学出版社,2004.9。
电气自动化教研室
2013年9月10日
摘要
单片机是计算机技术,大规模集成电路技术和控制技术的综合产物。
经过30多年的发展历程,单片机应用已十分广泛和深入。
单片机的可靠性及应用水平越来越高和互联网连接已是一种明显的走向。
单片机内部已集成了各种电路,从功能上讲是万用机了。
所以可以毫不夸张的说,任何设备和产品的自动化、数字化和智能化都离不开单片机。
这一切表明单片机已成为人类生活中不可或缺的助手。
本电子钟采用ATMEL公司的AT89S52单片机为核心,加上其他必要的外围电路,设计的一个简单的数字电子钟,它由+5V直流电源供电,同时采用的是两个四位一体的LED数码管来显示,LED采用的是动态显示,通过LED灯能够比较准确的显示时、分、秒。
本设计的电子钟还有调时功能,在电子钟运行状态下,按下S2键,能够通过按S3、S4、S5键分别对时、分、秒进行调整。
整个电子钟能够完成通电或复位后数码管显示”P.”,运行状态下显示时间,调整时间。
关键字:
单片机;大规模集成电路技术;控制技术;电子钟;调时功能
ABSTRACT
Singlechipmicrocomputerisacomputertechnology,largescaleintegratedcircuittechnologyandcontroltechnologyoftheproduct.After30yearsofdevelopment,MCUapplicationhasverywideanddeep.Thereliabilityofthemicrocontrollerandapplicationlevelishigherandhigher,andtheInternetconnectionisacleardirection.MCUinternalhasintegratedthevariouscircuits,tellfromthefunctionistheuniversalmachine.Soyoucanliterally,anyautomatic,digitalandintelligentequipmentandproductisinseparablefromthesinglechipmicrocomputer.AllthissuggeststhatSCMhasbecomeanindispensableassistantinhumanlife.
ThiselectronicclockUSEStheAT89S52singlechipmicrocomputerasthecoreofATMELcompany,togetherwithothernecessaryperipheralcircuit,designasimpledigitalelectronicclock,itconsistsof+5vdcpowersupply,atthesametimeuseistwotofourLEDdigitaltubetodisplay,LEDbyadynamicdisplay,throughledscancomparetheaccuratedisplay,minutesandseconds.Thedesignofelectronicclockwithadjustablefunction,undertheelectronicclockrunningstatus,presstheS2button,canrespectivelybypressingtheS3,S4,S5pair,minutesandsecondstoadjust.Thewholeelectronicclocktoresetaftercompleteelectricityordigitaltubedisplay"p.",showtimerunningcondition,adjustthetime.
Keywords:
singlechipmicrocomputer;largescaleintegratedcircuittechnology;thecontroltechnology;electronicclock;adjustthetime
1数字电子钟任务、功能要求说明及方案介绍
1.1设计课题任务
设计一个具有特定功能的电子钟。
该电子钟能显示时间,能够调整时间。
1.2功能要求说明
设计一个具有特定功能的电子钟。
该电子钟上电或按键复位后能自动显示系统提示符“P.”,进入时钟准备状态;第一次按电子钟启动/调整键,电子钟从0时0分0秒开始运行,进入时钟运行状态;再次按电子钟启动/调整键,则电子钟进入时钟调整状态,此时可利用各调整键调整时间,调整结束后可按启动/调整键再次进入时钟运行状态。
1.3数字电子钟总体方案介绍及工作原理说明
1.3.1数字电子总体方案
本电子钟主要由单片机、电源电路、键盘电路、复位电路、振荡电路、下载电路,显示接口电路构成。
设计总体方案如图1所示:
图1总体设计方案图
1.3.2数字电子钟工作原理
数字电子钟是一个将“时”,“分”,“秒”显示于人的视觉器官的计时装置。
首先接上电源导入程序,会看到显示管上显示P进入等待状态,按下S2启动/调整键选择电子钟功能,电子钟开始计时,它的计时周期为24小时,当分、秒显示59分59秒时,小时显示自动加1,显示的满刻度为23时59分59秒。
当显示为23时59分59秒时,电子钟会自动变为0时0分0秒。
再次按电子钟S2启动/调整键,则电子钟进入时钟调整状态,按S3键可以时位上加1,按S4键可以在分位上加1,按S4键可以在秒位上加1。
此时可利用各调整键调整时间,调整结束后可按S2启动/调整键再次进入时钟运行状态。
按S1复位键显示管上又将显示P进入等待状态。
2数字电子钟硬件系统的设计
2.1数字电子钟硬件功能模块介绍
2.1.1电源电路功能模块
此次的做数字电子钟用的电路板有2个可以提供电源的地方,一个是下载口,接上下载口就可以通+5V的电源,但是接上下载口做电源,那就不能用电源开关控制电路板的开与关,另一个可以提供电源的就是电源插口,接上电源插口可以提供+5V的电压,可以用电源开关控制电路板的开与关。
2.1.2键盘电路功能模块
在这个做数字电子钟用的电路板上用的是独立式键盘,独立式键盘是直接用I/O口线构成的单个按键,每个按键单独占用一根I/O口线,每个按键不会影响其他I/O口线的状态。
本模块共用了6个按键,一个开关按键,一个复位键S1,4个按键独立式键盘,一个启动/调整键S2,一个时针调整键S3,一个分针调整键S4,一个秒针调整键S5,其中4个按键独立式键盘S1、S2、S3、S4分别连在P1.0、P1.1、P1.2、P1.3、P1.4的I/O口线上。
由于机械触点的弹性以及电压突跳等原因,在触点闭合及释放的瞬间将出现电压抖动,因此,每当有键按下时都应该去抖动,本模块用的是时间延迟去抖动。
2.1.3振荡电路功能模块
振荡电路由反相器以及并联外接的石英晶体和电容构成,用于产生振荡脉冲。
其中输入端为引脚XTAL1,输出端为XTAL2。
通过这两个引脚在芯片外并接石英晶体振荡器和两只电容器构成振荡回路,为片内放大器提供正反馈和振荡所需的相移条件,从而构成一个稳定的自激振荡器。
振荡电路的脉冲频率即晶振频率,直接影响着时钟信号的频率。
晶振频率越高,系统的时钟频率就越高。
本模块选用的晶振频率大约为12MHz。
2.1.4复位电路的功能模块
复位是单片机的硬件初始化操作,经复位操作后,单片机系统才能开始正常工作。
复位方式有2种,即加电复位和手动复位。
加电复位是指通过专用的复位电路产生复位信号。
它是系统原始的复位方式,发生在开机加电时,是系统自动完成的。
手动复位也是通过专用的复位电路实现的。
在调试或运行过程中,遇到死机等故障时,手动复位是摆脱这种尴尬局面的最常见的方法。
总之,手动复位所完成的就是一次重新启动操作。
复位电路的好坏直接影响单片机的系统工作的可靠性,因此复位电路十分重要。
2.1.5下载电路的功能模块
下载电路就如字面的意思,作为下载程序用的的模块,首先将要实现的功能用程序写出来,经编译无错误后,通过下载口将程序下载到单片机中去,通过板子实现开始编写程序的功能。
下载口还一个功能就是提供电源,可以做电源电路使用。
2.1.6显示电路的功能模块
数码管是单片机中最常见的显示器件,数码管具有发光响应快,亮度强,机械性能好,体积小,重量轻等优点。
本次数字电子钟设计,采用的是两个四位一体的共阳极的数码管作为显示窗口,数码管的段控接在单片机的P0口线上,从a到dp与P0口到P7口对应连接,位控线接在P2口线上,从LED0到LED7分别接在P2.0与P2.7对应连接。
LED灯动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果一样。
2.2数字电子钟电路原理图、PCB图、元器件布局图各一份
2.2.1数字电子钟电路原理图
数字电子钟原理图见附录B
2.2.2数字电子钟的PCB图
数字电子钟的PCB图见附录C
2.2.3数字电子钟的元器件布局图
数字电子钟元器件布局图见附录D
2.3数字电子钟元器件清单
数字电子钟元器件清单见附录E
3数字电子钟软件系统的设计
3.1数字电子钟使用单片机资源情况
四个独立式按键分别连在P1.0口到P1.3口上,电子钟开启键/调整键为S2接在P1.0口线上,当电子为调整状态时,按键S3接在P1.1口线上,为时针加1,按键S4接在P1.2口线上,为分针加1,按键S4接在P1.3口线上,为秒针加1。
P0口输出数码管段选信号,a到dp分别接在P0.0到P0.7口线上。
P2口线上接数码管位选信号。
按键值存放在20H中,40H用于秒个位,41H用于秒十位,42H用于分个位,43H用于分十位,44H用于时个位,45H用于时十位。
3.2数字电子钟软件系统各模块功能介绍
本设计的软件系统主要由以下基本模块来实现,主程序,调整程序,键扫输入程序,中断服务程序,数码管及其驱动和延时模块。
3.2.1主程序模块
程序的初始化及按复位键S1后,数码管上显示P.,此时为电子钟等待状态,按启动/调整键S2进入电子钟的运行状态,按其他的键不影响电子钟只会显示P.,再按启动/调整键S2进入调整状态,按S3键可以时针加1,按S4键分针加1,按S5键秒针加1。
再按启动/调整键S2,电子钟进入运行状态。
不按启动/调整键S2,按其他键不影响电子钟运行。
3.2.2调整程序模块
调整程序模块就如字面的意思,就是用程序调整时间,当时间不准时,按下S2启动/调整键,就可以按一下S3键调整时针加1,按一下S4键可以调整分针加1,按一下S5键可以调整秒针加1。
此模块就是为了校准时间。
3.2.3键扫描输入程序模块
键扫描程序就是来判断是否有有键按下,没有按键将返回,如果有按键按下,则判断是哪个键按下,并得到特定的键码值。
3.2.4中断服务程序模块
中断的概念是CPU在处理A事件,发生一件B事件,请求CPU去处理,CPU暂时中断当前的工作去处理B事件,待B事件处理完了再回到原来A事件被中断的地方。
本模块的中断服务程序,就是用于电子钟的准确运行,数据输入过程中的闪烁
3.2.5数码管驱动及其驱动模块
本设计中数码管驱动用的是74HC573芯片,数码管限流电阻是470欧,数码管通电显示的是P.,按启动/调整键S2后,数码管显示电子钟的运行状态。
再按启动/调整S2,可以调整电子钟,调整的时、分、秒都可以在数码上显示。
3.2.6延时模块
本设计有两个地方用了延时程序,一个是独立式按键,按下有抖动,使用了短延时去抖,另一个是长延时,延时一秒加1的程序。
3.3数字电子钟软件系统程序流程框图
3.3.1数字电子钟主程序流程框图
图2主程序流程框图
3.3.2键扫描子程序流程框图
图3键扫描子程序框图
3.3.3中断服务程序流程框图
图4中断服务程序流程框图
3.3.4“P.”点显示子程序流程框图
图5“P.”点显示子程序流程框图
3.3.5显示子程序流程框图
图6显示子程序流程框图
3.3.6加1子程序流程框图
图7加1子程序流程框图
3.4数字电子钟软件系统程序清单
数字电子钟软件系统程序清单见附录A
4设计结论、仿真结果、误差分析、教学建议
4.1数字电子钟的设计结论及使用说明
4.1.1数字电子钟的设计结论
本设计为数字电子钟设计,记得刚刚选这个课题时只知道这个课题相对其他课题来说是相对较简单的,而且做这个课题不用做其他板子,所以一直认为这个课题比较简单。
直到真正开始做这个课程设计时,才知道没有我相信中的那么简单,首先是毫无头绪,于是通过上网找相关资料和看相关的书,让自己头脑中的模糊概念慢慢清晰起来。
使自己稚嫩的作品慢慢完善。
在这其中经历了很多困难,但是从中也学到了很多东西。
本设计用了两个四位一体的共阳数码管做显示器,设计中有四个按键,S2为启动/调整按键,S3为时值加1按键,S4为分值加1按键,S5为秒值加1按键。
本设计基本完成任务。
4.1.2数字电子钟的使用说明
给电路板子通电后,8个数码管显示初始状态即最右边的一个数码管显示”P.”,如果没有显示”P.”按下复位键S1,就可以看到数码管上显示“P.”,此时电子钟进入等待状态,按下S2启动/调整键,电子钟进入运行状态,显示00时00分00秒并开始运行。
在运行状态下,按S3、S4、S5键都无效,按S2键进行时间调整。
若要进行时间调整,则按下S2启动/调整键,电子钟进入调整状态,按S3键可以将时值加1,按S4键可以将分值加1,按S5键可以将秒值加1。
再按S2键电子钟恢复运行状态。
4.2数字电子钟的仿真结果
4.2.1待机
图8“P.”显示
4.2.2启动
图9启动
4.2.3运行
图10电子钟运行状态
4.3数字电子钟的误差分析
本电子钟在通电显示“P.”没问题后,按S2键进入电子钟运行状态,就发现00秒到01秒显示时间有误差,而本程序是采用中断来计时的,对于定时器T0定时50ms,每中断一次对相应的单元加1,满20次就产生1秒的基准时间,单片机在执行中断程序是很准的,可是在中断程序中,中断响应是要一定的机器周期的,这可能是产生误差的原因。
还可能与硬件电路有关,还可能与晶振有关,设计中用到的是12.00MHZ的晶振,计算满20次为1秒,可能有误差。
还可能与所在的环境有关。
4.4设计体会
一分耕耘一分收获,在本次课程设计中我学到了很多东西。
首先是对单片机有了更深入的了解,比开始上课时的理解深多了,因为在课程设计中会遇到很多知识点的问题,然而我又不太熟悉,为了解决这个问题我就会去认真的看书,去思考那个问题到底是怎么解决的。
同时,我也知道书本上的理论知识与实践还是有区别的,要把理论知识应用到实践中需要有一个过程。
其次,在这次课程设计中,我更加熟悉了keil、protell99、proteus、CAD制图软件的使用,现在回想要做好这个课程设计,首先在设计程序前要对单片机的内部结构有一个深入的了解,知道单片机内有哪些资源,要有一个清晰的思路和一个完整的软件流程图,在设计程序时,要反复修改,不要妄想一次写成功。
课程设计中遇到问题很正常,但我们应该将问题记录下来,并分析清楚,以免下次再犯,课程设计好比我们的成长历程,难免有不如意的事情,但只要我们坚持下去,到最后我们一定能成功。
通过本次课程设计,我懂得了学习的重要性,也懂得了理论与实践结合的重要意义。
4.5教学建议
经过一个学期王老师教导的单片机学习,我学到了很多单片机的知识,王老师上课是我在大学中碰到的最严格的老师,其实一开始我是很反感这么严格的老师的,首先是因为其他的老师很宽松,就王老师上课很严格,可是通过一学期下来,虽然在王老师严格的要求下,日子没有在其他老师那里过的舒服,可是回头一看,这学期就单片机学的知识最多,做的东西也最多。
如果没有当时王老师的严格要求,我想我是不会学到这么多的东西的。
结束语
我觉得作为一名通信工程的学生,学习单片机知识,做单片机课程设计是很有必要的事。
因为单片机这门课程是一门实践性很强的课程,通过上单片机课让我们懂得理论知识而课程设计让我们把学到的理论知识运用的实践中去。
虽然自己对这们课程懂得不是很多,很多基础性的东西没有完全掌握,觉得很难理解,也没有很有效的办法去解决,但是靠着这段时间做课程设计自己查资料看书和在同学们的的帮助讲解下,渐渐对这门课有了兴趣。
我觉得培养主动学习知识的习惯是很重要的。
参考文献
[1]李广弟,朱月秀,等.单片机基础[M].北京:
北京航空航天大学出版社,2007
LiGuangdi,ZhuYuexiu,etal.microcontrollerbasedon[M].Beijing:
BeijingAerospaceUniversityPress,2007
[2]张洪润,兰清华.单片机应用技术教程[M].北京:
清华大学出版社,1997
ZhanghongRun,LanQinghua.microcomputerapplicationtechnologytutorial[M].Beijing:
TsinghuaUniversityPress,1997
[3]何为民.低功耗单片微机系统设计[M].北京:
北京航空航天大学出版社,1994
HeWeimin.low-powersingle-chipcomputersystemdesign[M].Beijing:
BeijingA
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)