单片机C语言课程设计.docx
- 文档编号:29207590
- 上传时间:2023-07-21
- 格式:DOCX
- 页数:8
- 大小:126.21KB
单片机C语言课程设计.docx
《单片机C语言课程设计.docx》由会员分享,可在线阅读,更多相关《单片机C语言课程设计.docx(8页珍藏版)》请在冰豆网上搜索。
单片机C语言课程设计
郑州交通学院
基于单片机的电子钟设计
系部:
信息工程系
学生姓名:
朱珂锋
指导教师:
姜海
专业:
电子信息工程技术应用
班级:
电信二班
学号:
20
摘要
51系列单片机是各单片机中最为典型和最有代表性的一种。
由RAM,ROM,CPU构成,定时,计数和多种接口于一体的微控制器。
本次设计的数字电子钟采用了AT89C51芯片进行,由8位8段数码管进行动态刷新显示,有四个独立按键。
可以进行秒、分、时的调整,且操作简单,计时误差小,显示亮度高,具有良好的实用价值。
这次课程设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。
应用Proteus软件实现了单片机电子时钟系统的设计与仿真。
该方法仿真效果真实、准确,节省了硬件资源。
关键词数字电子钟;单片机;C语言
1设计课题题目、目的要求及总体方案介绍
设计课题题目
基于单片机的电子钟设计。
设计课题目的
巩固《单片机技术》课程所学的有关知识。
通过硬件设计、软件设计,使学生掌握用单片机组成应用系统的方法,提高软件设计能力。
掌握单片机的定时/计数器的编程和使用方法。
进一步熟悉单片机功能部件的应用。
设计课题要求及工作原理说明
要求自己做出原理图设计。
并且要扩展一片8255芯片作显示接口,分别输出段码和位码;用P1口中的两根口线作功能键。
可利用四个LED分时显示当前时间和日历。
两个按键的功能:
A键用于调时,范围0~23,0为24点,每按一次时加1;B键用于调分,范围0~59,0为60分,每按一次分加1。
单片机程序设计、调试。
本课题采用单片机内部定时器,用软件对其进行秒、分、时的计数,单片机无法产生1s的定时时间,但是可以用硬件定时和软件计数相结合的方法实现,采用中断方式,即通过中断服务程序进行计数器溢出次数的累计,把定时器/计数器设定为,计数溢出16次就可以得到1s,计60次为1分,60分计60次则为1小时,然后通过数码管动态刷新显示出来,再设四个按键进行时间的调整,一个键用作启动/调整键,其余三个分别用于时、分、秒的调整。
通过理论设计和实物制作解决相应的实际问题,巩固和运用在《单片机C语言应用程序技术》中所学的理论知识和实验技能,掌握单片机应用系统的一般设计方法,提高设计能力和实践动手能力,为以后从事电子电路设计、研发电子产品打下良好的基础。
2数字电子钟硬件系统的设计
硬件总体设计
硬件系统总体设计如图所示。
图硬件系统总体设计
数字电子钟硬件系统主要模块功能简要介绍
(1)功能芯片:
本次设计采用AT89C51芯片,低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
256字节RAM,32位I/O口线,与工业80C51产品指令和引脚完全兼容。
价格较低,能满足本次设计的要求。
(2)电源和复位模块:
AT89C51需5V电压,所以可以采用USB接口的5V电源对其供电,复位电路可采用上电复位、按键电平复位、按键脉冲复位3种,本次采用按键电平复位。
如电路原理图中的电源和复位模块。
(3)显示模块:
该模块由8位8段共阳极数码管组成,由8个PNP型三极管分别驱动其发光,从左至右位控分别接于单片机的中上,段控a-dP接于单片机的口上,使用动态显示从右向左循环点亮每一位数码管。
如电路原理图中的数码管电路。
(4)键盘模块:
键盘由8个独立式按键组成,S0-S7键分别接在单片机的口,并由上拉电阻上拉使其成为电位为高。
如电路原理图中的独立键盘模块。
(5)时钟模块:
为了保证同步工作方式的思想,单片机必须有时钟信号,以使其系统在时钟信号的控制下按时序协调工作。
如电路原理图中的晶振电路。
数字电子钟电路原理图、PCB图、元器件布局图
数字电子钟电路原理图
数字电子钟元器件清单
元器件名称
规格
数量
STC11F02
1
DS1302
1
晶振
12MHz
2
数码管
8
74HC595
1
三极管
9012
9
蜂鸣器
1
小按键
4
下载口座子
十芯
1
18b20温度传感器
1
六脚开关
1
USB电源线加接口
1
电阻
200
1
电阻
1
电阻
1K
3
电阻
470
24
电解电容
220μF
1
瓷片电容
33pF
2
排阻
10K
2
短路帽
3
杜邦线8p
1
PCB板子
1
底座
3
数字电子钟元器件清单
3数字电子钟软件系统的设计
数字电子钟软件系统主要模块功能简要介绍
(1)主程序:
主程序的主要功能是进行定时器/计数器,显示缓冲区的初始化,显示,以及判断是否有功能键按下,判断按下的键并调相应的键功能程序。
(2)键功能程序:
键功能程序的主要功能是执行对应的功能,Menu键为启动/调整键,第一次按下则由待机状态进入运行状态启动时钟,从00-00-00开始显示,然后按下为奇数则暂停,进入调时状态,按下Sec键则秒加1,按下Min键则分加1,按下Hour键则时加1;若按下为偶数则进入时钟运行状态。
(3)中断服务程序:
中断服务程序的主要功能是进行计时操作,程序开始先判断计数溢出是否满了16次,若不满16次则表明没有达到最小计时单位秒,则中断返回;若满16次表明已达到最小计时单位秒,则程序断续向下执行,进行分和时的计时。
(4)显示子程序:
显示程序的主要功能是将显示缓冲区的段控码正确的显示在数码管上,采用动态显示,从右向左循环点亮每一位数码管。
(5)键扫子程序:
键扫子程序的主要功能是判断是否有键按下,是哪个键按下,并将键值保存在20H中。
数字电子钟软件系统程序流程框图
图计时1秒子程序流程框图图显示子程序流程框图
数字电子钟软件系统程序清单
ThecentralChinauniversityofscienceandtechnologypress
[2]单片机基础.北京航空航天大学出版社
SCMbasis.Beijingaerospaceuniversitypress
[3]模拟电子技术.高等教育出版社
Analogelectronictechnology.Highereducationpress
[4]电路分析基础.清华大学出版社
Circuitanalysis.Tsinghuauniversitypress
致谢
本次单片机的C语言应用程序课程设计能够顺利的完成,是小组各组员团结努力和廖代文老师的指导下完成的。
正是因为廖老师那一丝不苟、刚正不阿的态度才使我们有了做课程设计的动力。
感谢老师的助我们开拓解决问题思路,精心点拨、热忱鼓励。
老师一丝不苟的作风,严谨求实的态度,踏踏实实的精神,不仅授我以文,而且教我做人,是授以终生受益无穷之道。
对廖老师的感激之情是无法用言语表达的。
还有感谢学校对我们此次课程设计的大力支持,在学校的教学设备相对紧张的情况下,依然为我们安排了充分的时间使用学校的机房。
感谢我的同学在这个时间段对我完成课程设计的支持。
是你们在我遇到困难时,及时的帮助了我,使得程序等进展顺利。
附录
在Protel99SE软件中电路图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 语言 课程设计