单片机C51编程(C语言):实现学号的显示(学号是10位数字)

本人初学~实在搞不懂~特请教各位~~
数码管显示~~~~~~~~ 9位学号好了~~~~~~

你用什么驱动数码管呢?
不同的驱动,程序写法不同。
如果直接用I/O口驱动,8位数码管就这样写:
wei=位选
duan=段选
//断码表
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++)
{
duan=shuzi[i];
wei=!j;
delay(200);
j<<=1
;
}
wei=0xff;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-04-25
你用什么驱动数码管呢?

不同的驱动,程序写法不同。

如果直接用I/O口驱动,8位数码管就这样写:
wei=位选
duan=段选

//断码表
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++)
{
duan=shuzi[i];
wei=!j;
delay(200);
j<<=1 ;
}
wei=0xff;
}本回答被网友采纳
第2个回答  2009-04-25
你要在什么上面显示?是数码管还是LCD?数码管需要查表把数字转换为显示的代码。LCD则需要数字的ASCII码。
第3个回答  2009-04-25
要是显示9位,还不如直接用LCD1602显示好了,接口都少用一些,而且也就十快钱左右吧。
第4个回答  2009-04-25
是啊~~ 用LCD 还是数码管
如果用数码管 还有用有十位的~

单片机C51编程(C语言):实现学号的显示(学号是10位数字)
如果直接用I\/O口驱动,8位数码管就这样写:wei=位选 duan=段选 \/\/断码表 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=...

请问单片机C51用C语言怎么编这个例子
include <reg52.h> define uchar unsigned char uchar t0,count,NUM,NUM1;sbit K1=P2^0;sbit K2=P2^1;void delay(uchar count){uchar i;for(i=0;i<count;i++){TMOD=0X01;TH0=(65536-50000)%256;TL0=(65536-50000)\/256;TR0=1;while(!TF0);TF0=0;} void keyscan(){ if(K1==0...

用单片机c51编出程序,显示两位学号
如果是静态数码管,那么可以通过锁存器来分别控制数码管显示,如果是动态的,那么只能扫描控制两位及两位以上的数码管。

c51单片机数码管显示0到99
C51单片机可以通过编程控制数码管显示0到99的数值。这通常涉及到对单片机I\/O端口的操作,以及适当的延时和扫描技术来实现多位数码管的显示。C51单片机是一种基于8051架构的微控制器,广泛应用于各种嵌入式系统中。它具有多个I\/O端口,这些端口可以直接与数码管的段和位相连。数码管是一种常见的显示器件,...

c51单片机显示自己八位学号
用8个数码管和8个74HC595组成扩展电路,使用单片机的SPI或者任意2个GPIO模拟数据线和时钟线按照时序发送数据即可。

c51单片机.用c语言编写10以内的加法计数器
可以定义一个缓冲区 将收过来的数据(上位机的串口与单片机必须进行ascii转换,比如0x31就是数据1.)传入缓冲区,然后进行数据计算。

c语言编程c51单片机
uint xdata *xp;\/\/定义指向片外RAM的指针 uint data *p;\/\/定义指向片内RAM的指针 uchar i;\/\/定义循环变量 xp=0x100;\/\/指向片外RAM的100H单元 p=0x30;\/\/指向片内RAM的30H单元 for(i=0;i<10;i++){\/\/循环10次 p=*xp;\/\/将片外RAM单元中的内容传送给片内RAM单元 xp++;\/\/指向下一个...

用单片机c51,c语言编0-9计数器程序!谢谢!!!
include<reg51.h>unsigned char a;unsigned char code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x67};void init(void){EA=1;EX0=1;IT0=1;}void main(void){init();while(1){P0=table[a];}}void EX_0(void) interrupt 0{a++;if(a>9)a=0;} 望采纳 ...

c51单片机汇编ASM转化成C语言
gewei = count%10;if(count<100){ for(times=50;times>0;times--){ P2^0 = 1;P2^1 = 1; \/\/关闭所有显示 P0 = table[gewei]; \/\/显示各位 P2^0 = 0;dly10ms();P2^0 = 1; \/\/关闭显示 P0= table[shiwei]; \/\/显示十位 P2^1 = 0;dly10ms();P2^1 = 1; \/\/...

急急急!!关于C51单片机编程与应用解答,希望有高人帮忙解答,最好要过...
void XS(int xs) \/\/显示子函数 { char d1,d2,d3,d4;\/\/建立四个变量,用于存储四个位的数值 d4=(xs\/1)%10;\/\/分离个位数据 d3=(xs\/10)%10;\/\/分离十位数据 d2=(xs\/100)%10;\/\/分离百位数据 d1=(xs\/1000)%10;\/\/分离千位数据 P0=table[d4];Axs=0;YS(10);Axs=1;\/\/个位...

相似回答