《微机原理与应用教学资料》第八章.ppt

上传人:牧羊曲112 文档编号:5898336 上传时间:2023-09-01 格式:PPT 页数:24 大小:1.96MB
返回 下载 相关 举报
《微机原理与应用教学资料》第八章.ppt_第1页
第1页 / 共24页
《微机原理与应用教学资料》第八章.ppt_第2页
第2页 / 共24页
《微机原理与应用教学资料》第八章.ppt_第3页
第3页 / 共24页
《微机原理与应用教学资料》第八章.ppt_第4页
第4页 / 共24页
《微机原理与应用教学资料》第八章.ppt_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《《微机原理与应用教学资料》第八章.ppt》由会员分享,可在线阅读,更多相关《《微机原理与应用教学资料》第八章.ppt(24页珍藏版)》请在三一办公上搜索。

1、1,第八章 可编程计数器/定时器8253及其应用,8-1 概述8-1 8253结构和工作原理8-2 8253应用举例,电气学院学习部资料库,2,8.1 概述,定时.计数 定时 软件定时 不可编程的硬件定时 可编程的硬件定时 一、软件定时1、CPU循环执行一条或一系列指令例:CPU的时钟频率为5MHz,则1个时钟周期为T=s 执行一条指令所需要的时间=0.2s所需时钟周期 编一程序实现延时1ms 时钟周期执行次数 MOV CX,N;41 NEXT:NOP;3NNOP;3NLOOP NEXT;循环时为17,不循环时为5,电气学院学习部资料库,3,T=0.2s 要延时1ms所需要的总的时钟周期数=4

2、+3N+3N+17(N-1)+5=23N-8=5000N=218=ODAH2、缺点:CPU利用率太低二、不可编程的硬件定时1、555芯片+外接电阻、电容2、缺点:定时不能由程序控制,定时精度不高,电气学院学习部资料库,4,三、可编程的硬件定时:8253芯片1、对8253设定计数初值启动工作时间到,自动形成输出信号 向CPU提出中断请求,启动设备工作2、特点:提高了CPU的利用率,定时精度高四、计数:8253芯片计数脉冲信号由外部事件提供。,电气学院学习部资料库,5,8.2 8253的结构和工作原理,一.8253的编程结构 图9-11.数据总线缓冲器 接数据总线低8位,传送信息 控制字 输入 计

3、数初值 计数值 输出2.读/写控制电路CS:片选信号,接I/O端口译码电路74LS138输出RD、WR:读写信号,接CPU的RD、WR。A1、A0:端口选择信号,接8086CPU的A2、A1地址线若为8088CPU,8位数据线,则接系统的A1、A0(实验用电路)00:计数器0 01:1 8253需要4个端口地址 10:2 11:控制器R,电气学院学习部资料库,6,例:8253的基地址为FOH(11110000B)则:计数器0:FOH;计数器1:F2H;计数器2:F4H;控制寄存器:F6H3.计数器02 3个计数器通道完全独立、结构完全相同。包括 4个寄存器R 2个输入信号 CLK,GATE 1

4、个输出信号 OUT 控制字R:8位 计数初值R:16位 计数执行部件:16位,减法计数器 计数输出R:16位,锁存执行部件的值 16位R可分为高8位和低8位,必要时用作8位寄存器 CLK:脉冲输入 时钟脉冲(定时)要求2MHz,高于时须分频。计数脉冲,外部事件引起,电气学院学习部资料库,7,OUT:脉冲输出GATE:门控信号,决定是否允许计数二.工作原理倒计数法:预置一初值,GATE有效,将计数初值装入执行部件,然后开始递减计数。(CLK端每输入一个脉冲,计数值-1,当计数值=0,便从OUT引脚输出一个脉冲信号)定时:CLK输入脉冲频率一定(fCLK)定时时间=1/fCLK 输入脉冲数(计数初

5、值)计数初值=定时时间/TCLK例:若CLK脉冲频率fCLK=1MHz脉冲周期TCLK=1s 若定时时间T=0.5ms 则计数初值n=0.510-3/110-6=5002.计数 CLK输入脉冲的间隔可以不相等,电气学院学习部资料库,8,三、控制字寄存器通道选择 读/写操作位 模式选择(6种工作方式)1:BCD码计数 0:二进制计数3个通道共用1个控制字寄存器,D7、D6决定向哪一个通道写入控制字RL1、RL0:00-计数器锁存 01-只读写低8位 10-只读写高8位 11 先读写低8位,后读写高8位BCD:初值范围为00009999H 0000表示最大值 104=10000二进制:0000FF

6、FFH 216=65536,电气学院学习部资料库,9,四、初始化编程步骤步骤:1、写入控制字 A1A0=11 初始化控制字寄存器,复位OUT,并使计数器清0 2、写入计数初值 A1A0=00,01,10 初值 8位:一条输出指令 16位:两条输出指令 先送低8位初值后送高8位初 值例:选择0#通道,工作方式3,计数初值2354H,BCD计数方式 8253端口地址为40H46H D7 D6 D5 D4 D3 D2 D1 D0 0 0 1 1 1 1 1 通道0|先读写低8位,后读写高8位 方式3 BCD计数当D3=0,控制字=37H,电气学院学习部资料库,10,初始化程序:MOV AL,37HO

7、UT 46H,AL;设置控制字MOV AL,54H;写入计数初值,先低后高 OUT 40H,AL MOV AL,23H OUT 40H,AL;读通道0计数结果,并送入CX寄存器 MOV AL,07H;00 00 011 1=07HOUT 46H,AL;设置控制字IN AL,40HMOV CL,ALIN AL,40HMOV CH,AL;将通道0计数结果CX,电气学院学习部资料库,11,五、8253的工作方式(6种)1.写入控制字,同时影响OUT端电平,为起始OUT端电平写入计数初值n,使WR变为低电平,在WR的上升沿时,将 n计数初值R当GATE有效,再在下一个CLK时钟脉冲的下降沿,将n 计数

8、执行部件,开始减1计数(计数器随着时钟脉冲的输入而递减计数)1.方式0 计数结束中断方式 OUT输出端波形 从写入计数初值到开始减1之间,有一个时钟脉冲的延迟。详见后,电气学院学习部资料库,12,8253CLK,WR,8253OUT,nTCLK,写入控制字,写入计数初值,计数结束,4,3,2,1,0,电气学院学习部资料库,13,方式1 可编程单稳态输出 可重触发 GATE触发,方式2 比率发生器 相当n分频 计数初值=定时时间/TCLK=fCLK/fOUT,电气学院学习部资料库,14,方式3 方波发生器,方式4 软件触发选通 写入计数初值后开始计数 负脉冲 方式5 硬件触发选通 GATE上升沿

9、触发计数 负脉冲 初始OUT、GATE、是否重装初值汇总表,电气学院学习部资料库,15,电气学院学习部资料库,16,8-3 应用举例,先根据需要设计硬件电路,然后用OUT指令初始化82531.定时功能例 需计算初值例1:P315 要求:基地址为310H,fCLK=1MHz与8086连接:D7D0:接8086 CPU的D7D0RD、WR:接CPU的RD、WR A1、A0:接8086的A2、A1 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 1 1 0 0 0 1 0 0(偶地址!)CS:接74LS138的译码输出Y4 基址:310HCLK0、CLK1、CLK2:接 fCLK=1MH

10、z(TCLK=1s)的时钟脉冲,电气学院学习部资料库,17,通道0:方式3 GATE0+5V 若要OUT输出 2kHz的方波,则n0=?no*Tclk=T 256 控制字:0 0 1 1 0 1 1 1 B=37H通道1:方式1 GATE1上升沿 若要OUT:480s的脉冲,求n1=?256 控制字:0 1 1 1 0 0 1 1 B=73H通道2:方式5 GATE2上升沿 n2=26控制字:1 0 0 1 1 0 1 1 B=9BH,电气学院学习部资料库,18,MOV DX,316H;送通道0控制字MOV AL,00110111BOUT DX,ALMOV DX,310H;送通道0计数初值MO

11、V AL,00HOUT DX,ALMOV AL,05HOUT DX,ALMOV DX,316H;送通道1控制字MOV AL,01110011BOUT DX,ALMOV DX,312H;送通道1计数初值MOV AL,80HOUT DX,ALMOV AL,04HOUT DX,AL,电气学院学习部资料库,19,例2 控制LED点亮或熄灭。点亮10秒后再让它熄灭10秒,并重复上述过程。设8253各端口地址为81H,83H,85H,87H,则8253的D0D7系统DB的D8D15 fclk=2MHZ据题意 TOUT=20s fout=1/20计数初值N=210620=410765536 级联取N1=50

12、00,N2=8000,A7A0,控制字 00110101(35H,通道0)若二进制计数N1=1388HN2=1F40H控制字 01110111(77H,通道1),电气学院学习部资料库,20,2.计数功能例 不需计算初值例2:用8253监视一个生产流水线,每通过50个工件,扬声器响5秒钟,频率2000周,端口地址为40H、42H、44H、46H硬件连接,电气学院学习部资料库,21,没有工件通过:Ua5V(H)有工件通过:Ua=0(L)通道0:方式2 比率发生器 计数方式,每通过50个工件申请一次中断通道1:方式3 方波发生器 通道GATE1由8255A的PA0控制,当GATE1为高电平,输出方波

13、,扬声器响。在中断服务程序中控制GATE高电平的时间,软件延时控制字设置 通道0:0 0 0 1 0 1 0 1 n0=50 通道1:0 1 1 1 0 1 1 1 n1=2M/2000=1000256主程序:MOV AL,00010101BOUT 46H,AL;送控制字MOV AL,50HOUT 40H,AL;送通道0初值 MOV AL,01110111B;送控制字 OUT 46H,AL,电气学院学习部资料库,22,STI;开中断LOP:HLT;等待中断,及中断返回时JMP LOP;断点中断服务程序:MOV AL,01H;GATE1=1 启动计数 OUT 80H,AL;设8255A的PA通道

14、地址为 80H,将PA0置1 MOV AL,00H;送初值,BCD计数,后缀 OUT 42H,AL;仍须加H MOV AL,10H OUT 42H,ALCALL DLEAY5S;调用延时为5秒的子程序MOV AL,00H;GATE1=0 停止计数,扬声器不OUT 80H,AL;响IRET,电气学院学习部资料库,23,3.读计数值读现行计数值两个方法:在读数前用外部硬件切断计数脉冲信号,或使门控信号变为低电平,迫使8253停止计数。问题:干扰了实际的计数过程先用计数器锁存命令锁存现行计数值,然后将其读出。程序:MOV AL,0100 0000B;低四位对锁存命令无影响,置0 OUT 46H,AL IN AL,40H MOV AH,AL IN AL,40H XCHG AH,AL;计数值存于AX中,电气学院学习部资料库,24,谢谢大家!,作业:8-4,电气学院学习部资料库,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号