找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2476|回复: 1
收起左侧

单片机自动变速的跑马灯程序

[复制链接]
ID:444215 发表于 2021-7-28 11:06 | 显示全部楼层 |阅读模式
#include <reg52.h>      
#define uchar unsigned char
#define uint  unsigned int
#define ulong unsigned long
   
char code ledp[4]={0xfe,0xfd,0xfb,0xf7};//预定的写入 P1 的值
     
sbit P10 = P1^0; //头文件中没有定义的 IO 就要自己来定义了
sbit P11 = P1^1;
sbit P12 = P1^2;
sbit P13 = P1^3;
bit ldelay=0;         
uchar speed=10;      
uchar ledi;
char code dx516[3] _at_ 0x003b;
void main(void)  
{
   
    RCAP2H =0x10;     
    RCAP2L =0x10;
    ET2=1;            
    EA=1;            
    TR2=1;         
    while(1)         
        {
            ;
            
            if(ldely)   
                {
                    ldely=0;
                    P1=ledp[ledi++];  
                    if(ledi==4)
                        {
                            ledi=0;  
                            speed--;
                            if(speed==0)
                            speed=10;
                        }
                }
            
        }
}
void timer2() interrupt 5      
{
static uchar t;
     TF2=0;
     t++;  
     if(t==speed )               
         {
             t=0;
             ldely=1;   
         }
   
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1002664 发表于 2022-1-24 12:11 | 显示全部楼层
大佬请教一下怎么固定住速度,到最快的时候就按这个速度进行循环
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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