单片机设计报告1单片机课程设计秒计时器设计Word文件下载.docx
《单片机设计报告1单片机课程设计秒计时器设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《单片机设计报告1单片机课程设计秒计时器设计Word文件下载.docx(23页珍藏版)》请在冰豆网上搜索。
![单片机设计报告1单片机课程设计秒计时器设计Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/15/dea3e2c7-bb37-42c5-aad6-52b3fb44de4d/dea3e2c7-bb37-42c5-aad6-52b3fb44de4d1.gif)
***
单片机课程设计任务书
专业年级***学号***学生姓名**
任务下达日期:
***
设计日期:
*****
设计题目:
秒计时器设计
设计专题题目:
设计主要内容和要求:
1.系统上电,数码管显示“99”.
2.每隔1秒,数码管显示减1,减小到“00”后,数码管显示“00”,同时继电器开启。
3.设置按键S13,当S13按下时,秒表计时停止,数码管显示当前数值,再次按下时恢计时。
4.当停止计时时,按下S14键,可以设置秒数,按键S1-S10分别对应数字0-9;
先输入数字为十位数,后输入数字为个位数,若输入数字大于99,数码管显示“99”。
按下S13键启动计时。
5.设置按键S15,当S15按下时,数码管显示为“99”,秒表从新开始计时。
6.考试过程中,应使用硬件平台指定的资源进行设计。
指导教师签字:
摘 要
单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内单片微型计算机简称单片机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机由芯片内仅有CPU的专用处理器发展而来。
仅有CPU的专用处理器发展而来。
本实验是基于MCS51系列单片机所设计的,可以实现键盘按键与数字动态显示并可以倒数的计数器。
本设计基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计制作出一个电秒计时器,包括以下功能:
通过单片机系统实现秒表计时功能,可以进行暂停计时、恢复计时、设定时间和清零等操作。
该计数器系统主要由计数器模块、LCD显示器模块、键盘模块、复位模块等部分组成。
关键词:
AT89C51单片机、C语言编程、键盘模块、LCD显示器
2AT89S51介绍6
2.1主要性能特点6
3系统硬件电路9
3.1单片机最小应用系统9
3.1.1复位电路11
3.1.2时钟电路12
3.2显示电路13
3.2.1数码管的结构和分类13
3.2.2显示驱动方式14
3.3键控电路15
3.3.1矩阵式键盘的工作原理15
3.3.2矩阵式键盘的按键识别方法15
4软件程序设计17
4.1程序流程图17
4.2单元程序设计19
4.3源程序23
5心得体会24
6参考文献25
1设计理论
1.1设计指标
(1)该倒计时器应具有基本倒时功能;
(2)具有暂停,复位功能;
(3)时间可以任意调整;
(4)时间用数码管显示,初始值为99S,扫描时间为1MS。
1.2方案论证
采用单片机程序设计制作,它是利用芯片AT89S51的特殊功能,上电两个数码管将显示99,P3口控制4X4矩阵按键开关,输入数字。
通过P0口对两片74HC273进行控制,一片输出字型码,一片输出字位码。
P2.4和P2.5控制74HC02,来确定字位和字形码地址。
其系统框图如图1所示。
2AT89S51介绍
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,AT89S51在众多嵌入式控制应用系统中得到广泛应用。
2.1主要性能特点
1、4kBytesFlash片内程序存储器;
2、128bytes的随机存取数据存储器(RAM);
3、32个外部双向输入/输出(I/O)口;
4、5个中断优先级、2层中断嵌套中断;
5、6个中断源;
6、2个16位可编程定时器/计数器;
7、2个全双工串行通信口;
8、看门狗(WDT)电路;
9、片内振荡器和时钟电路;
10、与MCS-51兼容;
11、全静态工作:
0Hz-33MHz;
12、三级程序存储器保密锁定;
13、可编程串行通道;
14、低功耗的闲置和掉电模式。
2.2管脚说明
VCC:
电源电压输入端。
GND:
电源地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
PDIP封装的AT89S51管脚图
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口除了作为普通I/O口,还有第二功能:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(T0定时器的外部计数输入)
P3.5T1(T1定时器的外部计数输入)
P3.6/WR(外部数据存储器的写选通)
P3.7/RD(外部数据存储器的读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
89C51的P0、P1、P2、P3口作为输入时都是准双向口。
除了P1口外P0、P2、P3口都还有其他的功能。
RST:
复位输入端,高电平有效。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
地址锁存允许/编程脉冲信号端。
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
PSEN:
外部程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
EA/VPP:
外部程序存储器访问允许。
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
片内振荡器反相放大器和时钟发生器的输入端。
XTAL2:
片内振荡器反相放大器的输出端。
3系统硬件电路
3.1单片机最小应用系统
单片机最小系统是单片机在发挥具体测控功能时所必须的组成部分。
单片机最小应用系统方框图,如图3所示
图3单片机最小系统应用框图
3.1.1复位电路
单片机在开机时都需要复位,以便CPU及其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
单片机复位电路工作原理:
当通电瞬间稳压电源给电容充电。
RESET为复位输入端,当RESET引脚持续两个机器周期以上的高电平时,使单片机完成复位操作,随着电容充电结束,将使电容与电阻之间将呈现低电平,单片机复位结束。
复位操作的主要功能是把PC初始化为0000H,使单片机程序存储器从0000H单元开始执行程序。
本设计主要采用上电自动复位电路,其电路图如图4所示
图
图(4)复位电路
3.1.2时钟电路
本篇论文选择的方案中采用的是内部振荡方式。
采用内部方式时在XTAL1和XTAL2引脚上接石英晶体和微调电容可以构成振荡器,如图5所示。
图中C1、C2起稳定振荡频率、快速起振的作用。
内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。
振荡频率的选择范围为1MHz~12MHz。
图(5)振荡电路
3.2显示电路
显示器件有很多种,常用的有发光二极管,数码管,液晶显示器等,本文采用通用型的LED数码管。
3.2.1数码管的结构和分类
LED数码管根据LED的接法不同分为共阴和共阳两类,它们的发光原理是一样的,只是它们的电源极性不同而已,其结构图分别如图6所示,本设计使用共阳数码管。
(
3.2.2显示驱动方式
数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。
本文主要采用动态显示驱动。
由于数码管要点亮需要3—10mA的电流,但单片机不能提供如此大的电流故需要加74HC273加以驱动,单片机输出端引脚的电压约为5V,如果直接加载到数码管上将烧坏数码管,因此在这部分电路中一并加限流电阻,根据理论计算和实际的经验限流电阻取470Ω,其电路图如图7所示一片作为输出字形,一片作为输出字位
3.3键控电路
键盘是微机应用系统中使用最广泛的一种数据输入设备,按照键盘按键的结构形式,可分为独立式键盘和矩阵式键盘。
本文主要采用矩阵式键盘,此键盘控制电路主要是用于调整时间,其电路结构图如图9所示。
3.3.1矩阵式键盘的工作原理
在键盘中按键数量较多时,为了减少I/O口的占用,通常将按键排列成矩阵形式,如图1所示。
在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而
图(9)4X4矩阵