找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这个单片机程序控制的灯为什么不亮呢?

[复制链接]
跳转到指定楼层
楼主
ID:793261 发表于 2020-6-30 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
stc 89c52单片机。P0 口接了8颗灯,P3口第4个脚接了QC1602的EN 脚,都是直连的没有接上拉或者下拉。
下面这个程序,本意为了看这两个口的工作状况(没有具体意义), 这个灯没有想象中的1秒亮,一秒灭。
而是不停的闪烁。这个程序什么都不改,把P3口的操作屏蔽掉。灯的工作状况如程序所写。亮1秒灭一秒,
P3口和P0口不能同时工作?还是我的程序有问题或者是电路没有上拉?

单片机源程序如下:
#include <reg52.h>
#include <intrins.h>
sbit a = P0^4;
sbit b = P3^4;
int Delay1000ms(void)                //@12.000MHz
{
        unsigned char i, j, k;

        _nop_();
        i = 8;
        j = 154;
        k = 122;
        do
        {
                do
                {
                        while (--k);
                } while (--j);
        } while (--i);
}


int main(void)
{        
        while(1)
        {
         a = 0;
         b = 0;//屏蔽
         Delay1000ms();
         a = 1;        
         b = 1;//屏蔽                                                  
         Delay1000ms();

        }
}

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

使用道具 举报

沙发
ID:51096 发表于 2020-6-30 18:01 | 只看该作者
再看看仿真有没有问题。
回复

使用道具 举报

板凳
ID:452950 发表于 2020-6-30 19:16 | 只看该作者
P0作IO口时需要上拉,否则无法输出高电平
回复

使用道具 举报

地板
ID:793261 发表于 2020-6-30 19:45 | 只看该作者
xxpp2011 发表于 2020-6-30 19:16
P0作IO口时需要上拉,否则无法输出高电平

我的LED正极接5V,负极接P0口,程序中,只要单独操作P0口,LED都能正常工作,只要程序中有操作其他IO口如P1,P2,P3,P0口的LED就不能正常工作了。
回复

使用道具 举报

5#
ID:341833 发表于 2020-6-30 20:26 | 只看该作者
原理图有没有连对
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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