51单片机的数值写入方法介绍

控制/MCU

1814人已加入

描述

1.在MCU中都是以二进制的形式进行计算的。

2.在编程时,我们通常用到的有十进制的数值形式和十六进制的数值形式,如52,0xfe;

3.数值的大小由数据的类型来决定。

4.常用的有“unsigned int”和“unsigned char”。

“unsigned char”的范围是“0-255”, 与单片机端口的8位的最大值(0xff)相对应。

“unsigned int”的范围是“0-65535”,与之对应的是“0xffff”。


 

5.数值的写入:

在51单片机中,写入的数值可以是十进制和十六进制,但不能是二进制。

比如:P1=4; P1=0X04;

当写语句“P1=4;”时

P1^0——P1^7的电平依次为 “0010 0000”

当写语句“P1=65;”时

P1^0——P1^7的电平依次为 “1000 0010”; 65的十六进制码为:0x41

从以上两个数值可以发现,端口的低位对应的是数值的低位,端口的高位对应的是数值的高位。

6.在用数码管显示数字的时候,是一个位数字,一位数字的写入,比如说26,先写2,再写6.

以用数码管写2为例:将数码管的断选abcdefgdp分别接到P1^0,P1^1……P1^7;

若要显示2,则要求abcdefgdp依次为:1101 1010

如果按照端口的对应,写P1=0xda,那就错了。

二进制也是高位在前,低位在后,所以端口写数据时也要低对低,高对高,所以要将“1101 1010”为

“0101 1011”

所以数码管显示2的十六进制码为“P1=0x5b”

同理可算出“0-9”的十六进制码依次为“0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f”

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分