
只改主程序就行了。
void main()//主程序
{
bit die;//移动方向标志位,0=向左,1=向右
uchar n,x;
while(1)
{
display(x);
n++;
if(n>40)
{
n=0;
if(die==0)//向左
{
x++;
if(x>7)
die=1;//改变方向
}
else//向右
{
x--;
if(x==0)
die=0;//改变方向
}
}
}
}
请采纳。
百度知道
51单片机数码管动态显示从右往左展开
lycdl
高粉答主
醉心答题,欢迎关注
关注
成为第7101位粉丝
这是四位数码管从右从左流动显示,像滚动字幕一样的。用不着矩阵按键哪。
其实程序很简单,没那么复杂。程序如下
#include<reg51h>
#define uchar unsigned char
#define uint unsigned int
uchar wxxxcode-style tab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};//共阴段码码,0x00为灭
void delay()//延时子程序
{
uint y;
for(y=400;y>0;y--);
}
void main()
{
uchar n,x;
while(1)
{
n++;
if(n>50)//n为显示一屏显示次数,n大小可调节流动速度
{
n=0;
x++;//从下一个位置开始显示
if(x>8)x=0;
}
}
}
仿真结果
#include<reg52h>
unsigned char code shu[]={0x08,0x5e,0x82,0x42,0x54,0x41,0x01,0x5a,0x00,0x40};//0-9
unsigned char code wei[]={0xfe,0xfd,0xfb,0xf7,0xef};
unsigned int x,y,z;
unsigned char con;
unsigned char dis[5];
//
void init(void)
{
TMOD = 0x16;//T1定时器方式1 T0计数器自动装载
TH0 = 256-1;
TL0 = 256-1;
TH1 = (65536-5000)/256;
TL1 = (65536-5000)%256;//5mc
TR0=1;
TR1=1;
ET0=1;
ET1=1;
EA=1;
}
//
void time0()interrupt 1
{
x++;
if(x==1) z=x(60000/y);
x=0;
y=0;
dis[0]=z/10000;
dis[1]=(z%10000)/1000;
dis[2]=(z%1000)/100;
dis[3]=(z%100)/10;
dis[4]=z%10;
}
//
void time1()interrupt 3
{
y++;
TH1 = (65536-5000)/256;
TL1 = (65536-5000)%256;//5mc
con++;
P2=wei[con];
P0=shu[con];
}
void main(void)
{
x=0;
y=0;
init();
while(1);
}
#include <reg51h>
#include"18b20c"
sbit DQ =P1^0; //定义通信端口
unsigned char tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //0, 1, 2 3 4 5 6 7 8 9
void delay(unsigned int i);//延时函数
Init_DS18B20(void); //初始化函数
ReadOneChar(void); //读一个字节
WriteOneChar(unsigned char dat); //写一个字节
ReadTemperature(void); //读取温度
void display(unsigned char i); //温度显示函数
unsigned char c=0,x=0;
//主程序温度显示函数
void display(unsigned char i){
P0=tab[i/10];
P2=0x04;
delay(100);
P0=tab[i%10];
P2=0x02;
delay(100);
P0=tab[x];
P2=0x01;
delay(100);
}
void main(void){
unsigned char temp;
while(1){ //主循环
temp=ReadTemperature();
display(temp);
}
}
以上就是关于51机数码管动态显示全部的内容,包括:51机数码管动态显示、51单片机数码管显示数据向左字、51单片机数码管显示等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)