我编了一个小程序,是使第一位数码管显示数值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;
}
}
考虑数码显示的时间,需要等待,还有循环的时间。这个速度!
一周热门 更多>