标题: 单片机P2的端口应该怎么表示?这样表示对的吗? [打印本页]

作者: yyyeing    时间: 2023-10-6 17:13
标题: 单片机P2的端口应该怎么表示?这样表示对的吗?
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 (1.01 MB, 下载次数: 27)

IMG_3668.jpeg

IMG_3669.jpeg (970.92 KB, 下载次数: 24)

IMG_3669.jpeg

作者: Hephaestus    时间: 2023-10-6 20:29
语法正确,但是逻辑错了,P2应该赋值gsmg_wei[],而且代码里面seg[]的值似乎弄反了。
作者: wulin    时间: 2023-10-6 21:07
没有硬件电路图,很难说得清。
作者: yyyeing    时间: 2023-10-6 21:08
Hephaestus 发表于 2023-10-6 20:29
语法正确,但是逻辑错了,P2应该赋值gsmg_wei[],而且代码里面seg[]的值似乎弄反了。

seg[]的值反了是啥意思骚瑞我有点不懂
作者: mtt661    时间: 2023-10-8 13:47
yyyeing 发表于 2023-10-6 21:08
seg[]的值反了是啥意思骚瑞我有点不懂

你没发现,不亮的才是2 所以数码管的共阴共阳你弄反了
作者: Hephaestus    时间: 2023-10-8 14:19
yyyeing 发表于 2023-10-6 21:08
seg[]的值反了是啥意思骚瑞我有点不懂

应该亮的灭了,应该灭的亮了,你觉得是什么问题?
作者: 圣博朗西斯    时间: 2023-10-27 13:35
宏定义一下IO口,后期写代码方便,养成习惯就好了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1