LED和数码管同时点亮问题

syd 2012-04-28 10:26:31
at89s52单片机,有74hc138译码器,这是我编写的小程序,但希望LED流水灯和数码管同时变换,想了好久也没想出来如何实现,流程图也画了,实验了好多次,哪位高手给指点指点,LED流水灯和数码管同时变换。

/************************************************************************
工程名称:LEDflash AND Digitron
工程功能:花样流水灯和动态数码管变换
时 间: 2012-04-28
作 者:syd989
*************************************************************************/
#include<at89x52.h>
#define num 6 //流水灯样式
unsigned char code tab[]={ //数码管选值
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71
};
unsigned char code tab1[]={0xe4,0xe3,0xe2,0xe1}; //74hc138译码器选址
code unsigned char tab3[num][8]=
{
{0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}, //逐个亮
{0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}, //逐一亮
{0xff,0x7f,0x3f,0x1f,0x0f,0x07,0x03,0x01}, //逐个灭
{0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0x00}, //两端亮中间灭
{0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff}, //左端逐一亮
{0x80,0xc0,0xe0,0xf0,0xf8,0xfc,0xfe,0xff}, //右端逐一亮
};
void delay(unsigned int z); //不精确延时函数声明
void LED(); //花样LED流水灯函数声明
void shuma(); //动态扫描数码管变换

void main() //主函数 调用LED()和shuma()函数
{
while(1)
{
LED();
shuma();
}
}
void delay(unsigned int z) //不精确延时
{
unsigned int x,y;
for(x=z;x>0;x--)
for(y=120;y>0;y--);
}

void LED()
{
unsigned int i,j;
P2=0xe0; //74hc138使能
P1=0x00;
for(j=0;j<num;j++) //花样LED流水灯
{
for(i=0;i<8;i++)
{
P1=tab3[j][i];
delay(40);
}
}
}

void shuma()
{
unsigned int m,n;
for(m=0;m<16;m++) //动态扫描数码管变换
{
for(n=0;n<4;n++)
{
P2=tab1[n];
P1=tab[m];
delay(30);
}
}
}
/************************************************************************
End of file
*************************************************************************/
...全文
1715 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_rui_1220 2012-04-30
  • 打赏
  • 举报
回复
我在想你用这么多数组,内存是不是够啊!!
syd 2012-04-30
  • 打赏
  • 举报
回复
同意LS的观点,如果是一个项目,几个数组可以忽略,如果是一个项目的一部分,那就另当别论了。
syd 2012-04-29
  • 打赏
  • 举报
回复
P1口控制LED,P2控制74HC138使能
syd 2012-04-28
  • 打赏
  • 举报
回复
原理图
syd 2012-04-28
  • 打赏
  • 举报
回复
咱们这个论坛,我始终没弄明白如何插入图片,点插入图片就是给了个URL地址
syd 2012-04-28
  • 打赏
  • 举报
回复
还有就是,高人看的时候,顺便指点看看 我C编程这一块是不是存在什么问题,我好更正学习。
youtao1986 2012-04-28
  • 打赏
  • 举报
回复
好歹也把电路图给出来看看啊。。。
千斤拨四两 2012-04-28
  • 打赏
  • 举报
回复
LED灯,怎么要P2和P1口?嘿嘿。

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧