进制转换
这是我第一天进行单片机学习打卡,希望可以坚持下去。
如何使用单片机进行十进制转二进制
下面是我拙劣的学习情况,希望可以对大家起到抛砖引玉的作用。
- 在进行十进制转二进制时,因为我使用的单片机是八位数码管,因此我将用十六进制表示二进制。
- 实验中我用到了四位数码管,显示格式为“12-C”;
- 因为我第一次学按键部分,所以我把能用的按键全都用了进去,因此用到了矩阵键盘和独立按键
代码部分
// 头文件部分
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit DU=P2^6;//段选
sbit WE=P2^7;//位选
uchar code LED[]={
0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,
0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71,0x76,0x38,0x37,0x3e,0x40,0x00};
在进行进制转化时,我用到了数组。数组中加入code,代表在下文中不可更改。因为我用到了矩阵按键,所以我要进行段选和位选的定义。位选代表选定某一个数码管。段选代表数码管显示。
动态显示要求所有位选数码管的段选线并联在一起,由位控制线控制哪一位数码管有效。
//延时函数
void delay(uint z)
{
uint x