免费发布供求信息
热门搜: 无锡  赣州  南京  工业  阳电  作用  区别  消毒柜  纽曼  散热器  新能源  插槽 
当前位置: 首页 » 投稿 » 美文摘要 » 正文

数码管显示数字0到9(51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序)

放大字体  缩小字体 发布日期:2024-07-05 10:14:27  作者:[db:新闻资讯作者]  浏览次数:25
核心提示:本文目录51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序让静态数码管循环显示0到9,每个数字显示延迟半秒51单片机 编写

本文目录

  • 51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序
  • 让静态数码管循环显示0到9,每个数字显示延迟半秒

51单片机 编写4个LED数码管同时循环显示0—9的数字 的程序

#include《reg51.h》#define uchar unsigned charuchar code ledtab={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40};//0-9uchar time,scanled,tiao;uchar disdat=“201803“;void delay(unsigned int x){unsigned int i,j;for(i=0;i《x;i++)for(j=0;j《120;j++);}void t0isr() interrupt 1//秒计时{TH0=0x3c;TL0=0xb0;time++;if(time==20){time=0;tiao++;tiao%=10;}}void t1isr() interrupt 3//显示{TH1=0xec;TL1=0x78;P2=1《《scanled;P0=~ledtab;scanled++;scanled%=4;}main(){TMOD=0x11;TH0=0x3c;TL0=0xb0;TH1=0xec;TL1=0x78;TR1=1;TR0=1;ET0=1;ET1=1;EA=1;while(1);}

让静态数码管循环显示0到9,每个数字显示延迟半秒

因你没有给原理图,所以,画了一个仿真图,一位共阴数码管接在P0口,组成静态显示电路,每个数字显示0.5秒,采用定时器T0定时来实现。仿真图如下,请及时采纳。

程序如下

#include《reg52.h》

unsigned char code smgduan={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

unsigned char n,x;//中断程序中的变量必须定义成全局变量

void main()

{

TMOD=0x01;

TH0=0x3C;//晶振12M,定时50ms

TL0=0xB0;

TR0=1;

EA=1;

ET0=1;

P0=smgduan;//先显示0

while(1);//等待中断计数

}

//定时器T0中断程序

void time0() interrupt 1

{

TH0=0x3C;

TL0=0xB0;

n++;

if(n==10)//0.5秒到

{

n=0;//秒回0

x++;//计数加1

if(x》9)//大于9,回0

x=0;

P0=smgduan;//显示0~9

}

}

 
关键词: 数字
 
 
相关推荐
热门点击
 
网站首页 | 网站地图 | 广告服务 | 网站留言 | RSS订阅