(一)知识点总结
一直没有学明白8253和8255芯片,觉得后面难,其实看懂后,就是照着表格去对应填写,
知道地址怎么回事就没问题哒~ 相信你😘
一、8255芯片(不是偷懒,真的就是看懂这2个图都会做哒!)
对应练习部分:测试1-5题足够考试滴~~~
二、8253芯片
更多8253练习见如下笔记哦~
微机原理 || 8253接口芯片知识点+4道经典例题+手写解题过程_MSY~学习日记分享的博客-CSDN博客
(二)测试题
1、假定8255A的地址为0114H~0117H,将A组和B组设置为方式0,,端口A和C作为输入口,端口B作为输出口,试填空完善初始化程序:
2、假定8255A的地址为78H~ 7BH,将A组设置为方式2,B组设置为方式1,端口B作为输出口,试填空完善初始化程序:
3、假定8255A的地址为003CH~003FH,将A组设置为方式1,且端口A作为输入,PC6和PC7作为输出;B组设置为方式1,且端口B为输入口,试填空完善初始化程序:
6、若8253可利用8086的外设接口地址1020H ~ 1023H,加到8253.上的时钟信号为4MHz,试填空回答:
(1) 若利用计数器产生周期为10S的对称方波,则计数器0的初
值应设置为[填空1],工作方式应设置为方式[填空2]。
(2)若利用计数器每1S产生一个负脉冲,直接计算,理论上计数值应为[填空3],工作方式应设置为方式[填空4] ;思考用一个计数器能实现么? [填空5](请填能或否)
将上页第6题(1) 利用计数器
采用二进制计数方式来实
现,请填空完善其初始化程序:
将上页第6题(2) 利用计数器1和计数器2级联来实现,都采用二进制计数方式,请填空完善其初始化程序,并理解;各计数器初值的选取:
7、读计数值-将某计数器的计数值读到CPU中设8253的端C ]地址为104H ~ 107H,
请编写程序,将计数器1的当前计数值读入CX寄存器中。
;写计数器1的锁存命令入控制字寄存器
MOV AL,[填空1]
MOV DX, [填空2]
OUT DX, AL
;读取计数器1的计数值
MOV DX, [填空3] ;
IN AL, DX
;读低8位
MOV [填空4],[填空5] ; 保存.
IN AL,DX;读高8位,
MOV [填空6],AL保存
8、读计数值-将某计数器的计数值读到CPU中。设8253的端口地址为408H ~40BH,请编写程序,将计数器0的当前计数值读入DX寄存器中。请将编写的程序段拍照上传!
9、采用8253作定时/计数器,其接口地址为0120H~0123H。输入8253的时钟频率为2MH。要求:
(1)利用CNT1输出10KHz的连续方波信号。
(2)利用CNT2在定时5ms后产生输出高电平。请编写各计数器的初始化程序段并拍照上传!
(三)手写解析