单片机学习小组
登录
直播中
王银喜
7年用户
2397经验值
私信
关注
怎样使用单片机89C51的P0和P2口显示52H-1314呢
开启该帖子的消息推送
单片机
89C51
数码管
怎样使用
单片机
89C51的P0和P2口显示52H-1314呢?其实现过程是怎样的?
回帖
(1)
h1654155275.5994
2022-2-23 14:14:52
目标
使用单片机89C51的P0和P2口显示“52H-1314”。
Proteus连线
过程
1、首先定义好数码管的字符码,我习惯采用共阳极的(使用共阴极的数码管直接取反就行了)
uchar code display[]={
0x0C0,//"0"
0x0F9,//"1"
0x0A4,//"2"
0x0B0,//"3"
0x99, //"4"
0x92, //"5"
0x82, //"6"
0x0F8,//"7"
0x80, //"8"
0x90, //"9"
0x88, //"A"(10)
0x83, //"b"(11)
0x0C6,//"C"(12)
0x0A1,//"d"(13)
0x86, //"E"(14)
0x8E, //"F"(15)
0x90, //"G"(16)
0x89, //"H"(17)
0x8C, //"P"(18)
0xA1, //"U"(19)
0xBF//"-" (20)
};//共阴极
2、定义好要显示的字符码数组,然后就循循循循循循循环。
int main()
{
uint shuma[8]={5,2,17,20,1,3,1,4};//"5,2,H,-,1,3,1,4"
while(1)
{
xianshi(shuma);
}
}
3、通过函数显示数码:
void xianshi(uint *shuma)
{
uint i=0,p0=0xff,p2=0x01;
for(i=0;i<8;i++)
{
P2=p2;//位选
P0=display[shuma
];//段选
Delay(3);
p2=_crol_(p2,1);//段选左移刷屏
}
}
4、各位只需要在前面补充一个Delay()函数用来延时就可以啦,记得延时不要太久哦,否则容易出现数码管闪烁或者直接无法同时显示所有字符哦。
换个字符串的话比如像这样:
或者像这样:
还有这样:
以上都是因为延时时间过长导致的结果。
所以刷屏的频率一定要足够高,以确保我们的人眼无法捕捉到屏幕的刷屏过程,利用视觉停留作用,就可以让这些数字看起来同时停留在数码管上啦!
目标
使用单片机89C51的P0和P2口显示“52H-1314”。
Proteus连线
过程
1、首先定义好数码管的字符码,我习惯采用共阳极的(使用共阴极的数码管直接取反就行了)
uchar code display[]={
0x0C0,//"0"
0x0F9,//"1"
0x0A4,//"2"
0x0B0,//"3"
0x99, //"4"
0x92, //"5"
0x82, //"6"
0x0F8,//"7"
0x80, //"8"
0x90, //"9"
0x88, //"A"(10)
0x83, //"b"(11)
0x0C6,//"C"(12)
0x0A1,//"d"(13)
0x86, //"E"(14)
0x8E, //"F"(15)
0x90, //"G"(16)
0x89, //"H"(17)
0x8C, //"P"(18)
0xA1, //"U"(19)
0xBF//"-" (20)
};//共阴极
2、定义好要显示的字符码数组,然后就循循循循循循循环。
int main()
{
uint shuma[8]={5,2,17,20,1,3,1,4};//"5,2,H,-,1,3,1,4"
while(1)
{
xianshi(shuma);
}
}
3、通过函数显示数码:
void xianshi(uint *shuma)
{
uint i=0,p0=0xff,p2=0x01;
for(i=0;i<8;i++)
{
P2=p2;//位选
P0=display[shuma
];//段选
Delay(3);
p2=_crol_(p2,1);//段选左移刷屏
}
}
4、各位只需要在前面补充一个Delay()函数用来延时就可以啦,记得延时不要太久哦,否则容易出现数码管闪烁或者直接无法同时显示所有字符哦。
换个字符串的话比如像这样:
或者像这样:
还有这样:
以上都是因为延时时间过长导致的结果。
所以刷屏的频率一定要足够高,以确保我们的人眼无法捕捉到屏幕的刷屏过程,利用视觉停留作用,就可以让这些数字看起来同时停留在数码管上啦!
举报
更多回帖
rotate(-90deg);
回复
相关问答
单片机
89C51
数码管
89C51
的
P0
~
P
3
口
结构有何不同?用作通用I/O
口
输入数据时应注意什么?
2021-07-08
10624
89c51
单片机
的引脚及功能有哪些
2021-09-24
5088
用
89C51
单片机
,
怎样
控制两个并口同时工作
2014-05-27
3988
51
单片机
怎么解决IO
口
的复用问题
2013-05-31
6370
DIP封装的
51
单片机
P0
口
驱动数码管时需要加上拉电阻,PQFP封...
2014-10-25
5360
51
单片机
io
口
疑问
2017-10-31
3041
请问
51
单片机
扩展IO及RAM,
P0
P2
口
未用到的IO还可以当一般IO用吗?
2019-10-15
1544
STC
89C52
RC
单片机
P0
口
设置输出模式,求解答!
2017-08-25
10556
初学者请问各位大佬
2024-02-23
9520
8051
单片机
P0
口
与
P
1
口
的引脚有哪些不同
呢
2022-01-26
3301
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分