导航:首页 > 编程语言 > 单片机四个数码管全亮程序

单片机四个数码管全亮程序

发布时间:2024-04-22 03:37:01

Ⅰ 鐢ㄥ崟鐗囨満鎺у埗4浣峀ED鏁扮爜绠℃樉绀猴紝鍏堜粠宸﹁嚦鍙虫參閫熷姩鎬佹壂鎻忔樉绀烘暟瀛13572468 澶т浆姹傚憡鐭

涓昏佺▼搴忓備笅锛
uchar table[8]={1,3,5,7,2,4,6,8};//瑕佹樉绀虹殑鏁板瓧
uchar qian_tab[10]={.........};//涓冩电爜
while(1)
{
for(i=0;i<5;i++)//鍏堟樉绀1357锛岀浜屾℃樉绀3572 绗涓夋℃樉绀5724
{
for(j=0;j<20;j++)//鍒锋柊20娆$害0.4绉掞紝鎺ㄨ繘涓浣
{
wei1=0;P0= table[qian_tab[ i]; delayms(5);wei1=1;
wei2=0;P0= table[qian_tab[ i+1];delayms(5); wei2=1;
wei3=0;P0= table[qian_tab[ i+2]; delayms(5);wei3=1;
wei4=0;P0= table[qian_tab[ i+3]; delayms(5);wei4=1;
}
}
}

Ⅱ 51单片机四位一体共阳极数码管显示编程

不清楚你的电路构成如何,因此先按下面的假设执行段码及位码的输出;
其中,延时值可根据实验效果予以调整;
设 P0 为输出七段码(共阳极数据);
四位数码管有4个阳极,设位码分别与P2.4--P2.7对应,并且=1时表示可点亮数码管;
sbit wma1=b2^4; //对应左起第1个数码管的阳极

sbit wma2=b2^5; //对应左起第2个数码管的阳极
sbit wma3=b2^6;
sbit wma4=b2^7;
void main()
{
wma1=0; wma2=0; wma3=0; wma4=0;
while(1)
{
P0=table[0]; wma1=1; delay(10); wma1=0;
P0=table[1]; wma1=2; delay(10); wma2=0; P0=table[2]; wma1=3; delay(10); wma3=0; P0=table[3]; wma1=4; delay(10); wma4=0; P0=table[4]; wma1=1; delay(10); wma1=0; P0=table[5]; wma1=2; delay(10); wma2=0; P0=table[6]; wma1=3; delay(10); wma3=0; P0=table[7]; wma1=4; delay(10); wma4=0;
}
}

Ⅲ 如何利用单片机让4位数码管显示

程序如下(用的是STC89C52芯片):

#include<reg52.h>//52系列单片机头文件

#defineucharunsignedchar

#defineuintunsignedint

uintx,y;

ucharcodetable[]={

0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71};//共阴极数码管编码

voiddisplay(uchar,uchar,uchar,uchar);//声明子函数

voiddelay(int);//声明子函数

voidmain()

{

while(1)

{

display(1,2,3,4);//主程序始终调用数码管显示子程序

}

}

voiddisplay(uchara,ucharb,ucharc,uchard)

{

P2=0xef;

P0=table[a];//给第一个数码管送"a"

delay(1);//延时1ms

P2=0xdf;

P0=table[b];//给第二个数码管送"b"

delay(1);//延时1ms

P2=0xbf;

P0=table[c];//给第三个数码管送"c"

delay(1);//延时1ms

P2=0x7f;

P0=table[d];//给第三个数码管送"d"

delay(1);//延时1ms

}

voiddelay(uintz)//延时子函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

(3)单片机四个数码管全亮程序扩展阅读

led数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。led数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。

位数有半位,1,2,3,4,5,6,8,10位等等,led数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。

Ⅳ 51单片机4个数码管显示程序

#include<reg52.h> //52系列单片机头文件
#define uchar unsigned char //宏定义
#define uint unsigned int
sbit la=P2^6; //申明u1锁存器的锁存端
sbit wela=P2^7; // u2
uchar num1,num2;
uchar code table[]={ //数组定义
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar code aable[]={ //位选数组定义
0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
void delays(uint); //子函数申明

void main()
{
while(1)
{
for(num1=0;num1<48;num1++) //6个数循环显示
{
wela=1; //打开u2锁存端
P0=aable[num1%6]; //送入位选信号
wela=0; //关闭u2锁存端
// delays(1);
la=1; //打开u1锁存端
P0=table[num1%16]; //送入段选信号
la=0; //关闭u1锁存端
delays(1);
}
}
}
/*---------主函数-----------------------------------------------*/

void delays(uint xs)
{
uint i,j,k;
for(i=xs;i>0;i--)
for(j=1000;j>0;j--)
for(k=110;k>0;k--);
}
/*----------------延时程序-----------------------------------------------*/

Ⅳ 哪位高手帮帮忙帮我编个程序,用8051单片机控制4位LED共阳数码管。。

#include<reg52.h>
sbit KEY=P3^3; //定义按键输入端口
sbit LED=P1^2; //定义led输出端口,一个四个都是一样的定义方法
void main (void)
{

KEY=1; //按键输入端口电平置高
while (1) //主循环
{

if(!KEY) //如果检测到低电平,说明按键按下
LED=0;
else
LED=1; //这里使用if判断,如果按键按下led点亮,否则熄灭
//如果需要四个亮就写LED1=1;LED2=1,LED3=1;LED4=1;不过上面得先定义好这四个led的引脚 }
}

希望对你有帮助

阅读全文

与单片机四个数码管全亮程序相关的资料

热点内容
51虚拟机的文件管理在哪里 浏览:13
win10系统有没有便签 浏览:722
java引用传递和值传递 浏览:109
oracle下载安装教程 浏览:854
php筛选数据库 浏览:830
怎么用手机看wlan密码 浏览:745
奥维地图导入的文件在哪里 浏览:364
sdltrados2014教程 浏览:43
培训制度文件在哪里找 浏览:601
勒索病毒防疫工具 浏览:861
win10c不能打开 浏览:375
xfplay影音先锋苹果版 浏览:597
两个文件打开两个word 浏览:921
苹果6s桌面图标轻微抖动 浏览:326
如何删除手机中看不见的临时文件 浏览:469
安卓412原生锁屏apk 浏览:464
书加加缓存文件在哪里 浏览:635
dock是word文件吗 浏览:267
社保公司新办去哪个网站下载资料 浏览:640
三维标注数据怎么填写 浏览:765

友情链接