一道汇编题,有答案,需解释
题目是题图7-3(图附在问题最后)开关状态检测和继电器控制电路。当开关闭合时,将驱动对应的继电器(有驱动电流流过继电器线圈);若某开关处于断开状态,则无电流流过继电器线圈...
题目是题图7-3(图附在问题最后)开关状态检测和继电器控制电路。当开关闭合时,将驱动对应的继电器(有驱动电流流过继电器线圈);若某开关处于断开状态,则无电流流过继电器线圈。若系统每隔20ms检测一次开关状态和对继电器做相应控制,定时控制有8253完成,试完成对8255A的初始化编码程(初始状态所有继电器的线圈都无电流流过)和检测程序。设8255A地址为3C0H~3C3H
答案:
8255的A口输出,B口输入,均工作在方式0
初始化程序如下:
MOV DX,8255CTL
MOV AL,1000X01XB
OUT DX,AL
MOV DX,8255A
MOV AL,0FFH ;A口输出1,则无电流
OUT DX,AL
检测控制程序如下:
MOV DX,8255B
IN AL,DX
NOT AL ;开关闭合,B口线为1,A口相应线送0
MOV DX,8255A
OUT DX,AL
我的问题是:
1.8255CTL是不是控制字送到的控制寄存器端口,也就是3C3H;同样的8255B是不是就是3C1H,8255A是不是就是3C0H。
2.在检测程序中的一行NOT AL的解释是开关闭合,B口线为1,A口相应线应送0:
(1)图中PB0~PB7接的是不是“非”门
(2)“开关闭合,B口线为1”是不是因为图中PB0~PB7接的都是非门,所以开关闭合后,接地本来是0,经过非门变成了1.
(3)为什么要“A口相应线送0”,我的模电不是太好,图中所谓的继电器控制电路有一些三极管,PA0~PA7分别接在不同的相应的三极管的基极,然后集电极分别再接一个三极管,再接的三极管的发射极接一个带二极管的电感(不知道是不是电感,电感的符号右边是一个断线的J表示的符号):
①图中和PA0~PA7相连的继电器电路中和二极管并联的是什么器件
②为什么开关闭合,B口线为1,A口相应线应送0,送0才能使驱动电流流过继电器线圈吗?
③如果有可能的话,能不能给我讲讲这个题中的继电器的原理(结合图中给出的和PA0~PA7相连的继电器电路来讲),或者说,如何让驱动电流流过继电器线圈的继电器的原理
把图加上 展开
答案:
8255的A口输出,B口输入,均工作在方式0
初始化程序如下:
MOV DX,8255CTL
MOV AL,1000X01XB
OUT DX,AL
MOV DX,8255A
MOV AL,0FFH ;A口输出1,则无电流
OUT DX,AL
检测控制程序如下:
MOV DX,8255B
IN AL,DX
NOT AL ;开关闭合,B口线为1,A口相应线送0
MOV DX,8255A
OUT DX,AL
我的问题是:
1.8255CTL是不是控制字送到的控制寄存器端口,也就是3C3H;同样的8255B是不是就是3C1H,8255A是不是就是3C0H。
2.在检测程序中的一行NOT AL的解释是开关闭合,B口线为1,A口相应线应送0:
(1)图中PB0~PB7接的是不是“非”门
(2)“开关闭合,B口线为1”是不是因为图中PB0~PB7接的都是非门,所以开关闭合后,接地本来是0,经过非门变成了1.
(3)为什么要“A口相应线送0”,我的模电不是太好,图中所谓的继电器控制电路有一些三极管,PA0~PA7分别接在不同的相应的三极管的基极,然后集电极分别再接一个三极管,再接的三极管的发射极接一个带二极管的电感(不知道是不是电感,电感的符号右边是一个断线的J表示的符号):
①图中和PA0~PA7相连的继电器电路中和二极管并联的是什么器件
②为什么开关闭合,B口线为1,A口相应线应送0,送0才能使驱动电流流过继电器线圈吗?
③如果有可能的话,能不能给我讲讲这个题中的继电器的原理(结合图中给出的和PA0~PA7相连的继电器电路来讲),或者说,如何让驱动电流流过继电器线圈的继电器的原理
把图加上 展开
1个回答
展开全部
1、在程序头部应该有8255ctl、8255A、8255B的定义。形如:
8255ctl equ 3C3H
8255A equ 3C0H
8255B equ 3C1H
这个定义就是说3c3H太难记忆了,用个符号代替一下8255ctl,编译的时候只要遇到8255ctl编译器会自动替换成3c3的。这样做还有一个好处就是我替换的时候,万一我发现数据不对,替换很方便只要在开头替换就行了。
2、(1)是
(2)是
(3)1 继电器
2 晶体管反相器http://www.ic72.com/news/2008-12-23/126206.html
3 A口出0的时候经过晶体管反相器的作用其实继电器是有电流流过的
继电器的原理是用小电流控制大电流http://hi.baidu.com/stonebraker/blog/item/660225d94ed2962911df9bbf.html
8255ctl equ 3C3H
8255A equ 3C0H
8255B equ 3C1H
这个定义就是说3c3H太难记忆了,用个符号代替一下8255ctl,编译的时候只要遇到8255ctl编译器会自动替换成3c3的。这样做还有一个好处就是我替换的时候,万一我发现数据不对,替换很方便只要在开头替换就行了。
2、(1)是
(2)是
(3)1 继电器
2 晶体管反相器http://www.ic72.com/news/2008-12-23/126206.html
3 A口出0的时候经过晶体管反相器的作用其实继电器是有电流流过的
继电器的原理是用小电流控制大电流http://hi.baidu.com/stonebraker/blog/item/660225d94ed2962911df9bbf.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询