第7章 输入输出接口技术第3节内容

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第7章输入输出接口2020年1月30日星期四中北大学《微机原理及接口技术》2第7章输入输出接口主要内容:7.1I/O接口基础和传送方式7.2中断技术7.3定时器/计数器(8253/8254)7.4并行口8255A7.5A/D和D/A转换学时分配:18学时第三节可编程定时/计数器8253movax,12hcalldisplayJmp1234h2020年1月30日星期四中北大学《微机原理及接口技术》47.3可编程定时/计数器8253掌握:引线功能及计数启动方法6种工作方式及其输出波形8253的使用:芯片与系统的连接芯片的初始化编程2020年1月30日星期四中北大学《微机原理及接口技术》5主要内容:7.3.18253/8254定时计数器7.3.28253编程7.3.38253在IBMPC系列机上的应用7.3.48253在扩充定时计数器的应用7.3.58253的应用7.3可编程定时/计数器8253学时分配:3学时2020年1月30日星期四中北大学《微机原理及接口技术》6定时/计数器的用途可以实现定时与计数两个功能,可用于系统时钟DRAM刷新定时定时采样实时控制脉冲的计数。。。2020年1月30日星期四中北大学《微机原理及接口技术》7如何实现定时?软件方法:用一段程序实现延时•利用程序循环延迟指定的时间•缺点:CPU占用率?延时精度?兼容?硬件方法:定时/计数器电路•利用脉冲计数在设定的时间输出定时信号●8253是一种硬件定时/计数器芯片2020年1月30日星期四中北大学《微机原理及接口技术》8定时器和计数器定时控制在微机系统中极为重要定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔;计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器;2020年1月30日星期四中北大学《微机原理及接口技术》9定时功能的实现方法软件延时——利用微处理器执行一个延时程序段实现不可编程的硬件定时——采用分频器、单稳电路或简易定时电路控制定时时间可编程的硬件定时——软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路2020年1月30日星期四中北大学《微机原理及接口技术》107.3.18253/8254定时计数器3个独立的16位计数器通道每个计数器有6种工作方式按二进制或十进制(BCD码)计数8254是8253的改进型2020年1月30日星期四中北大学《微机原理及接口技术》11一、8253/8254的内部结构和引脚D7~D0计数器0控制字寄存器计数器1计数器2内部数据总线数据总线缓冲器读写控制逻辑RDWRA0A1CSCLK0GATE0OUT0CLK1GATE1OUT1CLK2GATE2OUT22020年1月30日星期四中北大学《微机原理及接口技术》12内部结构及外部引线DBD7-D08253A1A0WRRDCS通道2通道1通道0CLK0GATE0OUT0CLK1GATE1OUT1CLK1GATE1OUT1A1A0IOWIOR片选信号2020年1月30日星期四中北大学《微机原理及接口技术》13内部结构及外部引线连接系统端的主要引线:D7~D0CSRDWRA1,A0用于选择四个编址部件之一A1A0选择00计数通道001计数通道110计数通道211控制寄存器2020年1月30日星期四中北大学《微机原理及接口技术》14内部结构及外部引线计数通道的主要引线(每通道均相同):CLKn时钟脉冲输入,计数器的计时基准。GATEn门控信号输入,控制计数器的启停。OUTn计数器输出信号,不同工作方式下产生不同波形。(n=0~2)2020年1月30日星期四中北大学《微机原理及接口技术》158253的内部结构WRA0A1CS数据总线缓冲器读/写逻辑控制寄存器计数器0计数器1计数器2GATE1D0D7~RDCLK1OUT1CLK2GATE2OUT2CLK0GATE0OUT0片内总线编址部件0编址部件1编址部件2编址部件32020年1月30日星期四中北大学《微机原理及接口技术》16计数器结构示意图预置寄存器GATECLKOUT减1计数器输出锁存器2020年1月30日星期四中北大学《微机原理及接口技术》17计数器结构示意图计数初值存于预置寄存器;在计数过程中,减法计数器的值不断递减,而预置寄存器中的预置不变。输出锁存器用于写入锁存命令时,锁定当前计数值2020年1月30日星期四中北大学《微机原理及接口技术》18计数器的3个引脚CLK时钟输入信号——在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1GATE门控输入信号——控制计数器工作,可分成电平控制和上升沿控制两种类型OUT计数器输出信号——当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号2020年1月30日星期四中北大学《微机原理及接口技术》19与处理器接口D0~D7数据线A0~A1地址线RD*读信号WR*写信号CS*片选信号CS*A1A0I/O地址读操作RD*写操作WR*00000101001140H41H42H43H读计数器0读计数器1读计数器2无操作写计数器0写计数器1写计数器2写控制字2020年1月30日星期四中北大学《微机原理及接口技术》20编程结构—程序员的观点计数器(3个)——包括控制寄存器——存放控制命令字(只写)占用4个地址—3个计数器,1个控制寄存器16位初值寄存器16位计数寄存器(减法计数器)2020年1月30日星期四中北大学《微机原理及接口技术》21定时/计数的工作过程1.设置8253的工作方式2.设置计数初值到初值寄存器3.第一个CLK信号使初值寄存器的内容置入计数寄存器4.以后每来一个CLK信号,计数寄存器减15.减到0时,OUT端输出一特殊波形的信号注:以上计数过程中还受到GATE信号的控制2020年1月30日星期四中北大学《微机原理及接口技术》22计数启动方式软件启动过程硬件启动过程GATE端保持为高电平写入计数初值后的第2个CLK脉冲的下降沿开始计数GATE端有一个上升沿对应CLK脉冲的下降沿开始计数程序指令启动————软件启动外部电路信号启动——硬件启动2020年1月30日星期四中北大学《微机原理及接口技术》23二、8253/8254的工作方式8253有6种工作方式,由方式控制字确定熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式每种工作方式的过程类似:⑴设定工作方式⑵设定计数初值〔⑶硬件启动〕⑷计数初值进入减1计数器⑸每输入一个时钟计数器减1的计数过程⑹计数过程结束2020年1月30日星期四中北大学《微机原理及接口技术》24方式0计数结束中断①②⑤④⑥GATEOUTCLK031244方式0WR①设定工作方式②设定计数初值④计数值送入计数器⑤计数过程⑥计数结束2020年1月30日星期四中北大学《微机原理及接口技术》25方式1可编程单稳脉冲①②⑤④⑥①设定工作方式②设定计数初值③③硬件启动④计数值送入计数器⑤计数过程⑥计数结束GATEOUTCLK031244方式1WR2020年1月30日星期四中北大学《微机原理及接口技术》26方式2频率发生器(分频器)03124GATEOUTCLK4方式2031240312403124WR2020年1月30日星期四中北大学《微机原理及接口技术》27方式3方波发生器03124GATEOUTCLK4方式3031240312403124WR2020年1月30日星期四中北大学《微机原理及接口技术》28方式4软件触发选通信号GATEOUTCLK031244方式42233310WR2020年1月30日星期四中北大学《微机原理及接口技术》29方式5硬件触发选通信号GATEOUTCLK031244方式522333110WR2020年1月30日星期四中北大学《微机原理及接口技术》30各种工作方式的输出波形方式0方式1方式2方式3方式4方式50N0N0N0/N110NN/2N/20/N0N01N01N01讨论:计数开始的时刻2020年1月30日星期四中北大学《微机原理及接口技术》31计数开始的时刻需要注意:处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。从第二个CLK信号的下降沿,计数器才真正开始减1计数。实验:计数开始的时刻2020年1月30日星期四中北大学《微机原理及接口技术》32三、8253/8254的编程8253加电后的工作方式不确定8253必须初始化编程,才能正常工作写入控制字写入计数初值读取计数值8254新增读回命令D7D6D5D4D3D2D1D02020年1月30日星期四中北大学《微机原理及接口技术》331写入方式控制字计数器读写格式工作方式数制D7D6D5D4D3D2D1D000计数器001计数器110计数器211非法00计数器锁存命令01只读写低字节10只读写高字节11先读写低字节后读写高字节000方式0001方式1010方式2011方式3100方式4101方式50二进制1十进制控制字写入控制字I/O地址(A1A0=11)示例2020年1月30日星期四中北大学《微机原理及接口技术》342写入计数值选择二进制时计数值范围:0000H~FFFFH0000H是最大值,代表65536选择十进制(BCD码)计数值范围:0000~99990000代表最大值10000计数值写入计数器各自的I/O地址示例2020年1月30日星期四中北大学《微机原理及接口技术》353读取计数值对8位数据线,读取16位计数值需分两次计数在不断进行,应该将当前计数值先行锁存,然后读取:向控制字I/O地址:给8253写入锁存命令从计数器I/O地址:读取锁存的计数值读取计数值,要注意读写格式和计数数制2020年1月30日星期四中北大学《微机原理及接口技术》36[例1]写出8253的初始化程序。其中,3个CLK频率均为2MHZ。1、计数器0在定时100s后产生中断请求;2、计数器1用于产生周期为10s的对称方波;3、计数器2每1ms产生一个负脉冲。编写8253的初始化程序。编程举例2020年1月30日星期四中北大学《微机原理及接口技术》37方法:先确定各个计数器的工作方式,再计算其计数器的初值。编程举例2020年1月30日星期四中北大学《微机原理及接口技术》38编程举例1.计数器0在定时100s后产生中断请求;编写8253的初始化程序。计数器0工作在方式0,初值为100s/0.5s=200,可以只写低8位,二进制计数。所以控制字为:00010000B=10HMOVDX,0FF07HMOVAL,10H;计数器0,只写计数值低8位,方式0,二进制计数OUTDX,ALMOVDX,0FF04HMOVAL,200;计数器0计数初值OUTDX,AL2020年1月30日星期四中北大学《微机原理及接口技术》39编程举例2.计数器1用于产生周期为10s的对称方波计数器1工作在方式3,初值为10s/0.5s=20,可以只写低8位,二进制计数。所以控制字为:01010110B=56HMOVDX,0FF07HMOVAL,56H;计数器1,只写计数值低8位,方式3,二进制计数OUTDX,ALMOVDX,0FF05HMOVAL,20;计数器1的初值OUTDX,AL2020年1月30日星期四中北大学《微机原理及接口技术》40编程举例3.计数器2每1ms产生一个负脉冲。计数器2工作在方式2,初值为1ms/0.5s=2000,需要写16位,二进制计数。所以控制字为:10110100B=B4HMOVDX,0FF07HMOVAL,0B4H;计数器2,先写低8位再写高8位,方式2,二进制计数OUTDX,ALMOVDX,0FF06HMOVAX,2000;计数器2的初值OUTDX,ALMOVAL,AHOUTDX,AL2

1 / 61
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功