创新实践周课程设计基于51单片机的时间继电器设计.docx
- 文档编号:10387747
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:21
- 大小:171.18KB
创新实践周课程设计基于51单片机的时间继电器设计.docx
《创新实践周课程设计基于51单片机的时间继电器设计.docx》由会员分享,可在线阅读,更多相关《创新实践周课程设计基于51单片机的时间继电器设计.docx(21页珍藏版)》请在冰点文库上搜索。
创新实践周课程设计基于51单片机的时间继电器设计
成绩评定表
学生
王子豪
班级学号
1103030423
专业
电子信息工程
课程设计题目
时间继电器设计
评
语
组长签字:
成绩
日期
20年月日
课程设计任务书
学院
信息科学与工程学院
专业
电子信息工程
学生
王子豪
班级学号
1103030423
课程设计题目
时间继电器设计
实践教学要求与任务:
1.能正确认识元器件;
2.能读懂电路原理图;
3.能正确掌握PCB图和原理图关系;
4.掌握基本焊接技巧,保证不能出现断路、短路、极性软件焊反等情况,以便保证下一步调试程序的运行
工作计划与进度安排:
2014年11月03日—2015年01月11日
2014年11月03日—2014年11月30日为上机时间;
2015年01月05日进行答辩并且收课程设计报告
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
201年月日
1总体设计1
1.1设计任务1
1.2设计要求1
1.3方案论证1
2设计思想1
2.1硬件设计思想1
2.2软件设计思想2
3电路原理与电路图2
3.1电路原理2
3.2电路原理图3
3.3AT89C52单片机及其引脚说明3
3.4数码管显示系统电路5
3.4.1数码管的介绍5
3.4.2四位数码管的介绍6
3.5继电器电路7
4系统程序的设计9
4.1主程序9
4.2显示子程序10
4.3定时器T0、T1中断服务程序11
4.4程序清单11
5仿真结果14
5.1仿真环境14
5.2仿真结果15
6设计总结17
参考文献17
时间继电器设计
1总体设计
1.1设计任务
(1)实现STC89C52继电器控制。
(2)实现定时器倒计时并用数码管显示。
(3)实现单片机的三个控制键;开始键,分钟键和秒键。
1.2设计要求
用STC89C52单片机时间继电器设计,可以通过键盘设定时间,时间在数码管上显示,最后控制继电器动作。
1.3方案论证
方案一:
用AT89C51作为主要芯片,采用排阻,并用汇编语言写程序,采用硬件消抖
方案二:
采用三极管驱动数码管,C语言编写程序,在编写程序时进行软件消抖
相比之后方案二更简便,因为软件消抖更容易,C语言程序更容易懂,易修改,硬件电路更简单。
2设计思想
2.1硬件设计思想
数字电子秒表具有显示直观、读取方便、精度高等优点,在计时中广泛使用。
本设计用单片机组成数字电子秒表,力求结构简单、精度高为目标。
设计中包括硬件电路的设计和系统程序的设计。
其硬件电路主要有主控制器,计时与显示电路和回零、启动等。
主控制器采用单片机AT89C52,显示电路采用四位共阳极LED数码管显示计时时间。
由于本实验有四位数码管,如果采用静态显示要占用全部的I/O端口,所以本次试验采用静态显示,
建立最小单片机系统,在AT89C51单片机的P2端通过三极管接上4位七段共阴极数码管,P2.0脚接第一位数码管片选端,P2.1脚接第二位数码管片选端,P2.2脚接第三位数码片选端,P2.3脚接第四位数码管片选端,这四位分别显示秒时间的十位,个位,小数点后一位,小数点后两位显示的片选控制端。
P2.4脚接小数点控制端。
秒表控制键盘。
用P3.0接键盘开启计时键,P3.1接键盘计时暂停键,P3.2接键盘计时复位键。
2.2软件设计思想
采用C语言编写程序,程序共有四部分;
第一部分是主程序,用于对程序的中断控制、数据等的初始化,并且对秒表控制键盘的扫描。
第二部分时间产生程序,用定时/计数器0中断程序用时产生时间,利用每10m进入本中断程序一次
第三部分4位七段共阴极数码管动态显示程序,用定时/计数1中断程序每50ms对数码管各扫描一次,是利用人眼视觉暂留实现数码管的显示。
第四部分动态扫描延时程序,用于在对数码管动态扫描时,每扫描一个数码管后的延时程序。
以实现四位数码时间同时显示的效果。
3 电路原理与电路图
3.1电路原理
AT89C51单片机做为控制电路,用P1口做为数据输出端,P2口做为4位七段共阴极数码管的片选控制输出口,P3.0,P3.1,P3.2做为键盘接口。
时间显示器,由4位七段共阴极数码管构成。
3.2电路原理图
图3-1单片机系统电路原理图
3.3AT89C52单片机及其引脚说明
AT89C52是一个低电压,高性能CMOS8位单片机,片含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
主要功能特性:
•兼容MCS51指令系统
•8k可反复擦写(>1000次)FlashROM
•32个双向I/O口
•256x8bit部RAM
•3个16位可编程定时/计数器中断
•时钟频率0-24MHz
•2个串行中断
•可编程UART串行通道
•2个外部中断源
•共6个中断源
•2个读写中断口线
•3级加密位
•低功耗空闲和掉电模式
•软件设置睡眠和唤醒功能
图3-251单片机引脚图
3.4数码管显示系统电路
3.4.1数码管的介绍
本系统输出结果选用4个LED显示。
LED数码管的外形结构如图2-4,外部有10个引脚,其中3,8脚为公共端也称位选端,其余8个引脚称为段选端,当要使某一位数码管显示某一数字((0-9中的一个)必须在这个数码管的段选端加上与数字显示数字对应的8位段选码(也称字形码),在位选端加上低电平即可。
LED有共阴极和共阳极两种。
如图2-4所示。
二极管的阴极连接在一起,通常此公共阴极接地,而共阳极则将发光二极管的阳极连接在一起,接入+5V的电压。
一位显示器由8个发光二极管组成,其中7个发光二极管构成字型“8”的各个笔划(段)a~g,另一个小数点为dp发光二极管。
当在某段发光二极管施加一定的正向电压时,该段笔划即亮;不加电压则暗。
为了保护各段LED不被损坏,需外加限流电阻。
共阴极共阳极
图3-3LED数码管结构原理图
图3-4LED数码管引脚图
数码管显示器有两种工作方式,即静态显示方式和动态扫描显示方式。
为节省端口及降低功耗,本系统采用动态扫描显示方式。
动态扫描显示方式需要解决多位LED数码管的“段控”和“位控”问题,本电路的通过P1口实现:
而每一位的公共端,即LED数码管的“位控”,则由P3口控制。
这种连接方式由于多位字段线连在一起,因此,要想显示不同的容,必然要采取轮流显示的方式,即在某一瞬间,只让其中的某一位的字位线处于选通状态,其它各位的字位线处于断开状态,同时字段线上输出这一位相应要显示字符的字段码。
在这一瞬时,只有这一位在显示,其他几位则暗。
在本系统中,字位线的选通与否是通过PNP三极管的导通与截止来控制,即三极管处于“开头”状态。
使用LED显示器时,要注意区分这两种不同的接法。
为了显示数字或字符,必须对数字或字符进行编码。
七段数码管加上一个小数点,共计8段。
因此为LED显示器提供的编码正好是一个字节。
TX实验板用共阴LED显示器,根据电路连接图显示16进制数的编码已列在下表。
表3-1LED字形显示代码表
字型
共阳极段
共阴极段
字型
共阳极段
共阴极段
0
C0H
3FH
9
90H
6FH
1
F9H
06H
A
88H
77H
2
A4H
5BH
B
83H
7CH
3
B0H
4FH
C
C6H
39H
4
99H
66H
D
A1H
5EH
5
92H
6DH
E
86H
79H
6
82H
7DH
F
84H
71H
7
F8H
07H
空白
FFH
00H
8
80H
7FH
P
8CH
73H
3.4.2四位数码管的介绍
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
四位数码管阳=阴极连接在一起,阳极分开有各自的位选,动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
动态显示的亮度比静态显示要差一些,所以在选择限流电阻时应略小于静态显示电路中的。
图3-5数码管显示效果图
图3-6数码管部驱动电路
3.5继电器电路
继电器(英文名称:
relay)是一种电控制器件,是当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。
它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。
通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。
故在电路中起着自动调节、安全保护、转换电路等作用。
图3-7继电器
继电器线圈在电路中用一个长方框符号表示,如果继电器有两个线圈,就画两个并列的长方框。
同时在长方框或长方框旁标上继电器的文字符号“J”。
继电器的触点有两种表示方法:
一种是把它们直接画在长方框一侧,这种表示法较为直观。
另一种是按照电路连接的需要,把各个触点分别画到各自的控制电路中,通常在同一继电器的触点与线圈旁分别标注上相同的文字符号,并将触点组编上,以示区别。
继电器的触点有三种基本形式:
1、动合型(常开)(H型)线圈不通电时两触点是断开的,通电后,两个触点就闭合。
以合字的拼音字头“H”表示。
2、动断型(常闭)(D型)线圈不通电时两触点是闭合的,通电后两个触点就断开。
用断字的拼音字头“D”表示。
3、转换型(Z型)这是触点组型。
这种触点组共有三个触点,即中间是动触点,上下各一个静触点。
线圈不通电时,动触点和其中一个静触点断开和另一个闭合,线圈通电后,动触点就移动,使原来断开的成闭合,原来闭合的成断开状态,达到转换的目的。
这样的触点组称为转换触点。
用“转”字的拼音字头“z”表示。
继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一。
继电器一般都有能反映一定输入变量(如电流、电压、功率、阻抗、频率、温度、压力、速度、光等)的感应机构(输入部分);有能对被控电路实现“通”、“断”控制的执行机构(输出部分);在继电器的输入部分和输出部分之间,还有对输入量进行耦合隔离,功能处理和对输出部分进行驱动的中间机构(驱动部分)。
作为控制元件,概括起来,继电器有如下几种作用:
1)扩大控制围:
例如,多触点继电器控制信号达到某一定值时,可以按触点组的不同形式,同时换接、开断、接通多路电路。
2)放大:
例如,灵敏型继电器、中间继电器等,用一个很微小的控制量,可以控制很大功率的电路。
3)综合信号:
例如,当多个控制信号按规定的形式输入多绕组继电器时,经过比较综合,达到预定的控制效果。
4)自动、遥控、监测:
例如,自动装置上的继电器与其他电器一起,可以组成程序控制线路,从而实现自动化运行。
图3-8继电器驱动电路
4系统程序的设计
4.1主程序
本设计中,计时采用定时器T0中断完成,其余状态循环调用显示子程序,当端口开关按下时,转入相应功能程序。
其主程序执行流程见下图。
n
y
y
调用显示子程序
开始
显示单元清0
T0,T1设为16位计数器模式
允许T0中断
进入功能程序
键按下?
整分钟?
图4-1主程序流程图
4.2显示子程序
数码管显示的数据存放在存单元70H-75H中。
其中70H-71H存放秒数据,72H-73H存放分数据,74H-75H存放时数据,每一地址单元均为十进制BCD码。
由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。
显示时,先取出70H-75H某一地址中的数据,然后查得对应的显示用段码,并从P0口输出,P2口将对应的数码管选中供电,就能显示该地址单元的数据值。
为了显示小数点及“-”、“A”等特殊字符,在显示班级及计时时采用不同的显示子程序。
4.3定时器T0、T1中断服务程序
定时器TO、T1用于时间计时,定时溢出中断周期可分别设为50ms和10ms.中断进入后,现判断是时钟计时还是秒表计时,时钟计时累计中断20次(即1s)时,对秒计数单元进行加1操作,秒表计时每10ms进行加1操作。
在计数单元中采用十进制BCD码计数,满60(秒表功能时有100)进位,T0中断服务程序执行流程见下图
图4-2定时器流程图
4.4程序清单
#include
#defineuintunsignedint;//定义变量类型
#defineucharunsignedchar
sbitkey1=P3^1;//定义按键接口
sbitkey2=P3^2;
sbitDP=P1^7;
uintbb,shu;//定义变量
intaa=0;
uchartable[]={0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F};//寄存器地址定义
voiddelay(uintz);延时程序
voidkeyscan();//键盘扫描程序
voiddisplay(aa);//显示程序
voiddelay(uintz);//延时子程序
{
uintx,y;
for(x=20;x>0;x--);//每20秒延时一次
for(y=z;y>0;y--);
}
voidkeyscan();//键盘扫描,采用循环嵌套
{
if(key1==0)//判断P1.0的电平,决定是否延时
{
delay(10);
if(key1==0)
{
shu=1;
}
while(!
key1);
}
if(key2==0)
{
delay(10);
if(key2==0)
{
shu=2;
}
while(!
key2);
}
}
voiddisplay(aa);//显示子程序,输出到七段四位数码管
{
P1=~table[aa/1000];
P2=0x7f;
delay(15);//延时
P2=0xff;
P2=0xff;
delay
(1);
P1=~table[aa/100%10];
DP=0;
P2=0xbf;
delay(15);
P2=0xff;
P2=0xff;
delay
(1);
P1=~table[aa%100/10];
P2=0xdf;
delay(15);
P2=0xff;
P2=0xff;
delay
(1);
P1=~table[aa%10];
P2=0xef;
delay(15);
P2=0xff;
P2=0xff;
delay
(1);
}
voidtime0()interrupt1//定时模块
{
TH0=(65536-10000)/256;//TH0中断
TL0=(65536-10000)%256;//TL0中断
aa++;
if(aa>9999)
{
aa=0;
}
}
voidmain()//主程序
{
TMOD=0X01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
while
(1)
{
keyscan();
if(shu==1)
{
TR0=1;//寄存器初始化
shu=0;
}
if(shu==2)
{
TR0=0;
shu=0;
}
display(aa);
}
}
5仿真结果
5.1仿真环境
Proteus是英国Labcenter公司开发的电路分析与实物仿真软件。
它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:
①实现了单片机仿真和SPICE电路仿真相结合。
具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。
②支持主流单片机系统的仿真。
目前支持的单片机类型有:
ARM7(LPC21xx)、8051/52系列、AVR系列、PIC10/12/16/18系列、HC11系列以及多种外围芯片。
③提供软件调试功能。
在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2、MPLAB等软件。
④具有强大的原理图绘制功能。
总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。
5.2仿真结果
图5-1仿真开始
运行开始前,数码显示管显示为00.00。
按下开始键后,秒表程序运行,数码管开始跑动,如图5-2所示。
图5-2仿真倒计时
按下复位键,数码管清零,如图5-3所示。
图5-3仿真清零
6设计总结
课程设计圆满完成了,在本次的课程设计中我深深体会到单片机在实践中的作用,通过对单片机的学习,在本次课程设计中,我发现了自身的很多问题,只知道书本知识,不知道如何将理论知识运用到实践中,遇到问题无法顺利的解决,分析问题解决的能力非常缺乏。
在今后的学习中,要加强自己的动手能力的训练,使自己理论与实践更好的结合,更加深入的学习。
这次课程设计能够顺利,既有我的努力,但同时也离不开同学老师的帮助。
通过这次的课程设计让我对单片机的理论有了更加深入的了解。
参考文献
[1]邹丽新,翁桂荣.单片机微型计算机原理,大学,2001.12
[2]邹丽新,翁桂荣.单片机微型计算机及接口技术,大学,2002.4
[3]徐爱钧,秀华.单片机高级语言环境编程与应用,电子工业,2001.7
[4]科技,单片机典型模块设计实例导航,人民邮电,2004.5
[5]高峰,单片微型计算机原理与接口技术,科学,2007
[6]飞,单片机原理及其应用,电子科技大学,2007
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 创新 实践 课程设计 基于 51 单片机 时间继电器 设计