![微机原理及应用第8章 接口技术_第1页](http://file4.renrendoc.com/view/5648def86358eb390a1492206e9202b9/5648def86358eb390a1492206e9202b91.gif)
![微机原理及应用第8章 接口技术_第2页](http://file4.renrendoc.com/view/5648def86358eb390a1492206e9202b9/5648def86358eb390a1492206e9202b92.gif)
![微机原理及应用第8章 接口技术_第3页](http://file4.renrendoc.com/view/5648def86358eb390a1492206e9202b9/5648def86358eb390a1492206e9202b93.gif)
![微机原理及应用第8章 接口技术_第4页](http://file4.renrendoc.com/view/5648def86358eb390a1492206e9202b9/5648def86358eb390a1492206e9202b94.gif)
![微机原理及应用第8章 接口技术_第5页](http://file4.renrendoc.com/view/5648def86358eb390a1492206e9202b9/5648def86358eb390a1492206e9202b95.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理及应用主讲教师 陈玮2022/7/131第8章 接口技术一、可编程并行输入/输出接口芯片8255A 习题二、可编程定时器/记数器8253 习题2022/7/132微机原理及应用一、可编程并行输入/输出接口芯片8255AIntel 8255A是可编程接口芯片,可以用程序设定或改变其工作方式,CPU通过它与外设连接。1、8255A的结构与工作方式2、8255A的使用及初始化程序例题作业2022/7/133微机原理及应用1、8255A的结构与工作方式(1)内部结构及引脚 (2)8255A工作方式2022/7/134微机原理及应用8255A的内部结构框图1、并行输入/输出端口 8255A有3个
2、独立的输入/输出端口A、B、C,每个端口8位,分别与不同的外设进行数据交换。 在与外设数据传送中需要联络控制线时,C端口作控制信号输出和状态信号输入,与A、B口配合。2022/7/135微机原理及应用 8255A的内部结构框图2、A组和B组控制电路A组:A口、C口高4位;B 组:B口、C口低4位; 各有控制电路,负责接受来自读/写控制逻辑的各种命令,以及来自数据总线的控制字,从而决定A组和B组的工作方式; 根据CPU的命令对C端口的每一位实现“复位”或“置位”。2022/7/136微机原理及应用3、读/写控制部件 8255A内部完成读/写控制功能的部件。 与6条输入控制线连接,负责接受CPU输
3、入的控制信号。4、数据总线缓冲器 是一个8位双向三态缓冲器,是8255A与CPU交换各类数据的接口。8255A的内部结构框图2022/7/137微机原理及应用8255A的引脚8255A是双列直插式40引脚芯片。1、与外设连接的引脚 A口、B口和C口共24条;2、与CPU连接的引脚 (1)数据线D0D7;(2)输入控制线:* RESET复位信号 RESET有效时,清除8255A内部寄存器,包括控制寄存器,A口、B口和C口设置为输入方式。 当RD低电平时,表示CPU读出8255A的数据或状态信息。* RD读信号2022/7/138微机原理及应用8255A的引脚 * A1A0端口寻址线,直接与CPU
4、地址线连接(8088的A1A0 ),确定CPU要访问的端口地址。 8255A内部有3个输入/输出端口和一个控制寄存器,由A1A0组合对应: A1A0 00 端口A A1A0 01 端口B A1A0 10 端口C A1A0 11 控制寄存器 * CS片选信号。* WR写信号表示CPU将数据或命令写入8255A。2022/7/139微机原理及应用(2) 8255A工作方式工作方式0基本输入输出工作方式 A、B、C端口都可以作为输入或输出数据端口,以无条件传送方式进行输入输出操作。工作方式1 应答式单向输入输出工作方式 A、B端口作为输入或输出数据端口,C口分为两组分别作为A口和B口的应答联络线。工
5、作方式2 应答式双向输入输出工作方式 只有A口可以工作于方式2,可以双向操作,即可以输入也可以输出数据,C口作为应答信号。位操作工作方式 只有C口可以进行位操作。2022/7/1310微机原理及应用工作方式0基本输入输出工作方式 1)方式0下8255A有两个8位端口:端口A和端口B,两个4位端口:端口C的高4位和端口C的低4位; 2)任何一个端口可以作输出或输入,由用户程序设定; 3)输出锁存,输入不锁存; 4)方式0适用于无条件传送方式。2022/7/1311微机原理及应用工作方式1 应答式单向输入输出工作方式 1)方式1下8255A可作为一个或两个选通端口,每个选通端口包含有:8位数据端口
6、、3位控制线(由端口C规定的位提供)、中断逻辑; 2)任何一个选通端口都可以作输出或输入,输出、输入均锁存; 3)若只有一个端口工作于方式1时,余下的13位可工作于方式0;若两个端口都工作于方式1时,端口C余下的2位可设定为输入或输出,且也具有置位/复位功能。 在方式1下,端口C的某些位规定作为联络信号,但这种规定在输入和输出时不相同。 2022/7/1312微机原理及应用工作方式1 输入 A、B端口工作于方式1输入时,方式选择控制字及端口C对应的控制信号见图示; IBF输入缓冲器满,是8255A的输出信号,可供CPU查询或用于外设联络。IBF有效时,表明在输入锁存器中已存放了一个数据; ST
7、B选通信号,低电平有效,由外设产生的输入信号; 每端口有3个控制信号:2022/7/1313微机原理及应用工作方式1 输入 INTR中断请求信号,是8255A的输出信号,供CPU查询或向CPU发出中断请求; INTE中断允许标志; * A口中断允许,PC4置位; * B口中断允许,PC2置位; 方式1中断输入过程首先必须对端口进行初始化:设置方式选择控制字,设置端口C置位/复位控制字,将端口设置为中断允许。 方式1程序查询传送方式,查询IBF的状态。2022/7/1314微机原理及应用工作方式1 输出 A、B端口工作于方式1输出时,方式选择控制字及端口C对应的控制信号见图示; 每端口有3个控制
8、信号:INTR中断请求信号,若INTE1,8255A向CPU发出中断请求信号;INTE中断允许标志。OBF输出缓冲器满,8255A给外设的控制信号ACK外设响应信号,外设给8255A的输入信号,表明输出数据已经接受了;2022/7/1315微机原理及应用工作方式1 输出 方式1输出与输入相同,首先必须对端口进行初始化: 设置方式选择控制字,设置端口C置位/复位控制字,将端口设置为中断允许。端口A或B可分别设为输入和输出,不受另一端口影响。同样,方式1输出可用于程序查询传送方式,CPU可通过查询输出缓冲器满信号OBF的状态,确定是否可以送出数据。2022/7/1316微机原理及应用工作方式2 双
9、向传送方式1)方式2只用于端口A;2)端口A工作于方式2下,端口C的PC7 PC3作其联络控制;3)输入、输出均锁存;4)方式2的输入/输出过程相当于方式1的输入过程和输出过程的组合。2022/7/1317微机原理及应用2、8255A的使用及初始化程序 8255A各端口的工作方式由CPU通过I/O指令写入控制寄存器的控制字来决定。 8255A有两个控制字:(1)方式选择控制字(2)端口C置位/复位控制字 初始化编程2022/7/1318微机原理及应用(1)方式选择控制字 方式选择控制字用于设置各端口的工作方式和数据输入/输出的传送方向。 例题2022/7/1319微机原理及应用例题(方式选择控
10、制字) 设某片8255A的端口地址是60H63H,工作于方式0,端口A和端口C高4位输出,端口B和端口C低4位输入,请设置该8255A的方式选择控制字。解:方式选择控制字=1000 00112022/7/1320微机原理及应用(2)端口C置位/复位控制字 端口C置位/复位控制字只对端口C的某一个位进行操作,其他位不受影响。 注意:必须写入控制端口。 例题2022/7/1321微机原理及应用例题(位操作控制字) 已知8255A的端口地址为02E0H02E3H,请实现对端口C的PC2置位和PC4复位。解:MOVDX,02E3H;大于8位的端口地址送DXMOVAL,05H;位操作控制字0000 01
11、01OUTDX,AL;置位PC2MOVAL,08H;位操作控制字0000 1000 OUTDX,AL;复位PC4 2022/7/1322微机原理及应用例题(位操作控制字)(2)请在8255A的C端口的PC7位输出一个正脉冲(设原来PC7=0)。解:程序段如下MOV AL, 0FH ;置位PC7,操作控制字00001111OUT CTRL_PORT, AL ;写入控制端口MOV AL, 0EH ;复位PC7,操作控制字 00001110OUT CTRL_PORT, AL ; 写入控制端口2022/7/1323微机原理及应用初始化编程 初始化就是CPU通过程序来设定8255A的工作方式。 设某片8
12、255A的端口地址是60H63H,工作于方式0,端口A和端口C高4位输出,端口B和端口C低4位输入,设置该8255A的方式选择控制字。解:方式选择控制字=10000011 初始化编程:MOV AL, 83HOUT CNTL_PORT,AL ; 将方式选择控制字由控制端口写入2022/7/1324微机原理及应用例题1、已知A,B,C端口均作为输入或输出端口,有12个开关和12个发光二极管,每一个开关对应每一个发光二极管,当某一开关接通时,对应的发光二极管就亮,否则就暗。试编写程序段实现此功能。(8255A的端口地址是0218H021BH)2022/7/1325微机原理及应用例题1解:程序段流程图
13、2022/7/1326微机原理及应用例题1解:程序段清单MOV AL, 83H ;B口和C口低4位输入, A口和C高4位输出MOV DX,021BH ;控制端口地址送DXOUT DX, AL ;从控制端口写入方式控制字LL: MOV DX,0219H ;读B口IN AL, DXDEC DX ;A口OUT DX, AL ;将B口读入的开关状态从A口输出MOV DX,021AH ;C口IN AL, DX ;C口读入数据MOVCL,4SHL AL, CL ;将低4位左移到高4位OUT DX,AL ;将低4位读入的从高4位输出JMP LLHLT2022/7/1327微机原理及应用例题2 一个微机系统中
14、采用8255A作为I/O接口,初始化时CPU访问其8BH端口,将它设置为方式0,A、B口输入,C口输出,请问A口的端口地址是多少?解:A口为88H2022/7/1328微机原理及应用例题3LED显示器 LED(发光二极管)显示器件是微机系统中廉价的输出设备,由多个发光二极管组成,可用于显示不同字符。 7段LED显示器件:2022/7/1329微机原理及应用例题3LED显示器 控制7段LED显示器件显示的方法有两种: 1、动态显示微处理器定时地对LED显示器件所显示的内容进行扫描。 2、静态显示所谓静态显示,就是当LED显示器显示某个字符时,相应的显示段(发光二极管)恒定地导通或截至,直到显示另
15、一个字符为止。2022/7/1330微机原理及应用1、动态显示 动态显示微处理器定时地对LED显示器件所显示的内容进行扫描。 LED显示器件是分时工作的,任一时刻只有一个显示器件在显示。 但扫描显示达到一定的速度时,利用视觉暂留现象,人们看到的就是所有器件在显示。PBi决定显示哪一个9 8 7 6 5 42022/7/1331微机原理及应用1、动态显示2022/7/1332微机原理及应用1、动态显示数据段程序:DATA SEGMENT SEGTAB DB 3FH,06H 5BH 4FH,66H DB 6DH,7DH,07H,7FH,6FH;数字09的公阴极 ;显示代码 DISBUF DB 9,
16、8,7,6,5,4 ;七段LED要显示的数 DATA ENDS2022/7/1333微机原理及应用代码段:DISP1 PROC NEARMOV BX,OFFSET DISBUF;取要显示的数的指针MOV CH,20H;从左边第一位开始显示MOV SI,OFFSET SETTAG;设定显示代码的指针PUSH DXDIS1:PUSH SIMOV AH,0MOV AL,BX;取要显示的数ADD SI,AX;求显示代码的指针 MOV AL,SI;显示代码送ALMOV DX,800H;取PA端口OUT DX,AL;输出显示的数MOV DX,801H;取PB端口MOV AL,CH;送出位显代码OUT DX
17、,AL CALL DLY1MSAND AL,01H;已显示最右一位吗?JZ D2.2022/7/1334微机原理及应用例4、键盘接口技术1、独立式按键2、行列式键盘 2022/7/1335微机原理及应用一、独立式按键独立式按键是指直接用输入端口线构成的单个按键电路。设8255A的端口A连接8个按键,初始化设置为输入。*当无键按下时,PA0PA7输入状态均为1(高电平);*当有键按下时,则按键对应的端口线输入为0(低电平)。适用于按键比较少的系统,按键之间互不影响。A2022/7/1336微机原理及应用二、行列式键盘行列式键盘(矩阵式键盘)由行线和列线组成,按键设置在行、列结构的交叉点上,行列线
18、分别连在按键开关的两端。A列线输出行线输入判断有无键按下:*若C口的低四位全为高电平(即0FH),则无键按下;*若C口低四位不全为高电平,则说明有键按下。(先使A口输出均为低电平)(再定时从PC端口读入行值)2022/7/1337微机原理及应用1、定时扫描法(1)定时扫描键盘,判断有否按键按下? 先使A口输出(列)均为低电平,再定时从PC端口读入行值,监视有无键按下:*若C口的低四位全为高电平(即0FH),则无键按下;*若C口低四位不全为高电平,则说明有键按下。2022/7/1338微机原理及应用1、定时扫描法(2)消除按键抖动 如果有按键按下,则延时1020ms后,再次从C口读入行值,如果此
19、时仍有键按下,则确认键盘有键按下。2022/7/1339微机原理及应用1、定时扫描法(3)求按键键值 首先对键盘逐列扫描(即逐列输出低电平)。*首先令PA00,然后由C口读入行值,是否等于0FH?若等于0FH,说明该列无键按下;*再令PA10,然后由C口读入行值,是否等于0FH?若不等于0FH,说明该列有键按下,则求按键键值。 假设,列输出值为0FDH(1111 1101),而行读入值为0EH(0000 1110),即所按键值为1。2022/7/1340微机原理及应用1、定时扫描法(4)等待按键释放 为保证按键每闭合一次,计算机只作一次处理,程序需等待按键释放后,才作下一按键的处理。2022/
20、7/1341微机原理及应用1、定时扫描法K_CHKPROC NEAR;检查有无按键子程序MOV DX,800H;送A口地址MOV AL,00H;列输出线全为0OUT DX,ALMOV DX,802H;送C口地址IN AL,DX;从C口读入行值AND AL,0FH;行值与0FH相与CMP AL,0FH;相与值再与0FH相减RET;返回主程序K_CHK ENDP设8255A的4个口分别为800H803H,初始化时已设A口为输出,C口为输入,则键盘扫描程序:(1)检查有无按键子程序(K_CHK)(2)求按键键值子程序(3)按键处理子程序相减为0,则无键按下;相减不为0,则有键按下。2022/7/13
21、42微机原理及应用1、定时扫描法设8255A的4个口分别为801H803H,初始化时已设A口为输出,C口为输入,则键盘扫描程序:(1)检查有无按键子程序(K_CHK)(2)求按键键值子程序(3)按键处理子程序KEYPROC NEAR;求按键键值子程序KSCAN:CALL K_CHK;检查键盘有无按键JNZ KS0;有键按下,转KS0RETKS0:CALL DLY10MS;调用延时程序,防抖动CALL K_CHK;再次确认有无按键JNZ KS1;有键按下,转KS1RETKS1:MOV AH,0FEH;第一列扫描值MOV AL,AHMOV DX,800H;送A口地址KS2:OUT DX,ALMOV
22、 DX,802H;送C口地址IN AL,DX;从C口读入行值AND AL,0FHCMP AL,0FH;读入的值与0FH比较JNZ KS3;不为0即有键按下转KS3ROL AH,1;第二列扫描值MOV AL,AHMOV DX,800H;送A口地址AND AL,01H;8列是否已扫描完成?JNZ KS2;没有,继续检查下一列RETKS3:MOV BH,AL;保存按键值到BHKS4:CALL DLY10MS;调用延时程序CALL K_CHK ;检查键盘有无按键JNZ KS4;等待按键释放CALL KEYP;调用按键处理子程序RETKEYENDP*按键的行值、列值分别在BH、AH寄存器中2022/7/
23、1343微机原理及应用1、定时扫描法设8255A的4个口分别为801H803H,初始化时已设A口为输出,C口为输入,则键盘扫描程序:(1)检查有无按键子程序(K_CHK)(2)求按键键值子程序(KEY)(3)按键处理子程序*按键的行值、列值分别在BH、AH寄存器中KEYPPROC NEAR;按键处理子程序MOV BL,0;KP1:INC BL;SHR AH,1;JC KP1;DEC BL;BL得到第几列 AND BH,0FH ;取低4位MOV CL,0;KP2: INC CL;SHR BH,1;JC KP2;DEC CL;MOV BH,CL;BH得到第几行MOV AL,08HMUL BH;行值
24、8ADD AL,BL;得到实际按键值SHL AL,1;MOV BX,AX;JMP K_TABBX;根据按键值转移K_TAB:JMP SHORT KEY00;JMP SHORT KEY01;JMP SHORT KEY31KEY00:;相应按键处理RET;KEY01:;RET ;KEY31:;RET;KEYPENDP2022/7/1344微机原理及应用2、中断扫描法 中断扫描法与定时扫描法的不同之处在于,没有按键时,键盘程序不用执行,这样就节省了CPU的时间。 只有当任一键按下时,即IRQ2由低电平转为高电平时,向CPU申请中断。CPU响应中断后,再调用键盘程序。2022/7/1345微机原理及应
25、用作业 P2682、4、62022/7/1346微机原理及应用习题8255A哪种工作方式具有中断请求的功能?该中断请求能否屏蔽?如何设置?解:8255A的方式1、方式2具有中断请求功能,均可屏蔽。 A口:方式1输入时,PC4置位允许中断、 PC4复位禁止中断; 方式1输出时,PC6置位允许中断、 PC6复位禁止中断;方式2时,即为方式1输入、输出的组合。B口:工作于方式1时,PC2置位允许中断、 PC2复位禁止中断。2022/7/1347微机原理及应用习题(2)设8255A的端口地址为0260H0263H,试编写下列各种情况的初始化程序:(1)A口、B口设置为方式0,端口A和C作为输入口,允许
26、中断。解:初始化程序段:MOV AL,99H;方式选择控制字10011001MOV DX,0263H;端口地址大于8位送DXOUT DX,AL2022/7/1348微机原理及应用习题(3)(2)A口设为方式2,禁止中断,B口设为方式1输出,允许中断。解:初始化程序段:MOV AL,0C4H ;方式选择控制字11xx x10 xMOV DX,0263HOUT DX,AL;初始化完成MOV AL,0CH ;位操作控制字0000 1100, PC6复位,;输出中断禁止OUT DX,ALMOV AL,08H ;位操作控制字0000 1000, PC4复位,;输入中断禁止OUT DX,AL;A口方式2,
27、禁止中断MOV AL,05H ;位操作控制字0000 0101, PC2置位,;B口中断允许OUT DX,AL2022/7/1349微机原理及应用习题(4)(3)A口设置为方式1输入,PC7和PC6作为输出,B口方式1输入,A口和B口允许中断。解:初始化程序段:MOV AL,0B6H;方式选择控制字1011 011xMOV DX,0263HOUT DX,AL ;初始化完成MOV AL,09H ;位操作控制字0000 1001, PC4置位OUT DX,AL;A口允许中断MOV AL,05H;位操作控制字0000 0101, PC2置位OUT DX,AL;B口允许中断2022/7/1350微机原
28、理及应用二、可编程定时器/记数器8253 在微型计算机系统中常常需要定时器或计数器,用来产生实时时钟信号,如定时对动态存储器刷新,控制系统的定时检测等等。同时,计算机控制系统也常常需要计数功能,实现对外部事件的计数。1、8253的内部结构及引脚2、8253的控制字3、8253的的工作方式作业2022/7/1351微机原理及应用1、 8253的内部结构及引脚8253的内部结构(1)3个计数器计数器0、1、2,每个计数器的结构相同,而且操作是互相独立的。(2)控制字寄存器是一个8位寄存器,每个计数器有一个,只能写入,不能读出,用来保存计数器的工作方式、计数进位制方式以及读/写计数器方式。(3)数据
29、总线缓冲器与CPU数据总线直接相连。(4)读写控制电路8253的控制电路,接受来自CPU的地址信号和控制信号,完成对8253内部各功能的控制和操作。2022/7/1352微机原理及应用1、 8253的内部结构及引脚A1A0 00 计数器0A1A0 01 计数器1A1A0 10 计数器2A1A0 11 控制寄存器2022/7/1353微机原理及应用1、 8253的内部结构及引脚(2)8253是24引脚的双列直插式芯片。(1)与CPU连接的引脚 数据线D0D7:这是与CPU数据线连接的引脚,用于与CPU传递信息。(2)与外部连接的引脚 三个计数器的三组线:CLK、GATE和OUT。控制线RD、WR
30、、CS、A1和A0 :与8255A比较,除没有复位信号RESET外,其余都相同。2022/7/1354微机原理及应用计数器的结构8253的每个计数器包括:(1)16位的计数初值寄存器CR存放由CPU编程设定的计数初值;(2)16位计数执行部件CE是一个减1计数器,初值是CR的内容。CE只对CLK脉冲计数,一旦计数器被启动后,每出现一个CLK脉冲,CE减1。当减为0时,通过OUT输出指示信号,表明CE为0;*当CLK是一个非周期性信号时,起计数功能;*当CLK是周期性时钟信号时,起定时功能。 作定时器用时,定时系数要求的定时时间/输入的时钟脉冲周期,作为计数初值预置入CR;2022/7/1355
31、微机原理及应用计数器的结构(3)16位输出锁存器OL跟随CE的内容变化,当接受到CPU发来的锁存命令时,就锁定当前的计数值,而不跟随CE变化,直到CPU从中读取锁存值后,才恢复跟随CE。(4)GATE门控脉冲输入。 * 高电平时,允许计数器工作; * 低电平时,禁止计数器工作。2022/7/1356微机原理及应用2、 8253的控制字(1)控制字在8253的初始化编程中,第一个写入的一定是方式控制字,规定8253的工作方式。2022/7/1357微机原理及应用2、 8253的控制字(2)(2)8253的读/写操作* 写入操作设置控制字,设置计数初值和设置锁存命令; 使用前,首先初始化:先写入方
32、式控制字,随后写入计数初值(注意格式)。 控制字写入控制寄存器端口,计数初值写入计数器端口。 锁存命令D7D6指定要锁存的计数器,D5D4 00。* 读出操作CPU读取计数器当前的计数值。 在计数过程中,输出锁存器OL跟随计数执行部件CE变化,在接到CPU发来的锁存命令时,当前计数值锁存于OL中,OL不再变化,保持至CPU用输入指令读取该计数器端口的OL值后,输出锁存器自动解除锁存状态,再次跟随CE。2022/7/1358微机原理及应用3、8253的的工作方式8253提供6种工作方式,遵循以下基本原则:(1)控制字写入计数器,所有的控制逻辑电路复位,输出端进入初始状态;(2)初始计数值写入后,
33、经过一个CLK脉冲后,才由计数初值寄存器CR送入计数执行部件CE开始计数。在输入脉冲的CLK的下降沿,计数器作减1计数;(3)通常,在输入脉冲CLK的上升沿,门控信号GATE被采样。不同的工作方式,GATE信号的触发方式有不同的规定,电平触发、边沿触发或两者都允许;(4)8253内部没有中断控制电路,也没有专用的中断请求线,若需中断,可将OUT端作为中断请求信号,通过外部电路实现对该中断管理(比如接到8259A的IRi)。2022/7/1359微机原理及应用3、8253的的工作方式(2)(1)方式0计数结束中断方式 方式0是典型的事件计数用法,CLK作为事件计数输入信号,当计数执行部件CE为0
34、时,OUT端变为高电平,可以作为中断请求信号。 工作原理:当写入控制字后,OUT变为低电平,CPU将计数初值写入计数初值寄存器CR后,利用下一个CLK脉冲的下降沿将CR的内容装入CE中; 再从下一个CLK脉冲的下降沿开始,CE执行减1计数,减到0时,OUT变为高电平,并保持。除非重新装入计数初值或复位。 GATE是门控信号,高电平开放计数,低电平禁止计数。2022/7/1360微机原理及应用3、8253的的工作方式(3)方式0的特点和应用(1)计数过程由软件启动,每写入一次计数初值,就启动一次计数过程,即可以利用写入计数初值的时刻来控制启动计数器的时刻;(2)GATE的作用是开放和禁止计数;(
35、3)OUT由低变高表示计数过程结束,若计数初值为N,表示已经出现了N1个CLK脉冲信号,或者说已经发生了N1次事件;(4)方式0主要用于事件计数,OUT信号可作为中断请求信号。2022/7/1361微机原理及应用3、8253的的工作方式(4)例:设8253的端口地址是70H73H,若计数器1工作在方式0,计数次数为130次,试编写初始化程序。解:初始化程序段MOV AL,71H ;01 11 000 1,计数器1,BCD计数OUT 73H,AL;控制字写入控制寄存器MOV AL,30H;先送低8位OUT 71H,AL;低8位送计数器1MOV AL,01H;先送低8位OUT 71H,AL;高8位
36、送计数器12022/7/1362微机原理及应用3、8253的的工作方式(5)方式1硬件触发启动定时或计数 方式1下,CPU写入控制字后,输出OUT变高,然后写入计数初值到CR; 当GATE端产生一个由低变高的触发信号之后的下一个CLK时钟脉冲的下降沿,才将CR装入CE,同时OUT变为低电平; 然后计数部件CE根据CLK脉冲做减1计数,减到0时,OUT变为高电平。 OUT端输出的负脉冲宽度就是计数初值个CLK脉冲周期之和。 方式1可重触发,只要将GATE端再产生一次由低变高的触发信号,则又将计数初值寄存器的CR的内容装入CE,又开始计数。2022/7/1363微机原理及应用3、8253的的工作方
37、式(6)方式1特点和应用(1)计数器的启动只能由门控脉冲的上升沿产生,即只能用硬件启动,不能用软件启动计数器;(2)OUT输出是一个负脉冲,其脉宽为计数初值个CLK时钟脉冲的周期之和;(3)在形成负脉冲过程中,可再重触发,使OUT输出的负脉冲加宽。(4)由于计数初值是由程序写入的,所以可以通过改变计数初值输出不同宽度的OUT的负脉冲信号。2022/7/1364微机原理及应用3、8253的的工作方式(7)例:设8253的端口地址是70H73H,若计数器1工作在方式1,计数次数为20次,试编写初始化程序。解:初始化程序段MOV AL,52H ;01 01 001 0,计数器1,二进制计数OUT 7
38、3H,AL;控制字写入控制寄存器MOV AL,14H;OUT 71H,AL; 计数次数送计数器12022/7/1365微机原理及应用3、8253的的工作方式(8)方式2脉冲发生器方式2下,CPU写入控制字后,输出OUT为高电平。若GATE1,写入计数初值后下一个脉冲开始计数。 计数过程OUT保持高电平,当减至1时,OUT变低,一个CLK时钟周期之后,计数值至0,输出OUT恢复高电平,且自动恢复计数初值重新开始计数,连续不断。 所以,只要CLK是周期性脉冲序列,则OUT端将输出一个CLK脉冲周期的宽度。 若计数初值为N,OUT的频率CLK的频率/N 。2022/7/1366微机原理及应用3、82
39、53的的工作方式(9)方式2的特点与应用(1)在方式2的工作过程中,计数初值CR能自动地、重复地装入到计数执行部件CE中。只要CLK是周期性的脉冲序列,在OUT端上就能连续地输出周期性分频信号,正脉冲宽度为(计数初值1)个CLK宽度,负脉冲宽度即为CLK的宽度;(2)方式2的计数器既可软件启动(计数器恢复初值,重新计数); 又可硬件启动(GATE1,计数器恢复初值,GATE0现行计数暂停)(3)在计数过程中,可再次写入新的计数初值,下次有效。2022/7/1367微机原理及应用3、8253的的工作方式(10)例: 8253的计数器2用作分频器,将频率为1.19MHz的输入脉冲转变成频率为500
40、Hz的脉冲信号。8253的端口地址为70H73H。试编写初始化程序段。解: N1.19106/500 = 2380 094CH则其初始化程序段为: MOV AL,0B4H ;10110100,计数器2方式2二进制计数 OUT 73H,AL;控制字送入控制寄存器 MOV AL,4CH OUT 72H,AL;计数值低8位送入计数器2 MOV AL,09H OUT 72H,AL ;计数值高8位送入计数器2 注:N也称为分频系数2022/7/1368微机原理及应用作业P26812、13、14、152022/7/1369微机原理及应用习题 8253有几个计数器?是多少位的?可采用几种工作方式?简述各工作
41、方式的特点。 解:8253上有3个独立的16位计数器,可提供6种工作方式供选择。 方式0(计数结束中断):计数器由软件启动(当控制字CW写入控制字寄存器),在写入计数初值N后,若门控信号GATE为高电平,计数器开始计数。经过N+1个CLK脉冲输出OUT变高。计数初值一次有效,GATE为0禁止计数。 方式l(可编程单拍脉冲):计数器由外部硬件信号启动(GATE的上升沿),若计数值为N,启动后输出OUT变低,计数结束,OUT变高,即单拍脉冲的宽度为N个CLK脉冲。计数初值N可重装,但必须由外部信号启动后再计数。 2022/7/1370微机原理及应用习题(2) 8253有几个计数器?是多少位的?可采
42、用几种工作方式?简述各工作方式的特点。 解:方式2(脉冲发生器):计数器可由软件启动或硬件启动,每N个CLK脉冲,输出宽度为一个CLK周期的负脉冲。计数初值N可自动重装,GATE为0禁止计数。 方式3(方波发生器):方式3与方式2相似,计数器能连续计数,输出周期性波形。但方式3中,输出波形在计数过程中一半为高电平,一半为低电平。若计数值为N,则输出周期为N TCLK的方波(或近似方波)。 方式3常用作波特率发生器。写入N后,若N为偶数,则方波的前半周期和后半周期均为(N/2)TCLK ;若N为奇数,则方波的前半周期为(N +1)/2)TCLK,后半周期为(N1)/2)TCLK 。GATE为0禁
43、止计数。2022/7/1371微机原理及应用习题(3)解:方式4(软件触发选通):与方式0一样,是由软件启动计数器,写入计数初值N后,经过N个CLK脉冲,输出宽度为一个CLK周期的负脉冲。计数初值一次有效,GATE为0禁止计数。 方式4与方式0主要在输出波形上不同。启动计数后,输出OUT变高电平(方式0为低电平),至计数为0,输出宽度为一个CLK周期的负脉冲(方式0为变高电平)。 方式5(硬件触发选通):与方式1一样,是由外部硬件信号启动计数器(GATE的上升沿),计数初值N可重装,但必须由外部信号启动后再计数。 方式5与方式1不同的是,门控触发后,输出OUT为高电平,经过N+1个CLK,输出
44、宽度为1个CLK周期的负脉冲。 8253有几个计数器?是多少位的?可采用几种工作方式?简述各工作方式的特点。2022/7/1372微机原理及应用习题(4)某系统中8253的端口地址为F280HF283H,请按要求编制初始化程序: 1)计数器0工作于方式3,CLK02.5MHz,要求OUT0输出速率为1kHz的方波。解:计数器0的计数初值 N CLK的频率/ OUT的频率 2.5MHz/1kHz 2500初始化程序段:MOV AL,37H ;控制字0011 0111,计数器0方式3,先低字节后高字 ;节,BCD计数MOV DX,0F283H;控制寄存器端口大于地址8位,送DX OUT DX,AL
45、 ;控制字写入控制端口,完成初始化MOV DX,0F280H;计数器0的地址送DXMOV AL,00H;计数初值低字节送计数器0OUT DX,AL;MOV AL,25H;计数初值高字节送计数器OUT DX,AL;完成送计数初值 2022/7/1373微机原理及应用习题(5)2)计数器1工作于方式2,CLK12MHz,要求OUT1输出1kHz频率的脉冲波。解:计数器1的计数初值NCLK的频率/ OUT的频率 2MHz/1kHz 2000初始化程序段:MOV AL,65H ;控制字0110 0101,计数器1方式2,;先低字节后高字节,BCD计数MOV DX,0F283H;大于8位的控制器端口地址
46、送DXOUT DX,AL;控制字写入控制器端口MOV DX,0F281H;计数器1端口地址送DXMOV AL,00H;低字节送计数器1OUTDX,AL;MOV AL,20H;高字节送计数器1OUTDX,AL;完成送计数初值2022/7/1374微机原理及应用习题(6)3)计数器2工作于方式4,用OUT1输出作计数脉冲CLK2,计数值为1000,计数器计到0,给出一个控制脉冲沿。解:计数器2的计数初值 N1000=03E8H初始化程序段:MOV AL,0B8H ;控制字1011 1000,计数器2方式4,;先低字节后高字节,二进制计数MOV DX,0F283H;大于8位的控制器端口送DXOUT
47、DX,AL;控制字送控制器端口,完成初始化MOV DX,0F282H;计数器2的端口地址送DXMOV AL,0E8H;低字节送计数器2OUT DX,ALMOV AL,03H;高字节送计数器2OUT DX,AL ;完成送计数初值2022/7/1375微机原理及应用习题(7) 已知某8253的输入时钟为1.193MHz。请用该芯片产生1Hz频率的脉冲波。设芯片的端口地址为40H43H。解:输入脉冲频率为1.193MHz,要求输出1Hz频率的脉冲波。计数初值 N CLK脉冲频率 / OUT频率 1.193MHz/1Hz1193000 216 显然无法用一个计数器单独实现,必须用两个计数器级连才能实现
48、。选用计数器0和计数器1工作于方式2 ,将OUT0连至CLK1。(1)计数器0,对1.193MHz的时钟计数,产生频率为1kHz的周期信号,计数器0的计数初值为1193;(2)计数器1,对OUT0产生的1kHz周期信号计数,从而产生频率为1Hz的周期信号,计数器1的计数初值为1000。2022/7/1376微机原理及应用习题(8)程序段:MOV AL,35H;控制字0011 0101,计数器0方式2,;先低字节后高字节,BCD计数OUT 43H,AL;控制字写入控制器端口,完成初始化MOV AL,93H;计数初值低字节送ALOUT 40H,AL;写入计数器0MOV AL,11H;计数初值高字节送AL OUT 40
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030全球蒸汽甲烷重整蓝氢行业调研及趋势分析报告
- 2025年全球及中国宠物蔓越莓补充剂行业头部企业市场占有率及排名调研报告
- 2025-2030全球可调节轨道灯行业调研及趋势分析报告
- 2025年全球及中国核电用金属管行业头部企业市场占有率及排名调研报告
- 2025-2030全球可见光波段高光谱成像(HSI)设备行业调研及趋势分析报告
- 2025-2030全球玻璃烟斗行业调研及趋势分析报告
- 2025年全球及中国鱼雷泵行业头部企业市场占有率及排名调研报告
- 2025-2030全球I型阳极氧化服务行业调研及趋势分析报告
- 2025农村买房子合同范本
- 工程汽车租赁合同范本
- 2025版茅台酒出口业务代理及销售合同模板4篇
- 2025年N1叉车司机考试试题(附答案)
- 《医院财务分析报告》课件
- 2024年考研政治试题及答案
- 不锈钢栏杆施工工艺
- 陕西演艺集团有限公司招聘笔试题库2023
- 小型餐饮店退股协议书
- 第九讲 全面依法治国PPT习概论2023优化版教学课件
- 两淮矿区地面定向多分支水平井钻进作业技术规程
- vc约起来史上最全180个知名投资人联系方式
- 社会稳定风险评估报告风险评估参考
评论
0/150
提交评论