帮忙做一道微机原理题

某一8253的端口地址84H—87H,其中87H为控制口,84H—86H分别为通道0、通道1和通道2。现要求设置通道0的功能为:在外部脉冲信号的作用下,OUT端产生一个宽度为20ms的负脉冲,外部时钟fCLK=40kHz。采用BCD计数,试完成其编程。
谢谢大家咯!

miniflydreamer 可否简单讲解一下???

8253初始化编程,重点有二:
1、确定控制字
2、计数器计数初值
把这两个搞准了,编程就很简单了。

首先确定控制字。8253芯片有一个8位的控制字寄存器(D7D6D5D4D3D2D1D0),其中,D7D6:计数器(通道)选择,D5D4:计数器读/写方式,D3D2D1:计数器工作方式,D0:计数方式(二进制或BCD计数)。依题意,
D7D6:00(计数器0)
D5D4:11(先读/写低8位,后读/写高8位)
D3D2D1:001(数字单稳)
D0:1(BCD计数)
这样,控制字确定为:00110011B
然后再确定计数器初值。外部时钟fCLK=40kHz,要OUT端产生一个宽度为20ms的负脉冲,则计数初值=40kHz x 20ms=800(十进制)。

下面就可以写初始化程序了,
mov al,33H ;控制字:00110011B
out 87H,al ;写入控制字
xor al,al
out 84H,al ;向计数器0写低8位初值
mov al,8
out 84H,al ;向计数器0写高8位初值
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-01-25
fclk = 40KHz 和t0=20ms(f0=0.05kHz) 故计数器0初值为:N0=fclk/f0=40kHz/0.05kHz=800 (十进制数)

程序如下:
MOV AL,00110011B;控制字:通道0,先写低8位再写高8位,方式1,BCD计数
OUT 87H,AL ;写入通道0控制字
MOV AL,00H
OUT 84H,AL ;对通道0置低 8位初值
MOV AL,08H
OUT 84H,AL ;置高 8位初值
第2个回答  2010-01-14
MOV AL,33H
OUT 87H,AL
MOV AL,00H
OUT 84H,AL
MOV AL,08H
OUT 84H,AL
fclk = 40KHz 和tc=20ms 则计数器初值为:N=800(十进制)所以应置初值为800(十进制)
OUT 87H,AL ;设置计数器 0的操作方式
OUT 84H,AL ;对计数0置低 8位初值
OUT 84H,AL ;置高 8位初值
第3个回答  2010-01-14
回答者: miniflydreamer - 七级 2010-1-14 13:09

写的不错,满足LZ的需求了,但是对我来说不是很全面。
如果我是LZ的微机老师,你提交他写的东西给我,我最多给你63分。

参考资料:QQ897679

第4个回答  2020-03-05
我可以帮你做,不过要收点小费了

微机原理的一道题,求过程
根据题目中的信息,计数器的时钟频率为2MHz,也就是说,计数器每计数1次所需的时间为1\/2MHz=0.5us。如果要在计数到0时发出中断请求信号,则需要设置计数器的初值为计数器计数到0所需的计数次数,即所需的时间除以计数器的时钟频率,即:计数次数 = 所需的时间 \/ 计数器的时钟频率 程序中使用了...

微机原理问题
第5题:物理地址 =段基址x10H +偏移量 段基址=(物理地址 -段内偏移址)\/10H 若该存储单元逻辑地址在代码段:则 CS =(3FA0A-3A0AH)\/10H =3C00H 若该存储单元逻辑地址在数据段:则 DS =(3FA0A-047AH)\/10H =3F59H 若该存储单元逻辑地址在堆栈段:则 SS =(3FA0A-F0AAH)\/10H =3096H...

微机原理题!急!
① 硬件连接:硬件接口示意图如图10. 20所示,工件从光源与光敏电阻之间通过时,在晶体管的发射极上会产生一个脉冲,此脉冲作为8253计数通道0的计数脉冲,当通道0计数满100后,由OUT0输出负脉冲,经反相后作为8259A的一个中断请求信号,在中断服务程序中,启动8253计数通道1工作,由OUT1连续输出1000HZ的...

关于微机原理的题目:段寄存器CS=1200H,指令指针寄存器IP=FF00H...
再例如FF21 H+12AF H=111D0 H。这个你再理解一下应该就知道如何做了。祝进步!

不会微机原理与接口技术习题,求助!!
第一题:1K=2的10次方,而16K是2的14次方 要16乘以2=32片,1片是1K的存储空间,所以需要10跟片内地址线,因为是16组,所以需要4根片选线,采用部分译码,还多余6条地址线,8086有20根地址线,10根片内地址,4根片选线 。第二题:8K=2的13次方,8乘以1024除以512=16片一片8K,所以片内地址...

问道微机原理题?
存储芯片容量为512*4b,若要用他组成4KB的存储容量,需要多少这样的存储芯片,--8 * 2 = 16 片。每块芯片需要多少寻址线,--9 条。而4KB存储系统最少需多少寻址线?--12 条。

微机原理问题
+ 1110 1011 =10010 1011 CF=OF=1 5.这个问题你没问清楚 6.复位地址寄存器分别为(cs)=OFFFFH 其它寄存器都为0,故为0FFFF0H 7.此题方法是先写控制字,再对地址顺写低位和高位。具体数值查书 8.不能,在0方式下,输出能锁存,输入仅有缓冲 9.不丢失数据 10. 256*4=1024=1K空间 ...

微机原理的两道题目,求解答和详细解释
例1,8255的CS信号只有在138的Y4有效的时候才会有效,所以138的输入ABC应该是100,因此地址线上A4=1,A3=0,A0=0,,G1为1,所以A7=1,A6,A5=1,A2A1连接的是端口选择信号,所以可以是00-11,组合起来从高到低。A7 A6 A5 A4 A3 A2 A1 A0 1 1 1 1 0 * * 0 所...

微机原理的题目,高手帮下忙,说说怎么做
1,一个字为两个字节,双字就是四个字节,10个双字也就是占40个单元,其起始地址为1200H:2EF0H,也就是段地址为1200H,偏移地址为2EF0H,物理地址=段地址*16+偏移地址;所以起始物理地址为:1200H*16+2EF0H=14EF0H,末单元的物理地址为:14EF0H+40-1=14F17H;2,有效地址为:0206H+100H...

有关微机原理的3道题目,,,
1、最多只用过2级级联,三片的话最多有22个中断 2、这题是要问总线周期的流程吗???这要看是读周期还是写周期,四个时钟周期T1\\T2\\T3\\T4,以读周期为例:T1时CPU通过20位地址总线发送地址,指出要读取的外设的端口地址,锁存器锁存地址,T2输出段寄存器状态信息和中断允许情况,准备从外设读取...

相似回答