请教下单片机中什么叫端口位 还有目标程序和源程序各是什么 还有它们的区别
打错是什么叫源操作数什么叫目标操作数 如果目标操作数为一个端口 端口位 是什么意思
请教下单片机中什么叫端口位
答案:2 悬赏:50
解决时间 2021-11-10 14:18
- 提问者网友:冷场帝
- 2021-11-10 01:36
最佳答案
- 二级知识专家网友:如果这是命
- 2021-11-10 02:07
在单片机中!每一个端口都对应一个bit位!我们可以直接操作单片机的端口!!
例如:P1^1 = 0;就是将P1端口的第二位拉低。P1^1 = 1;就是将P1端口的第二位拉拉高。
计算机中的操作数有三类:立即数(常数)、寄存器操作数、存储器操作数,所以寻址方式就是针对这三类操作数进行的。
立即数和寄存器操作数的寻址比较简单,对应的是立即寻址和寄存器寻址,比较多的是存储器寻址方式,有直接寻址(指令中可以看到内存的地址)、寄存器间接寻址(寄存器的内容作为内存的地址),从寄存器间接寻址进一步发展就有:相对寄存器寻址、基址变址寻址和相对基址变址寻址。
寻址格式中,加方括号的是地址,没加方括号的是操作数,比如:2000H是立即数,[2000H]是内存的地址;BX是寄存器BX里面的数据,[BX]是BX的数据作地址。
1、MOV ES,AX 都是寄存器寻址
2、ADD DS:[12H],AL 源:寄存器寻址 目的:直接寻址
3、SUB BX,1200H 源:立即寻址 目的:寄存器寻址
4、SHR AX,1 源:立即寻址 目的:寄存器寻址
5、MOV CX.LAB1[BX] 源:相对寄存器寻址 目的:寄存器寻址
6、SBB AX,[BX] 源:寄存器间接寻址 目的:寄存器寻址
7、OR DX,-360H[SI] 源:相对寄存器寻址 目的:寄存器寻址
8、ADC VAR1,CX 源:寄存器寻址 目的:直接寻址
9、XOR [DI],AX 源:寄存器寻址 目的:寄存器间接寻址
这只是给你复习单片机使用!具体源操作数指接收的数据 包括地址等。目的操作数指结果。
例如:P1^1 = 0;就是将P1端口的第二位拉低。P1^1 = 1;就是将P1端口的第二位拉拉高。
计算机中的操作数有三类:立即数(常数)、寄存器操作数、存储器操作数,所以寻址方式就是针对这三类操作数进行的。
立即数和寄存器操作数的寻址比较简单,对应的是立即寻址和寄存器寻址,比较多的是存储器寻址方式,有直接寻址(指令中可以看到内存的地址)、寄存器间接寻址(寄存器的内容作为内存的地址),从寄存器间接寻址进一步发展就有:相对寄存器寻址、基址变址寻址和相对基址变址寻址。
寻址格式中,加方括号的是地址,没加方括号的是操作数,比如:2000H是立即数,[2000H]是内存的地址;BX是寄存器BX里面的数据,[BX]是BX的数据作地址。
1、MOV ES,AX 都是寄存器寻址
2、ADD DS:[12H],AL 源:寄存器寻址 目的:直接寻址
3、SUB BX,1200H 源:立即寻址 目的:寄存器寻址
4、SHR AX,1 源:立即寻址 目的:寄存器寻址
5、MOV CX.LAB1[BX] 源:相对寄存器寻址 目的:寄存器寻址
6、SBB AX,[BX] 源:寄存器间接寻址 目的:寄存器寻址
7、OR DX,-360H[SI] 源:相对寄存器寻址 目的:寄存器寻址
8、ADC VAR1,CX 源:寄存器寻址 目的:直接寻址
9、XOR [DI],AX 源:寄存器寻址 目的:寄存器间接寻址
这只是给你复习单片机使用!具体源操作数指接收的数据 包括地址等。目的操作数指结果。
全部回答
- 1楼网友:末路丶一枝花
- 2021-11-10 02:56
读引脚:将引脚作为输入,从真正的外部引脚读进输入的值
读端口:这是引脚作为输出端使用时采用的工作方式,单片机的一些指令,如取反指令,这一类指令的最终结果虽然是把并行口作为输出来使用
但在执行它的过程中却要先“读”,这里的引号指读的是锁存器,而不是真正的引脚值。
为什么要读锁存器而不是引脚呢?
原因如下:
如果你想先输出1,再读取引脚的状态,就会出错,因为由于引脚外元件的特殊作用,电压有可能会不正常,单片机可能会误读到0,这与原先输出的1不符合,所以要想读到原先的值,就得去读端口寄存器中的值(寄存器不受外部影响),这就产生了“读端口”
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯