单片机课程设计——单片机定时器实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
}
}
void fun() interrupt 3
{
TL1=15535%256; //对定时器1低8位赋值
TH1=15535/256; //对定时器1高8位赋值
if(time<19)time++; //一秒钟定时
else
{
time=0;
if(shijian<7)shijian++;
else shijian=0;
(2)实验源程序如下:
#include <REG51.H>
unsigned char shijian=0;
unsigned char time=0;
main()
{
EA=1; //开总中断
TMOD=0x10; //设置定时器1工作方式为1
TL1=15535%256; //对定时器1低8位赋值
TH1=15535/256; //对定时器1高8位赋值
(1)实验要求:
由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0——P1.7分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮······一直循环下去。
(2)实验目的:
1)学习8031内部计数器的使用和编程方法。
2)掌握中断处理程序的编程方法。
(3)设计要求:
1)实验电路及连接。
2)实验程序设计框图及程序清单。
3)验证实验可靠性。
主要芯片简介
8031单片机简介
(一)8031单片机的引脚
(1)主电源引脚Vss和Vcc
1)Vss接地
2)Vcc正常操作时为+5伏电源
①中断请求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由CPU查询。
②中断响应:在一条指令的最后一个周期按优先级顺序查询中断标志,为“1”并满足响应条件时响应。
③中断服务:根据入口地址转中断服务程序,保护现场、执行中断主体、恢复现场。
④中断返回:中断服务完后,计算机返回原来的断点位置,继续执行原来的程序。
(2)外接晶振引脚XTAL1和XTAL2
1)XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。
2)XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。
(3)控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp
ET1=1; //开定时器1中断
TR1=1; //启动定时器1
while(1)
{
switch(shijian)
{
case 0:P1=0xfa;break; //第1秒点亮L1,L3
case 1:P1=0xf5;break; //第2秒点亮L2,L4
case 2:P1=0xaf;break; //第3秒点亮L5,L7
case 3:P1=0x5f;break; //第4秒点亮L6,L8
case 4:P1=0xaa;break; //第5秒点亮L1,L3,L5,L7
case 5:P1=0x55;break; //第6秒点亮L2,L4,L6,L8
case 6:P1=0x00;break; //第7秒8个灯全点亮
case 7:P1=0xff;break; //第8秒8个灯全灭
•存储阵列;Intel2716存储器芯片的存储阵列由2K×8个带有浮动栅的MOS管构成,共可保存2K×8位二进制信息;
•X译码器:又称为行译码器,可对7位行地址进行译码;
•Y译码器:又称为列译码器,可对4位列地址进行译码;
•输出允许、片选和编程逻辑:实现片选及控制信息的读/写;
•数据输出缓冲器:实现对输出数据的缓冲。
读周期由地址有效开始,经时间tACC后,所选中单元的内容就可由存储阵列中读出,但能否送至外部的数据总线,还取决于片选信号 和输出允许信号 。时序中规定,必须从 有效经过tcs时间以及从 有效经过时间tOE,芯片的输出三态门才能完全打开,数据才能送到数据总线。
上述时序图中参数的具体值,请参考有关的技术手册。
3)外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八LSTTL输入。
4)/Vpp、/Vpp为内部程序存储器和外部程序存储器选择端。当/Vpp为高电平时,访问内部程序存储器,当/Vpp为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。
(二)芯片的外部结构:
Intel2716具有24个引脚,其引脚分配如图4-13(a)所示,各引脚的功能如下:
•Al0~A0:地址信号输入引脚,可寻址芯片的2K个存储单元;
•O7~O0:双向数据信号输入输出引脚;
• :片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;
• :数据输出允许控制信号引脚,输入,低电平有效,用以允许数据输出;
引出端符号:
D0~D7 数据输入端
OE 三态允许控制端(低电平有效)
LEБайду номын сангаас锁存允许端
Q0~Q7 输出端
真值表:
2716简介
2716是一种2K×8的EPROM存储器芯片,双列直插式封装,24个引脚,其最基本的存储单元,就是采用如上所述的带有浮动栅的MOS管。
(一)芯片的内部结构
Intel 2716存储器芯片的内部结构框图如图4-13(b)所示,其主要组成部分包括:
}
}
(四)仿真结果
(1)第1秒钟
1)RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位,在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。
2)ALE/正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)
T1:定时/计数器1中断
TI/RI:串行I/O中断
1)中断允许寄存器:IE(1:允许;0:不允许)
2)TF1:定时器T1溢出中断请求。当定时器T1产生溢出时,定时器T1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中断处理。
3)中断处理过程
包含:中断请求、中断响应、中断服务、中断返回四个阶段.。
TR1,TR0:定时/计数器运行控制位,1:打开;0:关断
IE1,IE0:外部中断INT1,INT0中断请求标志,1:有请求;0:无请求
IT1,IT0:外部中断INT1,INT0触发方式,1:下降沿触发;0:低电平触发
(3)中断系统
5个中断源:
INT0:外部中断0
INT1:外部中断1
T0:定时/计数器0中断
•Vcc:+5v电源,用于在线的读操作;
•VPP:+25v电源,用于在专用装置上进行写操作;
•GND:地。
(三)Intel2716的工作方式与操作时序
(1)读方式
这是Intel2716连接在微机系统中的主要工作方式。在读操作时,片选信号 应为低电平,输出允许控制信号 也为低电平其时序波形如图4-14所示。
(二)8031单片机的定时器和中断
8031片内有两个16位定时/计数器(增量式计数)
(1)工作方式(方式0、方式1、方式2、方式3)
方式1(16位定时/计数)
(2)控制寄存器
1)定时/计数器方式控制寄存器:TMOD
2)定时/计数器控制寄存器:TCON
TF1,TF0:定时/计数器中断请求标志,1:有请求;0:无请求
74LS373简介
373为三态输出的八D透明锁存器,输出端 O0~O7 可直接与总线相连。
当三态允许控制端 OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。
课程设计
课题名称:
学生姓名:
学生学号:
院(系):
年级专业:
指导教师:
二〇一二年六月
(一)课程设计的目的
(1)检验对所学知识的掌握程度和灵活运用情况。
(2)检验对具体问题的分析能力和解决问题的能力。
(3)锻炼实际设计能力,为毕业设计打基础。
(4)加强对单片机在应用设计中的感性认识。
(二)课程设计的内容和要求
除了读方式外,2716还有如下工作方式:
(2)禁止方式;
(3)备用方式;
(4)写入方式;
(5)校核方式;
图4-14 Intel2716读时序波形
(6)编程。
设计步骤
(一)原理
以2716为8031程序存储,用P1控制LED灯。
(二)实验电路图及连接
(三)实验程序设计框图及程序清单
(1)实验程序设计框图如下:
}
}
void fun() interrupt 3
{
TL1=15535%256; //对定时器1低8位赋值
TH1=15535/256; //对定时器1高8位赋值
if(time<19)time++; //一秒钟定时
else
{
time=0;
if(shijian<7)shijian++;
else shijian=0;
(2)实验源程序如下:
#include <REG51.H>
unsigned char shijian=0;
unsigned char time=0;
main()
{
EA=1; //开总中断
TMOD=0x10; //设置定时器1工作方式为1
TL1=15535%256; //对定时器1低8位赋值
TH1=15535/256; //对定时器1高8位赋值
(1)实验要求:
由8031内部定时器1,按方式1工作,即作为16位定时器使用每0.05秒钟T1溢出中断一次。P1口的P1.0——P1.7分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L3亮,第二秒钟L2,L4亮,第三秒钟L5,L7亮,第四秒钟L6,L8亮,第五秒钟L1,L3,L5,L7亮,第六秒钟L2,L4,L6,L8亮,第七秒钟八个二极管全亮,第八秒钟全灭,以后又从头开始,L1,L3亮,然后L2,L4亮······一直循环下去。
(2)实验目的:
1)学习8031内部计数器的使用和编程方法。
2)掌握中断处理程序的编程方法。
(3)设计要求:
1)实验电路及连接。
2)实验程序设计框图及程序清单。
3)验证实验可靠性。
主要芯片简介
8031单片机简介
(一)8031单片机的引脚
(1)主电源引脚Vss和Vcc
1)Vss接地
2)Vcc正常操作时为+5伏电源
①中断请求:中断源将相应请求中断的标志位置“1”,表示发出请求,并由CPU查询。
②中断响应:在一条指令的最后一个周期按优先级顺序查询中断标志,为“1”并满足响应条件时响应。
③中断服务:根据入口地址转中断服务程序,保护现场、执行中断主体、恢复现场。
④中断返回:中断服务完后,计算机返回原来的断点位置,继续执行原来的程序。
(2)外接晶振引脚XTAL1和XTAL2
1)XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。
2)XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。
(3)控制或与其它电源复用引脚RST/VPD,ALE/,和/Vpp
ET1=1; //开定时器1中断
TR1=1; //启动定时器1
while(1)
{
switch(shijian)
{
case 0:P1=0xfa;break; //第1秒点亮L1,L3
case 1:P1=0xf5;break; //第2秒点亮L2,L4
case 2:P1=0xaf;break; //第3秒点亮L5,L7
case 3:P1=0x5f;break; //第4秒点亮L6,L8
case 4:P1=0xaa;break; //第5秒点亮L1,L3,L5,L7
case 5:P1=0x55;break; //第6秒点亮L2,L4,L6,L8
case 6:P1=0x00;break; //第7秒8个灯全点亮
case 7:P1=0xff;break; //第8秒8个灯全灭
•存储阵列;Intel2716存储器芯片的存储阵列由2K×8个带有浮动栅的MOS管构成,共可保存2K×8位二进制信息;
•X译码器:又称为行译码器,可对7位行地址进行译码;
•Y译码器:又称为列译码器,可对4位列地址进行译码;
•输出允许、片选和编程逻辑:实现片选及控制信息的读/写;
•数据输出缓冲器:实现对输出数据的缓冲。
读周期由地址有效开始,经时间tACC后,所选中单元的内容就可由存储阵列中读出,但能否送至外部的数据总线,还取决于片选信号 和输出允许信号 。时序中规定,必须从 有效经过tcs时间以及从 有效经过时间tOE,芯片的输出三态门才能完全打开,数据才能送到数据总线。
上述时序图中参数的具体值,请参考有关的技术手册。
3)外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。同样可以驱动八LSTTL输入。
4)/Vpp、/Vpp为内部程序存储器和外部程序存储器选择端。当/Vpp为高电平时,访问内部程序存储器,当/Vpp为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。
(二)芯片的外部结构:
Intel2716具有24个引脚,其引脚分配如图4-13(a)所示,各引脚的功能如下:
•Al0~A0:地址信号输入引脚,可寻址芯片的2K个存储单元;
•O7~O0:双向数据信号输入输出引脚;
• :片选信号输入引脚,低电平有效,只有当该引脚转入低电平时,才能对相应的芯片进行操作;
• :数据输出允许控制信号引脚,输入,低电平有效,用以允许数据输出;
引出端符号:
D0~D7 数据输入端
OE 三态允许控制端(低电平有效)
LEБайду номын сангаас锁存允许端
Q0~Q7 输出端
真值表:
2716简介
2716是一种2K×8的EPROM存储器芯片,双列直插式封装,24个引脚,其最基本的存储单元,就是采用如上所述的带有浮动栅的MOS管。
(一)芯片的内部结构
Intel 2716存储器芯片的内部结构框图如图4-13(b)所示,其主要组成部分包括:
}
}
(四)仿真结果
(1)第1秒钟
1)RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位,在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。
2)ALE/正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。因此,它可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)
T1:定时/计数器1中断
TI/RI:串行I/O中断
1)中断允许寄存器:IE(1:允许;0:不允许)
2)TF1:定时器T1溢出中断请求。当定时器T1产生溢出时,定时器T1中断请求标志位(TCON.7)置位(由硬件自动执行),请求中断处理。
3)中断处理过程
包含:中断请求、中断响应、中断服务、中断返回四个阶段.。
TR1,TR0:定时/计数器运行控制位,1:打开;0:关断
IE1,IE0:外部中断INT1,INT0中断请求标志,1:有请求;0:无请求
IT1,IT0:外部中断INT1,INT0触发方式,1:下降沿触发;0:低电平触发
(3)中断系统
5个中断源:
INT0:外部中断0
INT1:外部中断1
T0:定时/计数器0中断
•Vcc:+5v电源,用于在线的读操作;
•VPP:+25v电源,用于在专用装置上进行写操作;
•GND:地。
(三)Intel2716的工作方式与操作时序
(1)读方式
这是Intel2716连接在微机系统中的主要工作方式。在读操作时,片选信号 应为低电平,输出允许控制信号 也为低电平其时序波形如图4-14所示。
(二)8031单片机的定时器和中断
8031片内有两个16位定时/计数器(增量式计数)
(1)工作方式(方式0、方式1、方式2、方式3)
方式1(16位定时/计数)
(2)控制寄存器
1)定时/计数器方式控制寄存器:TMOD
2)定时/计数器控制寄存器:TCON
TF1,TF0:定时/计数器中断请求标志,1:有请求;0:无请求
74LS373简介
373为三态输出的八D透明锁存器,输出端 O0~O7 可直接与总线相连。
当三态允许控制端 OE 为低电平时,Q0~Q7为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,Q0~Q7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端 LE 为高电平时,Q 随数据 D 而变。当 LE 为低电平时,D 被锁存在已建立的数据电平。当 LE 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善 400mV。
课程设计
课题名称:
学生姓名:
学生学号:
院(系):
年级专业:
指导教师:
二〇一二年六月
(一)课程设计的目的
(1)检验对所学知识的掌握程度和灵活运用情况。
(2)检验对具体问题的分析能力和解决问题的能力。
(3)锻炼实际设计能力,为毕业设计打基础。
(4)加强对单片机在应用设计中的感性认识。
(二)课程设计的内容和要求
除了读方式外,2716还有如下工作方式:
(2)禁止方式;
(3)备用方式;
(4)写入方式;
(5)校核方式;
图4-14 Intel2716读时序波形
(6)编程。
设计步骤
(一)原理
以2716为8031程序存储,用P1控制LED灯。
(二)实验电路图及连接
(三)实验程序设计框图及程序清单
(1)实验程序设计框图如下: