资源预览内容
第1页 / 共16页
第2页 / 共16页
第3页 / 共16页
第4页 / 共16页
第5页 / 共16页
第6页 / 共16页
第7页 / 共16页
第8页 / 共16页
第9页 / 共16页
第10页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
7-11 有一片8253接在系统中,其端口地址分配如下: 0# 计数器 :220H 1# 计数器 :221H 2# 计数器:222H 控制口 : 223H 利用0# 计数器高8位计数,计数值为256,二进制方式,选用方式3工作,试编程初始化。 答: MOV AL,26H;选择0#计数器高8位,方式3 ,二进制方式 MOV DX,223H OUT DX,AL ;写控制字,必须使用DX MOV AL,0 ; 计数器0高8位计数256FFH, MOV DX,220H;(上行注释:256是一个字节写不下的) OUT DX,AL ;或AL,或AX,而不能AH2021/8/21 利用1(2)# 计数器高、低8位计数,计数值为1000,BCD 方式计数,选用方式2工作,试编程初始化。 MOV AL,75H(0B5H);1(2)#计数器16位,方式2,BCD计数 MOV DX,223H OUT DX,AL ;写控制字 MOV AX,1000H ;1000=3E8H MOV DX,221H(222H) OUT DX,AL ;先送低字节00 MOV AL,AH ; OUT DX,AL ;再送高字节10(1000D),必须送高字节 必须分两次送,不能 OUT DX,AX 一次完成 2021/8/227-12 有一片8253接在系统中,其端口地址分配如下: 0# 计数器 :340H 1# 计数器 :341H 2# 计数器: 342H 控制口 : 343H 设已有信号源频率1MHZ ,现要求用一片8253定时1秒钟,设计出硬件连接图,并编程初始化。 答:使用定时器0、1串联,经两次1000分频 MOV AL,34H;选择0#计数器16位计数,方式2,2进制计数方式 MOV DX,343H; OUT DX,AL ;写控制字; MOV AX,1000 MOV DX,340H OUT DX,AL ;先送低字节 MOV AL,AH OUT DX,AL ;再送高字节(所设计出的定时器1的初始化程序见下页)2021/8/23MOV AL,73H;#1计数器16位计数,方式1/0/4,BCD计数方式 MOV DX,343H ; 72H,#1 16位计数,方式1/0/4,二进制计数方式. OUT DX,AL ;写控制字;1000的二进制数是3E8H MOV AL,00H MOV DX,341H OUT DX,AL ;先送低字节 MOV AL,10H OUT DX,AL ;再送高字节答案当然不唯一:也可以将三个定时器全用上:使用定时器0、1、2串联,各进行100分频MOV AL,14H;选择0#计数器8位计数, MOV AL,100MOV DX,343H;方式2,二进制计数方式 MOV DX,341HOUT DX,AL; OUT DX,AL MOV AL,100 ;64H MOV AL,98H;选择2#计数器8位计数 MOV DX,340H MOV DX,343H;方式4/0/1,二进制计数方式 OUT DX,AL ; OUT DX,ALMOV AL,54H;选择1#计数器8位计数 MOV AL,100MOV DX,343H;方式2,二进制计数方式 MOV DX,341H OUT DX,AL OUT DX,AL2021/8/2400RDWRCSA1A0D0 D7GATE0GATE1GATE2CLK0CLK1OUT0CLK2OUT1OUT2IORIOW来自74LS138的Y5A1A0D0 D7+ 5V8253 - 5 1MHz 频率信号0G2AY5G2BG174LS138Y7A8A7A6A11 A10 A9Y0去8253的片选引脚高电平0如果要求画图,图可不能不画。2021/8/257.21编写8259的初始化程序,系统中仅有一片8259,允许8个中断边沿触发,不需要缓冲,一般全嵌套工作方式,中断向量为40H。(设其片选地址20H、21H)答:MOV DX,20H MOV AL,13H (1BH?) ;写ICW1,上升沿,单片,要ICW4 OUT DX,AL MOV DX,21H MOV AL,40H ;写ICW2,中断类型号从40H开始 OUT DX,AL NOP ;系统中仅有一片8259,不需设ICW3 MOV AL,01H(03H);写ICW4,不需要缓冲工作方式,非特殊完全 嵌套, 8088/8086配置,未提自动结束否。 OUT DX,AL MOV AL,0 OUT DX,AL ;写OCW1(一个都不屏蔽)2021/8/267.22 试按照如下要求对8259中断控制器设置命令字。系统中有一片8259,中断请求信号用电平触发方式,下面要用ICW4,中断类型码为80H87H,用特殊全嵌套方式,不用缓冲方式,采用中断自动结束方式,8259的端口地址为76H,77H答:MOV AL,1BH(13H?) ;写ICW1,高电平,单片,要ICW4 OUT 76H,AL MOV AL,80H ;写ICW2,中断类型号从80H开始 OUT 77H,AL NOP ;系统中仅有一片8259,不需设ICW3 MOV AL,13H (03H) ;写ICW4,用特殊(一般)全嵌套方式,不需要缓冲 ;工作方式,采用中断自动结束方式,088/8086配置 OUT 77H,AL MOV AL,0 OUT 77H,AL ;写OCW1(一个都不屏蔽)2021/8/277-26 有一片8255接在系统中,其A口,B口,C口,控制口地址分别是200H,201H,202H , 203H,实现: A组与B组均设为方式0, A口,B口均设为输入, C口为输出,试编程初始化。 (2) 在上述情况下,设查询信号从B口输入,如何实现查询式输入(输入信号从A口输入)与查询式输出(输出信号从C口输出)答: MOV AL,92H; A组与B组均设为方式0, A口,B口均设为输入, C口为输出, MOV DX,203H OUT DX,AL ;写控制字 2021/8/28(2)START:MOV DX,201H ;取B口状态 Detect: IN AL, DX RCR AL,1 ;将PB0位移至C JC Detect ;检测 等待低 OR AL,02H ; PB1 置1 OUT DX,AL ;发出IBF信号 MOV DX,201H ;取B口状态 IN AL, DX AND AL,0FDH OUT DX,AL;清除IBF信号, 至此,输入结束硬件图见下页 选通信号低有效,输入缓冲器接收到一个来自外设的8位数据,IBF输入缓冲器满的输出信号,高电平有效P265 方式1(输入)MOV DX,202H ;PC口地址MOV AL,BLOUT DX,AL;用PA口状态去控 制PC口 MOV DX,201H ;取B口状态IN AL, DXAND AL,0FBH ;OUT DX,AL ;发出 信号,Detect1: IN AL, DXMOV CL,4RCR AL,CL ;将PB3位移至CJC Detect1 ;检测JMP START硬件图见下页 输出缓冲器满信号,低有效,通知外设取走端口数据: 外设应答信号,低有效,表示外设已取走PC口数据 P266 方式1(输出)2021/8/29G2AY1G2BG174LS138Y7IBFA11 A10 A9Y0去8255的片选引脚D0 PA0D1 PA1D2 PA2D3 PA3D4 PA4D5 PA5D6 PA6D7 PA7PC0 PB0PC1PC2 PB1PC3PC4 PB2PC5PC6 PB3PC7 PB4 RESET A0 PB5 A1 来自138的Y0A8A7A6D0D1D2D3D4D5D6D7A0A1RESET82552021/8/210(2) CSEG SEGMENT ASSUME CS:CSEGAAA:MOV DX,201H IN AL, DX ; AND AL,01H CMP AL,0 JNE AAA ;查询PB0( 输入选通信号,低有效把外设输入的数据进入A口缓冲器 ) MOV DX,200H IN AL, DX MOV AH,AL BBB: MOV DX,201H IN AL,DX AND AL,02H CMP AL,0 JNE BBB ;查询PB1( 外设应答信号,低有效,将外设由A口输入的数据传送到C口缓冲器 ) MOV DX,202H MOV AL,AH OUT DX, AL ;C口输出 JMP AAA CSEG ENDS END AAA硬件图见下页方法22021/8/211D0D7 PA0PC0 PC7 PB0 PB1 PB2 PB7 RESET A0 A1 来自138的Y0D0D7A0A1RESET8255888Y0G2AG2BG174LS138A9A4A3A2去8255的片选(200H)+A7 A8+A5 A6PB2PB72021/8/2127-26 如果需要8255A的PC3口输出频率是2KHZ的连续方波,如何使用C口的置位与复位控制命令字编程实现它(主频2MHZ)?第一种方法:软件延时的方法分析:主频2MHZ,则一个机器周期0.5微秒, PC3口输出频率是2KHZ的连续方波,则半个周期是0.25毫秒(即0.25毫秒翻转一次),构造一个延时0.25毫秒的子程序.PC3口伴随着PC口联动. MOV AL,92H; A组与B组均设为方式0, A口,B口均设为输入, C口为输出, MOV DX,203H OUT DX,AL ;写控制字 MOV DX,202H ABC: MOV AL,08H ;PC3输出高电平 OUT DX,AL ;1 CALL DELAY ; MOV AL,00H ;PC3输出低电平 OUT DX,AL ; CALL DELAY ;延时 JMP ABC 2021/8/213DELAY PRCO NEAR MOV CX,49 ;4BCD: LOOP BCD ;10 RET ;8DELAY ENDP (4+8+1049) 0.5us=250us=0.25ms 2021/8/2147-22 如果需要8255A的PC7口输出频率是2KHZ的连续方波,如何使用C口的置位与复位控制命令字编程实现它(主频2MHZ)?第二种方法:软件延时的方法(硬件电路如题7-16图)分析:主频2MHZ,则一个机器周期0.5微秒, PC3口输出频率是2KHZ的连续方波,则半个周期是0.25毫秒(即0.25毫秒翻转一次),构造一个延时0.25毫秒的子程序. PC3口不是伴随着PC口联动,而是单独被置1或清0. MOV AL,0B6H; A组与B组均设为方式1, A口,B口均设为输入, C口为输出, MOV DX,203H OUT DX,AL ;写控制字 MOV DX,203H ABC: MOV AL,07H ;PC3输出高电平 OUT DX,AL ;1 CALL DELAY ; MOV AL,06H ;PC7输出低电平 OUT DX,AL ; CALL DELAY ;延时 JMP ABC 2021/8/215部分资料从网络收集整理而来,供大家参考,感谢您的关注!
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号