单片机补充案例--颤抖的数码管
【摘要】 这是数码管模拟波形的动态效果,但是代码中有些小bug,眼尖的可以发现哦。
直接上代码,课题上讲过了:
/***************************************************************************** * 头文件 * *************************************************...
这是数码管模拟波形的动态效果,但是代码中有些小bug,眼尖的可以发现哦。
直接上代码,课题上讲过了:
-
/*****************************************************************************
-
* 头文件 *
-
*****************************************************************************/
-
#include "8052.h"
-
#define LSA P1_5
-
#define LSB P1_6
-
#define LSC P1_7
-
unsigned char smgduan0[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf};
-
unsigned char smgduan1[]={0xfd,0xfb,0xf7,0xef,0xdf,0xfe};
-
unsigned char smgduan2[]={0xfb,0xf7,0xef,0xdf,0xfe,0xfd};
-
unsigned char smgduan3[]={0xf7,0xef,0xdf,0xfe,0xfd,0xfb};
-
//共阳极的显示代码表
-
/*****************************************************************************
-
* 初始化和功能函数 *
-
*****************************************************************************/
-
void delay(unsigned int ms) //
-
{
-
unsigned int x;
-
unsigned int y;
-
for(x=ms;x>0;x--)
-
for(y=110;y>0;y--)
-
;
-
}
-
-
void sys_init(void)
-
{
-
LSA = 0;
-
LSB = 0;
-
LSC = 0;
-
}
-
void LedScan(unsigned char pos,unsigned char dispcode)
-
{
-
unsigned char i;
-
for(i=0;i<=pos;i++)
-
{
-
switch(pos) //位选,选择点亮的数码管,
-
{
-
case(0):
-
LSA=1;LSB=0;LSC=0; break; //显示
-
case(1):
-
LSA=0;LSB=1;LSC=0; break; //显示第1位
-
case(2):
-
LSA=1;LSB=1;LSC=0; break; //显示第2位
-
case(3):
-
LSA=0;LSB=0;LSC=1; break; //显示第3位
-
}
-
P0=dispcode; //发送段码
-
}
-
}
-
/*****************************************************************************
-
* 主函数 *
-
*****************************************************************************/
-
void main(void)
-
{
-
sys_init();
-
int i=0,j=5;
-
while(j--)
-
{
-
for(i=6;i>0;i--)
-
{
-
LedScan(0,smgduan0[i]);
-
delay(10);
-
LedScan(1,smgduan1[i]);
-
delay(10);
-
LedScan(2,smgduan2[i]);
-
delay(10);
-
LedScan(3,smgduan3[i]);
-
delay(10);
-
}
-
}
-
}
文章来源: zhangrelay.blog.csdn.net,作者:zhangrelay,版权归原作者所有,如需转载,请联系作者。
原文链接:zhangrelay.blog.csdn.net/article/details/111333311
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)