单片机课间作息时间控制器课程设计.docx
- 文档编号:4237959
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:27
- 大小:654.16KB
单片机课间作息时间控制器课程设计.docx
《单片机课间作息时间控制器课程设计.docx》由会员分享,可在线阅读,更多相关《单片机课间作息时间控制器课程设计.docx(27页珍藏版)》请在冰豆网上搜索。
单片机课间作息时间控制器课程设计
设计内容与设计要求
设计内容:
本课题要求以单片机为核心,设计一个具有定时和计数功能的智能化作息时间控制器。
该控制器要求有以下功能:
1、按作息时间接通/断开电铃;
2、课间接通/断开播放音乐设备;
3、时钟显示。
设计要求:
1)确定系统设计方案;
2)进行系统的硬件设计;
3)完成必要的参数计算与元器件选择;
4)完成应用程序设计;
*5)进行部分单元电路几应用程序的调
主要设计条件
作息时间控制器常用于学校教学楼的时间控制,利用单片机内部定时器实现时间基准定时,并配合“启动”、“复位”等按键的操作完成铃声、音乐的开/停控制,显示的内容要求有时、分、秒各两位。
说明书格式
封面
课程设计任务书
目录
第1章概述(课题设计的要求、目的及意义)
第2章系统总体方案选择与说明(系统硬件电路设计框图与工作原理)
第3章硬件电路设计(各部分电路设计、原理、参数计算、I/O分配等)
第4章应用软件设计(流程图、算法等)
*第5章系统仿真调试
第6章硬件调试与结果分析(开发板焊接、性能测试、结果、操作说明)
第7章结束语(系统设计小结:
已完成的工作、效果、特色、不足与展望)
致谢
参考文献
附录A系统硬件电路原理图
附录B程序清单
评分表
进度安排
设计时间两周
第一周:
星期一讲课,布置课题任务,借阅有关资料;
星期二上午:
讲课及课题介绍;
下午:
分组进行总体方案讨论,初步确定设计方案;
星期三上午:
方案论证与检查;
下午:
分组进行总体设计,硬、软件功能分配;
星期四硬、软件流程设计与计算;
星期五小系统焊接与调试;
第二周:
星期一分单元调试调试;
星期二写说明书初稿;
星期三检查设计情况,修改说明书;
星期四整理资料,准备答辩;
星期五交设计资料,答辩。
参考文献
参考文献
[1]王迎旭等.单片机原理及及应用.【M】机械工业出版社.2012年
[2]周向红.51单片机课程设计.【M】华中科技大学出版社.2011年
[3]陈世清.c语言课程设计.【M】浙江大学出版社.2012年
[4]张迎新.单片机微型计算机原理及接口技术.【M】国防工业出版社.2009年
目录
第1章概述
1.1课题任务简介........................................................................................1
1.2课题设计的目的及意义........................................................................1
第2章课题方案设计.................................................................................2
2.1课题方案设计........................................................................................2
2.2课题方案简要原理...............................................................................2
第三章硬件设计........................................................................................3
3.1单片机芯片选择...................................................................................4
3.2电源电路..........................................................................................4
3.3时钟电路..........................................................................................4
3.4复位电路..........................................................................................4
3.5蜂鸣器输出电路..............................................................................5
3.7按键输入电路..................................................................................6
3.8LED数码驱动电路.........................................................................6
第四章软件设计.....................................................................................8
4.1主程序的设计....................................................................................8
4.2显示程序的设计...............................................................................11
4.3计时程序的设计...............................................................................11
4.4辅助子程序的设计...........................................................................13
第五章系统调试......................................................................................15
5.1调试准备...........................................................................................15
5.2调试结果...........................................................................................15
5.2.1软件仿真显示..........................................................................16
5.2.2硬件显示..................................................................................16.
5.3调试故障及分析...............................................................................18
第6章总结...............................................................................................19
参考文献........................................................................................................19
附录................................................................................................................20
第1章概述
1.1课题任务简介
以单片机为核心,设计一个具有定时和计数功能的智能化作息时间控制器。
该控制要求具有以下功能:
(1)使用4位七段显示器来显示现在的时间,显示格式为“时分”,时和分中间的小数点闪动做秒计数。
(2)通过按键能够进行时间校准。
(3)作息时间已达,发出指令控制电铃开、关操作。
(4)上电初始时间13:
00.然后通过按键设置当前时间。
1.2课题设计的目的及意义
应用STC90C52RC为核心控制器件的作息时间控制器,由键盘、声音输出模块、电源转换模块和存储模块四部分组成。
它利用STC90C52RC的定时/计数器来计算时间,并用存储器记录数据,保证了系统的可靠性。
单片机是整个设计的核心控制器件,根据从键盘接受的数据控制整个系统的工作流程,整体性好,人性化强,可靠性高。
实现了对时间控制的智能化,摆脱了传统由人来控制时间的长短不便,可对一些以24小时为周期的开关量进行自动控制。
如上下课打铃及扩音设备的开与关。
设有四位数码管可以实时显示时间、系统还设有输入键盘,用以修改实时时钟,体现了系统简单、工作稳定可靠、价廉、控制时间精准及系统体积小等优点。
第2章课题方案设计
2.1课题方案设计
根据系统的功能要求,拟定系统硬件电路结构由单片机、电源电路、时钟电路、复位电路、按键输入电路、蜂鸣器模拟电路和LED数码管驱动显示电路。
其结构框图如图2-1所示。
蜂鸣器模拟电路
电源电路
单
片
机
机
按键输入电路
时钟电路
LED数码驱动显示电路
复位电路
图2-1结构框图
2.2课题方案原理简述
作息时间控制器系统使用4位七段显示器来显示现在的时间,显示格式为“时分”,由LED小数点闪动作为秒计数表示。
可以使用按键输入电路设定作息时间。
能够根据预先设定好的作息时间表自动启停蜂鸣器电路,完成对外部电路的实时控制。
由按键输入控制设置年月日以及当前时间、并可设置闹钟定时、时间到由蜂鸣器发出响声并作出相应动作:
二极管闪亮,同时播放音乐。
第3章硬件设计
在作息时间控制器中,硬件设计主要是完成单片机芯片型号的选择,电源电路、时钟电路和复位电路、蜂鸣器模拟响铃电路、按键输入电路和LED数码驱动显示电路的设计。
3.1单片机芯片选择
STC90C52RC单片机的芯片,它具有超强的抗干扰和抗静电能力、成本低、超低功耗、更强的复位效果等优点。
芯片引脚和对应的输出功能如图3-1-1和3-1-2所示:
图3-1-1芯片引脚图
引脚名称
功能
VCC
提供电源
RST
系统复位
P0.0-P0.7
显示断码输出
P2.0-P2.7
位码输出和键盘输出
P3.7
蜂鸣器
图3-1-2输出功能图
3.2电源电路
电源电路是任何一个电子系统都需要供电电路,即电源,单片机也不例外。
单片机的供电电源可以是开关电源、线性电源、常用的电源装换芯片和USB电源等。
无论哪一种电源设计都要严格考虑它的各项指标。
在这里选择的是可调直流电源适配器,输出电压正负极性可转换,试用范围广泛。
此单片机中电源电路由开关按钮、整流桥、滤波电路和二次整数及滤波电路组成。
3.3时钟电路
本系统采用的是内部时钟方式。
采用12MHZ的晶振(机器周期为1us)和两个30Pf的电解电容。
具体接线图如图3-3所示
图3-3时钟电路
3.4复位电路
只需要给RST引脚连续输入2个机器周期以上高电平,就可以完成单片机的初始化操作。
在此次课程设计中复位电路采用的是一个规格为1K和一个规格为10K的电阻,再加一个规格为22uF的电解电容,具体电路连线图如图3-4所示。
图3-4复位电路
3.5蜂鸣器模拟响铃电路
将单片机P3^7口上接入蜂鸣器期间需要放大电路才可驱动蜂鸣器发出声。
放大电路主要利用具有放大特性的电子元器件:
晶体三极管,三极管加上工作电压后,输入端的微小电流变化可以引起输出端较大的电流变化,输出端的变化要比输入端的变化很多。
电路图如图3-5所示:
图3-5蜂鸣器模拟电路
3.7按键输入电路
按键输入电路主要实现对时间的设定,本系统采用四个独立键盘,k1键是实现设定小时和分钟设定的模式切换,k2键是对小时或者分钟进行加1,k3是对小时或者分钟进行减1,K4是对前三个的设置进行退出。
如图3-7所示
图3-7按键输入电路
3.8LED数码驱动显示电路
该设计中采用的是共阳极数码管,数码管由断码和位码组成,由反相器组成驱动电路实现时分的显示功能。
abcdefgdp为断码分别接入单片机P0I/O口,位码W1、W2、W3、W4分别经驱动后接入P2.4、P2.5、P2.6、P2.7。
第一个数码管显示小时的十位第二个数码管显示小时的各位,第三个数码管显示分钟的十位,第四个数码管显示分钟的各位。
中间小数点闪烁代表秒。
电路设计如图3-8所示。
图3-8LED数码驱动显示电路
第4章软件设计
该控制器的软件设计是用keil软件用c编程。
利用单片机的定时中断进行计时,通过按键扫描来设置当前时间。
主要包含这些程序段,分别是主程序、显示子程序和计时子程序,此外还包初始化子程序、延时子程序、时间显示辅助程序。
以及程序中包含的头文件和宏定义构成了整个程序的设计。
4.1主程序的设计
主程序中主要的作用是调用初始化子程序,按键扫描和调用显示子程序。
按键扫描部分
(1)Key=1表示选中第一个按键,进行小时和分钟的设置,key=1按键的次数进行存入X1,当X1=1进入小时的设置,当X1=2进入分的设置。
当X1=3回到初始状态。
(2)Key=2表示选中第2个按键,此时在key=1的次数等于1小时加1调整设置,key=1的次数等于2表示进行分钟加1的调整设置。
小时的范围为0—23,分钟的范围为0—59。
(3)Key=3表示选中第3个按键,此时在key=1的次数等于1小时减1调整设置,key=1的次数等于2表示进行分钟减1的调整设置。
(4)Key=4表示选中第一个按键,当执行按键1、2、3的功能时,均可退出到初始状态。
闹铃部分
以下是学校课间作息时间表,依此来对程序设计进行打铃。
表4-1课间时间作息表
名称
时间段
第一节
8:
00—8:
45
第二节
8:
55---9:
40
第三节
10:
10---10:
55
第四节
11:
05---11:
50
第五节
14:
00---14:
45
第六节
14:
55---15:
40
第七节
16:
10---16:
55
第八节
17:
05---17:
50
第九节
19:
00---19:
45
第十节
19:
55---20:
40
第十一节
20:
50---21:
35
当时间到达设置点时,对闹钟标志位P3.7置0来确定闹铃响,例如,当8点钟的时间到,第一节课准备开始上课,对打铃时间设置30S,当8:
45时间到,闹铃响,开始下课,铃声响30S,完成打铃,依此类推。
图4-1是主程序流程图。
开始
图4-1主程序流程图
4.2显示子程序的设
设置P2=0xff,则选中小时的十位数码管,即W1,然后送断码给P0口,显示相应的数字。
其中有一个条件,当设置小时有效,即X1==1和计数大于10时便返回,每一个数码管可以显示0-9十个数字,然后调用延时即可。
设置P2=0xbf,则选中小时的各位数码管,即W2,设置P2=0xdf,则选中分的十位数码管,即W3,设置P2=0xef,则选中分的各位数码管,即W4。
具体流程图如下。
开始
送位选数码管
送位选数码管
显示数值
调用延时,不是第四位数码管时N++显示下一位
图4-2显示程序流程图
4.3计时程序的设计
首先运用定时扩展的方法构成最小单位的定时,在定时/计数器T0方式1下定时50ms,计数20次构成1s为单位的数值。
当1s计数次数sec==60时条件成立便构成1min,当1min计数次数m==60成立构成了1hour,当1hour计数次数h==24条件成立构成了一天,然后返回。
开始
定时器定时0.05S
cnt++
N
cnt==20?
是否为1s
Y
Cnt清零,Sec++
N
Sec==60?
是否为1m
Y
Sec清0,m++
N
m==60?
是否为1h?
Y
m清零,h++
N
H=24?
是否为1天?
Y
h==0,中断返回
图4-3计时程序流程图
4.4辅助子程序
此部分包含包含数码管显示辅助子程序、初始化子程序、按键扫描辅助函数和延时子程序。
(1)数码管显示子程序主要是把小时分解到千位和百位,分钟分解到十位和各位。
程序见voidbianhuan1(void)部分的编写。
对应的端口号、数字、和断码表如表4-4所示
表4-4I/O分配表
a
d
dp
c
g
b
f
a
数字
断码
P0.7
P0.6
P0.5
P0.4
P0.3
P0.2
P0.1
P0.0
0
0
1
0
1
0
0
0
0
28H
1
1
1
0
1
0
1
1
1
EBH
0
0
1
1
0
0
1
0
2
32H
1
0
1
0
0
0
1
0
3
A2H
1
1
1
0
0
0
0
1
4
E1H
1
0
1
0
0
1
0
0
5
A4H
0
0
1
0
0
1
0
0
6
24H
1
1
1
0
1
0
1
0
7
EAH
0
0
1
0
0
0
0
0
8
20H
(2)初始化子程序中主要设置定时计数器T0定时下的工作方式1,即TMOD=0x01,计数初值为(65536-50000)=15536,化成十六进制为3cb0,所以TH0=0x3c,TL0=0xb0,此外还要启动定时器T0,即TR0=1,T0开中断允许和开总中断,即ET0=1和EA=1。
其程序参见附录voidinit(void)部分的编写。
(3)按键扫描函数主要完成将P2低四位赋为1,若有按键按下则P2口对应的位会为0,也就会出现0x0f&P2=0x07、0x0b、0x0b、0x0d和0x0e四种情况,分别是四个按键按下的状态。
其程序见unsignedcharscankey(void)部分的编写。
(4)延时子程序供其它子程序的调用,延时0.1毫秒。
其程序参见voiddelay(uchar)部分的编写。
第五章系统调试
5.1调试准备
根据硬件的设计,把线路接好,采用RS232标准的DB-9连接器,和串口转USB接口线进行数据的传输,通过STC-ISP-V483软件进行程序的下载,选择MCUType中STC90C52RC芯片,设置端口号COM5以及波特率,打开程序进行下载,上电。
5.2调试结果
5.2.1软件仿真显示
软件仿真整体效果如图5-1所示,初始上电显示时间13:
00。
小数点闪烁一次代表一秒。
图5-1软件仿真图
5.2.2硬件显示
(1)上电后根据程序的初始设置,显示时间为13:
00,中间的小数点闪动一次代表时间进行1秒。
如图5-2所示
图5-2硬件显示图1
(2)小时的设置。
按下第一个键进行小时的设置,再按下第二个键两次时间显示15:
00(按第一次时蜂鸣器会根据预设时间响铃30S)。
按下第三个键三次时间显示12:
00。
按下第一个键三次或者按下第四个键停止当前操作。
如图5-3和5-4所示。
图5-3硬件显示图2
图5-4硬件显示图3
(3)分钟的设置。
按下第一个键两次进行分钟的设置,再按下第二个键两次时间显示12:
02,按下第三个键三次进入时间显示12:
59。
按下第一个键三次或者按下第四个键停止当前操作。
如图5-5和5-6所示。
图5-5硬件显示图4
图5-6硬件显示图5
5.3调试故障及分析
(1)上电后,数码管f段不显示。
分析:
检查程序调试无误后,检查单片机硬件经电表测试,f端没焊接好。
(2)蜂鸣器上电后到设置时间不打铃
分析:
检查程序调试无误后,检查单片机硬件连接,P3.7口没短接。
(3)按键进行时钟加设置时加到时钟加到16出现紊乱。
分析:
检查程序是对时钟h进行赋值时把“==”写出“=”
(4)部分小数点没有实现秒闪作用。
分析:
这一部分的设置和小时的各位段断码dp直接设置会有冲突,要错开进行设置,当0.5秒时就是亮一次,再过0.5秒就灭一次,这样闪亮就是1S。
第6章总结
单片机课程设计分为两周,第一周在老师的指导下我们完成了对我们组课题作息时间控制器的方案确定,设计了原理图,再仿真,焊接。
这一过程让我收获颇多,让我明白了就自动化专业而言,我们所学的东西都是一层连一层的,再对原理图的设计时,我们感觉甚至对以前学的简单数模电知识都忘记了,再紧张的时间里一边查阅以前所学的课程,像模电、数电、电路、C语言、微机原理、proteus都引用到了本次课程设计。
我们组员在这场课程设计中有了明确的分工合作,画原理图硬件设计、程序设计分析调试、对整个单片机的调试与分析。
反反复复,有时一个小的错误要检查很久,但我们组员至始至终没有放弃,最终在老师检查与指导我们终于完成了这次单片机课程设计。
参考文献
[1]王迎旭等.单片机原理及及应用.【M】机械工业出版社.2012年
[2]周向红.51单片机课程设计.【M】华中科技大学出版社.2011年
[3]陈世清.c语言课程设计.【M】浙江大学出版社.2012年
[4]张迎新.单片机微型计算机原理及接口技术.【M】国防工业出版社.2009年
附录
#include
#defineuintunsignedint
#defineucharunsignedchar
ucharcodea[10]={0x28,0xEB,0x32,0xA2,0xE1,0xA4,0x24,0xEA,0x20,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 课间 作息 时间 控制器 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)