单片机方波脉冲计数控制
- 格式:doc
- 大小:210.00 KB
- 文档页数:15
1 桂 林 电 子 科 技 大 学
单片机最小应用系统
设
计
报
告
指导老师:吴 兆
华
学 生:张 亚 鲁
学 号:082011224
桂林电子科技大学机电工程系
2 目录
一、实验课题及要求 .......................................................................... 3
二、实验目的 ..................................................................................... 3
三、系统硬件电路.............................................................................. 3
3.1硬件电路说明................................................................................................... 4
3.3最小系统控制部分........................................................................................... 6
3.3.1晶振电路.................................................................................................... 6
3.3.2复位电路.................................................................................................... 8
四、软件设计 ....................................................................................11
4.1程序流程图..................................................................................................... 11
4.2程序源代码..................................................................................................... 12
五、设计总结....................................................................................................... 14
六、参考文献 ................................................................................... 15
3 一、实验课题及要求
用8031单片机控制可测方波1~100Hz,并显示每分钟计数的脉冲
二、实验目的
1、 加深外部中断指令的基本使用方法;
2、 熟悉外部中断处理程序的编程方法;
3、 进一步熟悉8051内部定时/计数器的初始化、使用方法及编程方法;
4、 进一步掌握8051中断处理程序的编程方法和应用;
5、 掌握I/O接口的基本方法;
6、 学会使用并熟练掌握电路绘制软件Protel99SE(或DXP)。
三、系统硬件电路
整个设计主要包括单片机基本的晶振电路,按键复位电路,设计中需要的LED管,开关、按键等。具体的电路图如下图1所示
XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51C122pC222pX1CRYSTALR110kC31u5 图1系统设计总电路图
4 3.1硬件电路说明
本次硬件系统包括单片机最小系统、外部中断电路、LED显示电路三部分在下面介绍中对每一部分都有详细的说明。
3.2 AT89C51单片机简介
AT89S51单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
图2 AT89S51引脚图
AT89S51是一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes
ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及89C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
1、AT89S51具有如下特点:
40个引脚,8k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电 5 路,片内时钟振荡器。
2、AT89S51的运行模式
(1)空闲模式
在空闲模式下,CPU处于睡眠状态,振荡器和所有片内外围电路仍然有效。空闲模式可由软件设置进入(设IDL=1)。在这种模式下,片内RAM和SFR中的内容保持不变。空闲模式可通过任何一个允许中断或硬件复位退出。
若用硬件复位方式结束空闲模式,则在片内复位控制逻辑发生作用前长达约两个机器周期时间内,器件从断点处开始执行程序。片内硬件禁止访问内部RAM,但不禁止访问端口。为避免采用复位方式退出空闲模式时对端口的不应有的访问,在紧随设置进入空闲指令(即设IDL=1)的后面,不能是写端口或外部RAM的指令。
(2)掉电模式
引起掉电模式的指令是执行程序中的最后一条指令(使PD=1的指令)。在掉电模式下,振荡器停止工作,CPU和片内所有外围部件均停止工作,但片内RAM和SFR中的内容保留不变,直到掉电模式结束。
退出掉电模式可用硬件复位或任何一个有效的外部中断INT0和INT1。复位可重新设置SFR中的内容,但不改变片内RAM中的内容。在Vcc电源恢复到正常值并维持足够长的时间之后,允许振荡器恢复并达到稳定,方可进行复位,以退出掉电模式。
3、MCS-51系列单片机的并行I/O口
接口电路是微机必不可少的组成部分,并行输入确出接口是CPU和外部进行信息交换的主要通道。MSC-51系列单片有4个8位并行双向I/O口P0~P3,共32根I/O线。每一根线能独立用作输入或输出。单片机可以外接键盘、显示器等外围设备.还可以进行系统扩展,以解决硬件资源不足问题。4个并行口都是双向口,既可以输入又可以输出。P0、P2口经常作外部扩展存储器时的数据、地址线,P3口除作I/O口外,每一根都有第二功能。这4个I/O口结构基本相同,但仍存在差别。
(1) P1口是最常用的I/O口如图3所示,因为不作数据地址线,其结构中没有数据地址线,也没有多路开关MUX,输出驱动电路接有上拉电阻。P1口输入输出时与P0作I/O时相似,输出数据时.先写入锁存器,经Q端反相,再经场效应管反相输出到引脚。输入时,先向锁存器写l,使v管截止.外部引脚信号由下方读缓冲器送入内部总线,完成读引脚操作。P1口也可以读锁存器。外部提升电阻将引脚拉升至高电平,但输人的低电平信号能将其拉低,不会影响低电平的输入。 6
图3 P1口一位结构
(2) P3口为双功能口,当P3口作为通用I/O口使用时,它为准双向口,且每位都可定义为输入或输出口,其工作原理同P1口类似。
(3)P3口还具有第二功能,其引脚描述,P3口特殊功能
口线 特殊功能 信号名称
P3.0 RXD 串行输入口
P3.1 TXD 串行输出口
P3.2 外部中断0输入口
P3.3 外部中断1输入口
P3.4 T0 定时器0外部输入口
P3.5 T1 定时器1外部输入口
P3.6 WR 写选通输出口
P3.7 RD 读选通输出口
3.3最小系统控制部分
3.3.1晶振电路
电源引脚Vcc和Vss
Vcc:电源端,接+5V。 7 Vss:接地端。
时钟电路引脚XTAL1和XTAL2
XTAL1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部TTL时钟时,该引脚必须接地。
XTAL2:接外部晶振和微调电容的另一端,在片内它是振荡器倒相放大器的输出,若使用外部TTL时钟时,该引脚为外部时钟的输入端。
系统扩展时,ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
图4 系统晶振电路
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路(如图5所示)。AT89S单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
外部程序存储器读选通信号,是读外部程序存储器的选通信号,低电平有效。
程序存储器地址允许输入端 /VPP。
当为高电平时,CPU执行片内程序存储器指令,但当PC中的值超过0FFFH时,将自动转向执行片外程序存储器指令。当为低电平时,CPU只执行片外程序存储器指令。
输入/输出口引脚P0、P1、P2和P3。
P0口(P0.0~P0.7):该端口为漏极开路的8位准双向口,负载能力位8高LSTTL负载,它为8位地址线和8位数据线的复用端口。
P1口(P1.0~P1.7):它是一个内部带上拉电阻的8位准双向I/O口,P1口的驱动能力为4个LSTTL负载。
P2口(P2.0~P2.7):它为一个内部带上拉电阻的8位准双向I/O口,P2口