找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1055|回复: 6
收起左侧

单片机P2的端口应该怎么表示?这样表示对的吗?

[复制链接]
ID:1095153 发表于 2023-10-6 17:13 来自手机 | 显示全部楼层 |阅读模式
P2的端口应该怎么表示?这样表示对的吗?
#include"reg51.h"
#define uchar unsigned char

#define uint unsigned int
uchar code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
uint  gsmg_wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};
void delay(uint i)
        {
                uchar t;
                while(i--)
                {
                        for(t=0;t<120;t++);
                }
        }
void main(void)
{
        uchar i;
        for(i=10;i>=0;i--)
        {
                P2 = 0x3b;
                P0 = seg [ i];
                delay(500);
        }
}
IMG_3668.jpeg
IMG_3669.jpeg
回复

使用道具 举报

ID:883242 发表于 2023-10-6 20:29 | 显示全部楼层
语法正确,但是逻辑错了,P2应该赋值gsmg_wei[],而且代码里面seg[]的值似乎弄反了。
回复

使用道具 举报

ID:213173 发表于 2023-10-6 21:07 | 显示全部楼层
没有硬件电路图,很难说得清。
回复

使用道具 举报

ID:1095153 发表于 2023-10-6 21:08 来自手机 | 显示全部楼层
Hephaestus 发表于 2023-10-6 20:29
语法正确,但是逻辑错了,P2应该赋值gsmg_wei[],而且代码里面seg[]的值似乎弄反了。

seg[]的值反了是啥意思骚瑞我有点不懂
回复

使用道具 举报

ID:1010435 发表于 2023-10-8 13:47 | 显示全部楼层
yyyeing 发表于 2023-10-6 21:08
seg[]的值反了是啥意思骚瑞我有点不懂

你没发现,不亮的才是2 所以数码管的共阴共阳你弄反了
回复

使用道具 举报

ID:883242 发表于 2023-10-8 14:19 | 显示全部楼层
yyyeing 发表于 2023-10-6 21:08
seg[]的值反了是啥意思骚瑞我有点不懂

应该亮的灭了,应该灭的亮了,你觉得是什么问题?
回复

使用道具 举报

ID:1097455 发表于 2023-10-27 13:35 | 显示全部楼层
宏定义一下IO口,后期写代码方便,养成习惯就好了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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