16级单片机实践经验分享

8*8LED点阵显示汉字

2018-05-20  本文已影响23人  郭媛0110

一.实验目的

在大板LED点阵上显示汉字“中国加油”

二.实验器材

keil软件,普中烧录软件,实验板

三.实验原理

8*8点阵由64个发光二极管构成,每个发光二极管放置在行线和列线的交叉点上。对于共阴极数码管,发光二极管阳极为高电平时被点亮。

8*8LED点阵屏结构图

位选信号通过p0端口,即p0端口控制列选通,每一位控制一列,低电平有效,如01111111表示第一列有效,十六进制表示为0x7f,依次可知,位选信号为:

0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe

段选信号通过p3端口,高电平有效,硬件结构如下:

四.实验过程

1.打开keil文件,新建项目及文件。

2.对所要显示的字符进行点阵编码:

3.写代码如下:

4.编译程序,修改直至没有错误,生成.hex文件。

5.将电脑连接实验板,打开普中烧录软件,选择芯片类型STC89Cxx (New),端口号,.hex文件,点击程序下载,打开实验板,程序写入成功,即可看到LED点阵屏显示汉字。

6.对不满意的地方进行修改,重新编码,直到满意为止。结果:

五.实验错误

出现了一个错误,原因是在上方多打了一个括号。

六.反思与总结

1.自己不具备独立写出代码的能力,还是看着别人的代码理解着打上去的,对代码在开始也有好多不懂的地方。

2.这个实验板是共阴极数码管,需要进行列选通,刚开始一直不明白,出现了错误。

3.对于消隐现象,为了防止速度太快,第二个段选信号送上时,第一个段选信号还在,就设置0x00让第一个段选信号消失。

上一篇 下一篇

猜你喜欢

热点阅读