51单片机若写入指令 P0=0xf0,IO 口电平怎样输出?

如题所述

P0=0xF0;
这句话的意思是,将P0寄存器赋值为0xF0。
P0一共有8个IO口,而一个字节刚好是8个位,因此可以将你写入的字节和这8个IO对应上。
0xF0化为二进制是:11110000
因此,P0.7~P0.0依次是:11110000追问

0xf0是什么进制的表达形式?

输出是从P0.7到P0.0这样倒着排序的吗?

追答

  “0x”开头的,都是十六进制数。这时C语言里常用的表示方法,在汇编里一般是以H结尾,比如0xF0可以写作0F0H。
  一般一个数字,从左到右依次是从高位到低位,二进制数、十六进制数和十进制数都是这样的。P0.7就是P0寄存器的最高位,而P0.0就是P0寄存器的最低位。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-02
P0的高4位是1、低4位是0

~追问

请问0xf0是什么意思啊?

第2个回答  2016-10-02
楼上正解,你把16进至写开。就是11110000
第3个回答  2019-04-29
因为0x表示后面的数是十六进制,范围为0x1---0xf。即运算时在十六进制中每一位的权是16.
0xf0是十六进制,十进制为15*16+0+*16=240.但
在单片机中要表示每个口的状态那么要把他化为二进制即0b1111 0000
即高四位输出高电平低四位输出低电平。