求一个单片机51的,用c语言编写,可对数码管闪烁赋值的程序
3个回答
展开全部
#include<reg52.h>
#include<intrins.h>
sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
unsigned int i;
void delay(i)
{
unsigned int j;
for(i;i>0;i--)
for(j=110;j>0;j--);
}
unsigned int code Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsigned int DCN=0;
unsigned int NO=1;
unsigned int ledout[10];
main()
{
while(1)
{
if(++DCN>=100)
{
DCN=0;
++NO;
}
ledout[0]=Tab[NO%10000/1000];
ledout[1]=Tab[NO%1000/100]|0x80;
ledout[2]=Tab[NO%100/10];
ledout[3]=Tab[NO%10];
ledout[4]=Tab[NO%10000/1000];
ledout[5]=Tab[NO%1000/100]|0x80;
ledout[6]=Tab[NO%100/10];
ledout[7]=Tab[NO%10];
for(i=0;i<9;i++)
{
P0=ledout[i];
switch(i)
{
case 0:LS138A=0;LS138B=0;LS138C=0;break;
case 1:LS138A=1;LS138B=0;LS138C=0;break;
case 2:LS138A=0;LS138B=1;LS138C=0;break;
case 3:LS138A=1;LS138B=1;LS138C=0;break;
case 4:LS138A=0;LS138B=0;LS138C=1;break;
case 5:LS138A=1;LS138B=0;LS138C=1;break;
case 6:LS138A=0;LS138B=1;LS138C=1;break;
case 7:LS138A=1;LS138B=1;LS138C=1;break;
}
delay(1);
}
}
#include<intrins.h>
sbit LS138A=P2^2;
sbit LS138B=P2^3;
sbit LS138C=P2^4;
unsigned int i;
void delay(i)
{
unsigned int j;
for(i;i>0;i--)
for(j=110;j>0;j--);
}
unsigned int code Tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};
unsigned int DCN=0;
unsigned int NO=1;
unsigned int ledout[10];
main()
{
while(1)
{
if(++DCN>=100)
{
DCN=0;
++NO;
}
ledout[0]=Tab[NO%10000/1000];
ledout[1]=Tab[NO%1000/100]|0x80;
ledout[2]=Tab[NO%100/10];
ledout[3]=Tab[NO%10];
ledout[4]=Tab[NO%10000/1000];
ledout[5]=Tab[NO%1000/100]|0x80;
ledout[6]=Tab[NO%100/10];
ledout[7]=Tab[NO%10];
for(i=0;i<9;i++)
{
P0=ledout[i];
switch(i)
{
case 0:LS138A=0;LS138B=0;LS138C=0;break;
case 1:LS138A=1;LS138B=0;LS138C=0;break;
case 2:LS138A=0;LS138B=1;LS138C=0;break;
case 3:LS138A=1;LS138B=1;LS138C=0;break;
case 4:LS138A=0;LS138B=0;LS138C=1;break;
case 5:LS138A=1;LS138B=0;LS138C=1;break;
case 6:LS138A=0;LS138B=1;LS138C=1;break;
case 7:LS138A=1;LS138B=1;LS138C=1;break;
}
delay(1);
}
}
展开全部
留爪 854091421
追问
??
追答
QQ 晕。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
闪烁 赋值? 啥意思? 是将显示的值变了还是改变闪烁的频率
追问
就是让数码管在闪烁状态赋值,然后切换到其他位置闪烁时候再次赋值
追答
哦 这个容易
直接就是数码管扫描程序里面修改 增加延时的时间就可以闪烁 直接赋值就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询