标题: LED数码码管轮显,按键中断延时去抖 [打印本页]

作者: 伟哥C51    时间: 2024-3-24 13:24
标题: LED数码码管轮显,按键中断延时去抖
每天坚持码几行代码,日后必有收获
#include<STC89C5xRC.H>
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,
       0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};

void k6_0(uchar);
uint        flag;
sbit k6=P3^2;
sbit led1=P1^0;
sbit led2=P1^1;
sbit ge=P2^3;
sbit shi=P2^2;
sbit bai=P2^1;
sbit qian=P2^0;
void main()
{
        while(1)
        {
                ge=1;
           P0=table[flag%10];//除十求余数
                ge=0;
                ge=1;
                P0=table[flag%100/10];//除100余数求模
                shi=0;
                shi=1;
           P0=table[flag%1000/100];//除1000余数求模
                bai=0;
                bai=1;
           P0=table[flag/1000];//除1000求模
                qian=0;
                qian=1;
                if(k6==0)
                {
                        TMOD=0X01;
                        TH0=(65536-40000)/255;//16位计数模式,装载高8位
                        TL0=(65536-40000)%255;//转载低8位初值
                        EA=1;//全局中断使能
                        ET0=1;//定时器T0使能
                        TR0=1;//启动T0定时器中断
                        
                }        
               
        
        }
}


void t0rpt() interrupt 1
   {
                  if(k6==1)
                {
                        TR0=0;
                        flag++;
                }
   }



作者: joyb    时间: 2024-3-24 18:10
每天坚持码几行代码,这个习惯好
作者: sonique0371    时间: 2024-3-25 08:59
位选信号送完,要延时一下,不然数码管是不显示的。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1