找回密码
 立即注册

QQ登录

只需一步,快速开始

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

蓝桥杯单片机的数码管和LED端口互相占用的问题

[复制链接]
跳转到指定楼层
楼主
功能要求:当DS1302的分秒是0时,L1点亮5秒后关闭(定时器计时5秒),L1亮的同时,数码管正常工作。
出现问题:L1正常点亮,但是数码管无法正常工作,5秒之后直接显示5;同时L1,5秒之后无法关闭。

重要提示:这是蓝桥杯的单片机开发板

time_zero初始状态是1,它是当分秒为0时的bit状态位。count_L1是为了在定时器中计数,当计到50时,清零。定时了5s。
L1就是led1;

void RunTimer0() interrupt 1
{
    TH0=(65535-1000) / 256;                定时1ms
    TL0=(65535-1000) % 256;
   
    if(time_zero==0)
    {
        count_L1++;
        if(count_L1==5000)
        {
            count_L1=0;
            L1=1;
            time_zero=1;
        }   
    }        
}

void displayLED()
{
    if(Time[0]==0x00&&Time[1]==0x00)
    {
        Select573(4);      //片选HC573
        time_zero=0;
        L1=0;
        Select573(0);
        while(time_zero!=1)
        displaySMG();
        Select573(0);     
    }   
}

void main()
{
    Write_1302_clock();
    InitTimer0();
    offbuzz();
    offled();
    while(1)
    {
        Read_1302_clock();
        displayLED();
        displaySMG();            
    }
}

1.jpg (484.51 KB, 下载次数: 48)

分秒没有到0时,L1尚未点亮

分秒没有到0时,L1尚未点亮

2.jpg (514.48 KB, 下载次数: 51)

2.jpg

3.jpg (400.1 KB, 下载次数: 42)

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

使用道具 举报

沙发
ID:384109 发表于 2023-3-21 22:41 | 只看该作者
这个得看电路图
回复

使用道具 举报

板凳
ID:139866 发表于 2023-3-22 11:20 | 只看该作者
蓝桥杯的开发板算什么重要提示,对解决这个问题有什么帮助吗?
说这些没用的不如把电路图放上,没有电路图就把对各个点的测试数据放出来,说不定还能给分析分析
回复

使用道具 举报

地板
ID:1062932 发表于 2023-3-22 14:49 来自手机 | 只看该作者
天ノ忆 发表于 2023-3-22 11:20
蓝桥杯的开发板算什么重要提示,对解决这个问题有什么帮助吗?
说这些没用的不如把电路图放上,没有电路图 ...

这跟电路图没关系啊,这就是一个代码逻辑问题,而且不知道哪个板子,怎么知道端口复用会造成什么问题。
回复

使用道具 举报

5#
ID:123289 发表于 2023-3-22 16:35 | 只看该作者
while语句,在条件成立期间,照管不到其它程序,慎用!
例如:条件成立时做A事件,但条件持续5秒都成立,导致在此5秒内,B事件得不到执行。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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