单片机怎么写才能让led灯每隔5秒亮下一个并且数码管一直从5到0显示倒计时?

单片机怎么写才能让led灯每隔5秒亮下一个并且数码管一直从5到0显示倒计时?,第1张

设为共阳极七段数码管;

char  segCode[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90} //共阳极七段

char  bitCode[]={0x01,0x02,0x04,0x08,0x10,0x20} //共阳极6位位码,高电平有效

/***在指定位显示数据***/

// m为待显示的七段码数据

// k为指定的位显示数据

void show(char m,char k)

{  char dat

 dat = segCode[m]  // m=0,1,2,3,4,5,6,7,8,9

 HC573(dat,1)      //输出段码

 dat = bitCode[k]  // k=0,1,2,3,4,5

 HC573(dat,2)      //输出位码

}

sbit segm = P2^6  //段锁存

sbit bitc = P2^7  //位锁存

/*** HC573 接收锁存数据***/

void HC573(char dat,char nub)

{

  P0=dat

  if(nub==1)

  { segm=1segm=0}      //输出段锁存信号

  if(nub==2)

  { bitc = 1bitc = 0}  //输出位锁存信号

}

bit intflag

void main()

{   char times

intflag=0  times=5

  P1=0xff

 initime0()    //初始化定时器0

  while(1)

 {  if(intflag)

    {   intflag=0

        show(times,0)    // 因为仅有一位显示,不考虑位扫描问题

        times--

        if(times==0) { times=5P1=~P1}

    }

 }

}

#include <reg52.H> //STC头文件

#define uchar unsigned char

#define uint unsigned int

#define timewe 3

sbit we = P2^7

sbit du = P2^6

unsigned long temp

uint jsms=0

uchar code duan[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}

uchar code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}

void delay (uint a) // 1ms延时程序(12MHz 10倍于51单片机速度时)

{

uint i

while( --a != 0)

{

for(i = 0 i < 600 i++) 

}

uchar disbuf[6]

void display()

{ uchar code wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf}

static uchar a

if(a>=6)a=0

we=1

P0=0xff

we=0

du=1

P0=duan[disbuf[a]]

du=0

we=1

P0=wei[a]

we=0

a++

}

/**********************************************/

/* 主函数 */

/**********************************************/

void main(void)

{

temp=0

while(1)

{

if(++jsms>=1000){

if(++temp == 999999)

temp = 0 

}

disbuf[0] = temp/100000

disbuf[1] = temp%100000/10000

disbuf[2] = temp%10000/1000

disbuf[3] = temp%1000/100

disbuf[4] = temp%100/10

disbuf[5] = temp%10

display()

delay(1)

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12050355.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存