基于单片机的30秒定时器解读.docx
- 文档编号:24488195
- 上传时间:2023-05-28
- 格式:DOCX
- 页数:17
- 大小:148.17KB
基于单片机的30秒定时器解读.docx
《基于单片机的30秒定时器解读.docx》由会员分享,可在线阅读,更多相关《基于单片机的30秒定时器解读.docx(17页珍藏版)》请在冰豆网上搜索。
基于单片机的30秒定时器解读
课
程
设
计
题目:
基于单片机的30秒定时器
院(系):
**************
专业:
********
学生姓名:
******
学号:
**********
指导教师:
*****
职称:
副教授
20**年**月**日
摘要
定时器是生活中比较常见的电子仪器的功能之一。
但又比较实用,恰巧本人正在自学单片机,如果用单片机做的话,不失为一个学习的好机会。
这个实验的难点和优点都是程序控制。
因为单片机应用比较灵活,很有学习价值;而又因为它应用很灵活,所以必须学习大量的硬件知识和程序设计。
单片机最小系统就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。
单片机的最小系统包括晶振电路复位电路和电源这时最小系统基本组成,当然还可以添加矩阵键盘数码管等。
此实验的原理是利用单片机的最小系统,通过单片机来控制数码管、蜂鸣器等,并通过单片机内部中断来实现30秒定时器的功能。
关键词:
单片机STC89S52;10管脚共阴数码管;内部中断;蜂鸣器
前言
现在电子仪器发展迅速,而且功能越来越齐全化,体积微型化,仪器智能化;电压,电流要求越来越简单,功耗越来越低。
而单片机就是其中的佼佼者。
单片机有这体积小,功耗低(89C52功耗在100MW左右),功能强,性能价格比高,易于推广应用等显著特点,所以在现代社会中已经占统治地位。
事实上单片机是世界上数量最多的计算机。
现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。
手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。
而个人电脑中也会有为数不少的单片机在工作。
汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!
单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。
我们学习了单片机,在条件的允许下,就能制作生活中几乎全部的看起来比较复杂的电子作品。
1、设计报告
ⅰ.设计目的:
实现基于单片机的30秒定时器;训练动手能力,学习单片机的控制与制作。
ⅱ.设计任务:
1.30秒计时器功能,两位数字显示,计时时间间隔为1秒;
2.从1到30增计时,每次计时结束时,发光二极管闪动,蜂鸣器响,显示器显示0;
3.设置外部开关,可使计时器直接清零。
设计要求:
使用常用芯片和其他元器件等,在一块电路板上实现30秒定时器。
尽量使用所学知识。
㈡.
最小系统:
最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。
单片机的最小系统包括晶振电路复位电路和电源,本实验最小系统只控制数码管、发光二极管、蜂鸣器。
2.单片机端口定义
VCC(40引脚):
电源电压
VSS(20引脚):
接地
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口内部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带内部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有内部上拉电阻,那些被外部拉低的引脚会输出一个电流(
)。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:
在对FlashROM编程和程序校验时,P1接收低8位地址。
表XXP1.0和P1.1引脚复用功能
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流(
)。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,P2口引脚上的内容(就是专用寄存器(SFR)区中的P2寄存器的内容),在整个访问期间不会改变。
在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口(P3.0~P3.7,10~17引脚):
P3是一个带内部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过内部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3做输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流(
)。
在对FlashROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:
引脚号
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/
(30引脚):
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚(
)也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
(29引脚):
外部程序存储器选通信号(
)是外部程序存储器选通信号。
当AT89C51RC从外部程序存储器执行外部代码时,
在每个机器周期被激活两次,而访问外部数据存储器时,
将不被激活。
/VPP(31引脚):
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,
必须接GND。
注意加密方式1时,
将内部锁定位RESET。
为了执行内部程序指令,
应该接VCC。
在Flash编程期间,
也接收12伏VPP电压。
XTAL1(19引脚):
振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):
振荡器反相放大器的输入端。
3、整体硬件原理图
图1硬件原理图
图2硬件PCB版图
3.1硬件部分
硬件部分包括键盘部分,显示部分、STC单片机部分、蜂鸣器报警和二极管闪动
部分。
3.2键盘设计
采用独立键盘,与STC单片机IO口直接相连,实现时间调节功能。
这个按键的功能是实现清零作用。
3.3数码管显示设计
显示部分由10管脚共阴数码管构成,能显示2个数字,用来实现从0到30的数秒功能。
3.4蜂鸣器报警和二极管闪动
根据要求,从1到30增计时,两次计时结束时,发光二极管闪动,蜂鸣器响;从而设置了计时结束报时功能,到30了,蜂鸣器就能发出对应的声音、二极管就能闪动。
4、程序设计
#include
#include
#defineucharunsignedchar
#defineuintunsignedint
sbitwela1=P2^6;
sbitwela2=P2^7;//定义二个位选择
sbitled=P2^0;//定义发光二极管
sbitkey=P2^1;//按键
sbitbeep=P2^5;//蜂鸣器
voiddelay(uintz);//延时函数
voidinit();
uintaa,num=0,numb=0,temp=1;
ucharcodetable[10]={0xb7,0x11,0xab,0x9b,0x1d,0x9e,0xbe,0x13,0xbf,0x9f};//定义数码管显示数字
voidmain()
{
init();
while(temp)
{
if(!
key)
{
delay(100);
if(!
key)
{
while(!
key);
num=0;
numb=0;
}
}
wela2=1;
P0=table[num];
wela1=1;
wela2=0;
delay
(1);
//wela1=1;
P0=table[numb];
wela2=1;
wela1=0;
delay
(1);
}
while(!
temp)
{
P0=0xb7;
wela1=0;
wela2=0;
led=1;
delay(1000);
led=0;
delay(1000);
beep=0;
if(!
key)
{
delay(100);
if(!
key)
{
while(!
key);
num=0;
numb=0;
temp=1;
}
}
}
}
voiddelay(uintz)//延时函数
{
uintx,y;
for(x=z;x>0;x--)
for(y=11;y>0;y--);
}
voidinit()//程序初始化
{
//uintaa;
led=0;
beep=1;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;//开总中断。
ET0=1;//开定时器中断。
TR0=1;//打开定时器。
}
voidtimer0()interrupt1//外部中断1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==5)
{
aa=0;
num++;
if(num==10)
{
num=0;
numb++;
if(numb==3)
{
temp=0;
}
}
}
}
程序的中的注意点:
1.两位以上的数码管,是不能在静态时同时显示不同的符号的,所以就需要用到动态显示,具体方法是每位数码管一次都显示几毫秒,实现动态扫描,使人在肉眼难以分辨(人眼的分辨能力是0.1秒左右),例如:
dula=1;
P0=table[ge];
dula=0;
P0=0xff;
wela=1;
P0=0xfd;//11111101B
wela=0;
delay
(2);
2.常用程序驱动几个发光二极管来判断单片机是否工作正常,具体是用循环移动P1扣来实现。
3.如果按键按下,需要测试按键是否断开:
while(!
key1);
4.
按键在闭合和断开时,触点会存在
5ms左右
5ms左右
按下会执行几个抖动脉冲,常用软件消抖,比较方便实用,先延时10毫秒,大致跳过抖动时间,然后再测试。
如:
delay(5);
if(key1==0)
………………
其他的在这里就不详细讲述了。
为了保证程序能正确且正常运行,程序需要在单片机实验板上调试好了才能烧录,然后才能连接到电路板上。
具体步骤:
keil4编写程序———>生成HEX文件(注意晶振频率为11.0592MHz)———>用STC把程序下载到单片机上。
㈤.两个基本电路:
复位电路和晶振电路
复位电路:
一般需要送4个时钟周期的高电平。
按键后:
电容器被短路放电、RST直接和VCC相连,就是高电平,此时进入“复位状态”。
松手后:
电源开始对电容器充电,此时,充电电流在电阻上,形成高电平送到RST,仍然是“复位状态”;
稍后,充电结束,电流降为0,电阻上的电压也将为0,RST降为低电平,开始正常工作。
晶振电路:
产生一个固定频率的脉充,驱动芯片等元件工作。
晶振也叫晶体振荡器,能产生振荡,其特点是固有频率十分稳定,而且震动具有多谐性,除了奇频震动外还有奇次谐波泛音震动。
性能上,晶振的品质因素Q和特性阻抗都非常高,而且接入系数很小,因此具有很高的频率稳定度。
总结
其间,我熟悉了从构想设计、画电路图、分析电路、绘制PCB电路板、选择元件参数规格、购买元件、焊接、调试到最后的外形设计等产品生产步骤以及一些方法,通过与同学的讨论,解决了许多问题,但也出现了许多问题,比如数码管显示串连、单片机驱动低需要外加电路驱动等,还须在以后的学习中不断地探索、学习。
另外,还要多与同学讨论、研究,多向别人请教,这样才能明白自己的迷团,学到新的东西;别人遇到的一些问题,自己也要参与解决,以增长见识。
设计中,还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。
程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。
这次的单片机课程设计重点是理论与实际的相结合。
不再只读书了。
该设计从头到尾都要自己参与,熟悉了对整个设计的过程,更系统的锻炼了自己。
结束语:
通过本次设计,使我认识并了解了基本的设计开发过程,在这过程中,我的身边的同学们和导师给了我很多的启示和帮助,而且我觉的对以前不了解的单片机知识有了一个更高更深的了解。
我相信我所学的东西在以后的工作学习中会起很大的作用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 30 定时器 解读