‘壹’ 51单片机编写lcd1602显示程序,第一行显示自己的姓名,第二行显示学号
1、首先我们打开Keil μVision编译器,新建一个工程,然后保存在硬盘上的位置,然后选择Atmel-AT89C51单片机为模型,并启动器添加STARTUP.A51文件,然后在当前目录下新建一个C文件,并将其添加入工作路径。
‘贰’ 单片机数码管静态显示学号1830508,用keil 最好有过程,在图上的过程上修改
// 单片机数码管动态显示学号1830508(注多位数码管用静态显示电路会很复杂,所以一般多用动态显示),方法有多种,下面是一个仿真例程可以参考。
#include<reg51.h>
#define uchar unsigned char
// 此表为 LED 的字模 0 1 2 3 4 5 6 7 8 9 a b c d e f
unsigned char code LED7Code[] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
void delay(uchar z)
{
uchar i,j;
for(i=0;i<120;i++)
for(j=0;j<z;j++);
}
void main()
{
while(1)
{
P0=0xff;
P2=LED7Code[0];
P0=0xfe;
delay(5);
P0=0xff;
P2=LED7Code[1];
P0=0xfd;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0xfb;
delay(5);
P0=0xff;
P2=LED7Code[3];
P0=0xf7;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xef;
delay(5);
P0=0xff;
P2=LED7Code[5];
P0=0xdf;
delay(5);
P0=0xff;
P2=LED7Code[0];
P0=0xbf;
delay(5);
P0=0xff;
P2=LED7Code[8];
P0=0x7f;
delay(5);
}
}
‘叁’ 单片机C51编程(C语言):实现学号的显示(学号是10位数字)
你用什么驱动数码管呢?
不同的驱动,程序写法不同。
如果直接用I/O口驱动,8位数码管就这样写:
wei=位选
an=段选
//断码表
uchar
code
shuzi[12]={0xc0,0xf9,0xa4,0xb0,0x99,//0,1,2,3,4,
0x92,0x82,0xf8,0x80,0x90,//5,6,7,8,9,
0x00,0xff};
void
led_scan(void)
{
uchar
i,j;//共阳数码管
wei=0xff;
j=0x01;
for(i=0;i<8;i++)
{
an=shuzi[i];
wei=!j;
delay(200);
j<<=1
;
}
wei=0xff;
}