找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2692|回复: 4
收起左侧

新手求解单片机P端口用8421码控制管脚原理

[复制链接]
ID:841882 发表于 2020-11-11 03:14 | 显示全部楼层 |阅读模式
刚入手的51单片机
在练习led灯跑马灯的时候发现把P2端口定义为8421码可以控制管脚明白其中的原理,求大神解答小弟疑惑,谢谢。
回复

使用道具 举报

ID:332444 发表于 2020-11-11 08:03 | 显示全部楼层
8位二进制对应十进制0-255每个值。
回复

使用道具 举报

ID:332444 发表于 2020-11-11 09:55 | 显示全部楼层
解码时把十进制转为二进制
回复

使用道具 举报

ID:97554 发表于 2020-11-11 13:22 | 显示全部楼层
每个IO口为8个引脚,分成两组分别为高四位和低四位,每个四位都可以按8421从高到底表示,这样高四位和低四位全为高的话,就是0XFF,全低为0X00,也就是单片机本身为2进制的输出输入,高四位和低四位都为高电平:

那么二进制就是 1  1  1  1     1  1  1  1                  
所谓8421编码   8+4+2+1     8+4+2+1      
用16进制表示为      F               F

二进制         0   1   0   1      1  0   1   0
8421            0   4   0    1     8   0   2   0
十六进制               5                  A
假如输出IO为P0,那么可以写为  P0 = 0x5A ;

8+4+2+1为15,用16进制表示就是F,所谓8421编码也就是把2进制转16进制而已。

不知道这样是不是可以解决楼主的疑惑。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:584814 发表于 2020-11-11 16:07 | 显示全部楼层
跑马灯也好数码管也好,就是点亮一个个的小灯,如果用0表示灭1表示亮的话就会显现出一列全是0或1的数,为了方便使用就按8个一组进行重新写成一个16进制的数,就是所谓8421了罢。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表