请问各位为什么我的数码管显示的乱码?

2019-07-18 11:59发布

我编了一个小程序,是使第一位数码管显示数值3,可实际情况是如图所示,乱码了,请问给位这是什么原因?谢谢!


/*-----------------------------------------------
  名称:8位数码管显示其中之一
  
  内容:显示8位数码管中任意一位
------------------------------------------------*/
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
#define DataPort P0 //定义数据端口 程序中遇到DataPort 则用P0 替换
sbit LATCH1=P2^2;//定义锁存使能端口 段锁存
sbit LATCH2=P2^3;//                 位锁存
/*------------------------------------------------
                    主函数
------------------------------------------------*/
main()
{
while(1)
      {
    DataPort=0xfe; //取位码 第一位数码管选通,即二进制1111 1110
       LATCH2=1;     //位锁存
       LATCH2=0;
       DataPort=0x4F; //取显示数据,段码 “3”共阴字符码
       LATCH1=1;     //段锁存
       LATCH1=0;
      }
}
请问我的电路图有没有错误?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
nicky369
1楼-- · 2019-07-18 15:14
testtesttesttesttesttesttest
大时钟
2楼-- · 2019-07-18 16:56
这个程序很明显,数码管错了,换成共阴管,同时段码取反,,或者不换数码管,位码0x01
handsomezb
3楼-- · 2019-07-18 21:31
大时钟 发表于 2015-6-15 18:54
这个程序很明显,数码管错了,换成共阴管,同时段码取反,,或者不换数码管,位码0x01

是的是的。谢谢!是数码管该改成共阴的,但是我试了,还是有乱码,你看看电路仿真图里,单片机P0.3显示的是灰 {MOD},不知道什么原因,导致D4也变成灰 {MOD},使位选择出错。
武力戡乱
4楼-- · 2019-07-18 23:14
额,速度,亲!
刘方南
5楼-- · 2019-07-19 01:50
 精彩回答 2  元偷偷看……
handsomezb
6楼-- · 2019-07-19 02:20
刘方南 发表于 2015-6-16 10:08
亲,51单片机的P0口是需要外接上拉电阻的额;

接了呀!RP1就是啊!

一周热门 更多>