找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 712|回复: 2
打印 上一主题 下一主题
收起左侧

LED数码码管轮显,按键中断延时去抖

[复制链接]
跳转到指定楼层
楼主
ID:1110890 发表于 2024-3-24 13:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
每天坚持码几行代码,日后必有收获
#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++;
                }
   }


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1064915 发表于 2024-3-24 18:10 | 只看该作者
每天坚持码几行代码,这个习惯好
回复

使用道具 举报

板凳
ID:863362 发表于 2024-3-25 08:59 | 只看该作者
位选信号送完,要延时一下,不然数码管是不显示的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表