课程设计报告书。
题目基于51单片机的路灯定时控制系统的设计。
院部名称机电工程学院。
专业电气工程及其自动化
班级10电气1班。
姓名唐荣鑫。
学号1004103024
设计地点工科楼c
设计学时1周。
指导教师高峰。
金陵科技学院教务处制。
摘要。随处可见的路灯,夜晚亮起,白天熄灭。本次设计的内容主要是模仿路灯控制的系统,实现人工操作定时路灯亮暗的功能。
硬件部分包括atmel89c51芯片、发光二极管、六位数码管、按键和若干电阻等等。采用这些器件的组合以及对89c51内部进行程序输入来实现调整定时起始和终止时间以及即时调时的功能。
关键词:89c51芯片;发光二极管;六位共阴数码管。
目录。一 、概述4
二、总体设计方案及说明5
三 、系统硬件芯片作用介绍6
3.1 89c51芯片作用介绍6
3.2发光二极管功能介绍8
3.3 六位共阴数码管功能介绍8
3.4外部按键作用介绍9
四 、系统软件部分设计10
4.1 程序设计流程图10
4.2 源程序11
五 、课程设计体会17
5.1 **调试17
5.2 心得体会18
六 、参考文献19
附录1:原理图20
一 、概述。
1.1 课程设计的目的。
1.让学生了解用单片机设计系统的流程以及其软硬件的设计方法。
2.加强学生的编程能力,可以编写简单程序实现设计的要求。
3.加强学生查阅资料,动手解决实际问题的能力。
4.考察学生综合设计的能力,并以此加强对单片机这门课程的认识。
1.2 课程设计的要求。
路灯定时控制系统的设计要求如下:
1)系统功能:利用单片机自身的定时计数器控制实时时间,通过程序设置,时间精度可以达到相关要求。通过i/o口的按键可以调整实时时间,点亮路灯时间,熄灭路灯时间。
2)给出系统设计方案,画出硬件连线图,并说明工作原理;
3)画出程序框图并编写程序;
4)软硬件联调,完成系统工作调试。
二、总体设计方案与说明。
设计方案说明:
(1)通过3个按键改变实时时间,路灯点亮时间,路灯熄灭时间的小时,分钟秒数。分别用两个按键进入点亮时间和熄灭时间设置模式,分别用两个led灯显示两个不同的模式加以区别。
(2)显示实时时间。
(3)用一个led灯模拟路灯显示,两个led灯模拟按键指示灯。
设计框图如下:
三、系统硬件部分设计。
3.1、 89c51芯片工作原理。
芯片引脚图。
89c51功能强大,如图所示,共有40个引脚,其中本次设计主要用到p0口、p1口、p2口以及外部中断引脚等等。下面就对本次设计用到的定时器和中断功能进行介绍。
一定时/计数器:
89c51单片机有两个16位定时器/计数器,利用51单片机本身的定时计数器来计数当前时间。51单片机本身有定时计数器功能,本系统利用它本身的定时计数器0来控制当前时间。
定时器有四种工作模式:
本次设计才用模式1,十六位计数器,用到内部定时器0进行定时。即内部程序tm0d=0x01,定时时间为:
t=(2^16-t0初值)×振荡周期×12
取t为0.5s,振荡周期频率为12mhz,计算得到初值为3caf,即th0=3c,tl0=af。
中断功能介绍:
所谓中断是指计算机在执行某一程序的过程中, 由于计算机系统内部或外部的某种原因, cpu必须暂时停止现行程序的执行,而自动转去执行预先安排好的处理该事件的服务子程序,待处理结束之后, 再回来继续执行被中止的程序的过程。实现这种中断功能的硬件系统和软件系统统称为中断系统。 89c51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
利用51单片机本身的两个外部中断来设置调节路灯的点亮时间和熄间,通过外部按键进入中断子程序,利用p2口的3个按键来改变路灯点亮与熄灭时间的时,分,秒。用一个p3^5口的一个按键来出中断(时间设置完毕)。利用p0口带上拉1k的电阻向八段共阴极码管输入段选码,利用p1的前面六个i/o口向六位数码管输入位选码。
51单片机的p0口当程序给其赋1的时候,i/o口显示的是高阻态而不是高电平。另外单片机i/o口所能提供的电流只有几个毫安,不足以点亮八段数码管。所以利用p0口的高阻态和上啦电阻,在端口赋1的时候,电流从单片机外部输入,通过单片机位选端口流出,直接点亮数码管。
利用p2^3,p2^4,p2^5的按键分别改变时间的秒,分, 时。
利用51单片机本身的定时计数器来计数当前时间。51单片机本身有定时计数器功能,本系统利用它本身的定时计数器0来控制当前时间。
3.2发光二极管功能介绍。
二极管引脚图。
本次设计用了三个发光二极管,其中一个为路灯,另外两个为暂停指示灯,二极管的a端接5v的电源另一端接89c51的引脚,当引脚输出为低电平时,二极管导通发光,当引脚输出为高电平时,二极管截止熄灭。通过程序以及外部信号的配合使得引脚在不同状况下输出不同的电平,以此来控制路灯的亮暗。
3.3 六位共阴数码管功能介绍。
六位数码管**图。
六位共阴数码管,在电路中的功能是显示当前时间以及定时时间。其中号管为时显示号管为分显示号管为秒显示。1~6接芯片的p1口,作为位选,选中哪一位哪一位的数码管就显示数字;adp分别接到p0口,为段选,不同的段码组合显示不同的数字,例如a~dp分别为***时,显示1。
3.4外部按键作用介绍。
按键接线图。
设最上面的开关为1,下面以此类推,如图所示,一共有六个开关。其中分别控制时、分、秒,每按一下,对应的参数分别加1,如按下开关1,则秒加1,按下开关2,则分加1;开关分别为路灯熄灭时间和点亮时间的控制,当按下4时,数码管显示熄灭时间,通过开关可以调熄灭时间,开关5的功能与开关4类似,是控制点亮时间的按键;开关6为恢复按键,即按下开关6,数码管恢复计时,继续显示即时时间。
四 、系统软件部分设计。
4.1 程序设计流程图。
4.2 源程序。
程序说明:采用三组,每组三个全局变量分别来控制实时时间,点亮时间和熄灭时间的秒,分,时。使用外部中断0和1来调整点亮时间和熄灭时间。
利用定时计数器0来计数当前时间。主程序可改变实时时间的数值,比较三组时间的数值,判断是否点亮路灯。
#include<>
#define uchar unsigned char
#define uint unsigned int
sbit ludeng=p2^7
sbit shic=p2^5
sbit fenc=p2^4
sbit miaoc=p2^3
sbit outin=p3^5
sbit inlamp1=p2^1
sbit inlamp2=p2^0
uchar code table=
uchar hour=12,min=0,second=0,sth=12,stm,sts=10,lh=12,lm,ls=20
uint aa=0;
void delay(uint u) /延时子程序。
uint x,y
for(x=u;x>0;x--)
for(y=110;y>0;y--)
void display(uchar h,uchar m,uchar s动态扫描子程序,扫描周期为50ms
uchar hhour,lhour,hmin,lmin,hsecond,lsecond;
hhour=h/10;
lhour=h%10;
hmin=m/10;
lmin=m%10;
hsecond=s/10;
lsecond=s%10;
p0=table[hhour];
p1=0xfep0口加上拉电阻才能显示高电平。不然是高阻态。
delay(2);
p0=0x00;
p1=0xfe消影。
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...