设计16×16点阵LED显示器的驱动电路,并编写程序实现在16×16点阵LED显示器上的字符滚动显示。16×16点阵LED显示器可由4块8×8点阵LED显示器构成。采用单片机并行端实现对16×16点阵LED显示器的驱动。
电路方面主要包括以下3部分。
(a)设计单片机的最小系统(包括复位电路和外接的晶振电路),并确定相关元器件参数
(b)采用动态驱动的方式,设计单片机并行端口、移位寄存器、译码器或锁存器等与16×16点阵LED显示器的驱动电路,主要包括控制点阵LED行和列的连线。
(c)设计驱动点阵LED显示器时与单片机的控制连线。
编写16×16点阵LED显示器字符(串)滚动显示程序,实现数字(0—9)或英文字符的滚动显示。
目录
1 选题背景 1
2 方案论证 1
2.1 课题要求 1
2.2 设计方案 1
3 16×16点阵LED显示器字符滚动显示过程设计论述 2
3.1 系统硬件框图设计 2
3.2 单片机AT89C51分析 2
3.3 系统原理图设计 2
3.3.1 外界晶振电路原理图设计 3
3.3.2 复位电路 3
3.3.3 系统原理总图 3
3.4 系统软件设计 4
3.4.1 程序流程图 4
3.4.2 软件代码 5
4 结果分析 6
4.1 程序调试与仿真 6
4.2 仿真结果 6
5 总结 7
参考文献 8
附录 9
下面是设计文档的部分内容预览:
单片机源程序如下:
- #include <reg51.h>
- #define u8 unsigned char
- #define u16 unsigned int
- #define NUM 100
- u8 code table1[]={
- /*-- 文字: --*/
- /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=8x16 --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- /*-- 文字: 0 --*/
- /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=8x16 --*/
- 0xFF,0xF8,0xF7,0xEF,0xEF,0xF7,0xF8,0xFF,
- …………限于本文篇幅 字库请从51黑下载附件…………
- /*-- 文字: 9 --*/
- /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=8x16 --*/
- 0xFF,0xFF,0x73,0xBB,0xBB,0x77,0x0F,0xFF ,
- /*-- 文字: --*/
- /*-- 楷体_GB231212; 此字体下对应的点阵为:宽x高=8x16 --*/
- 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
- };
- u8 i=0,j=0,m=0,n=0;
- u16 z;
- void main()
- {
- P0=0x00;
- P3=0x00;
- P1=0x00;
- P2=0x00;
- while(1)
- {
- for(i=0;i<152;i++)
- {
- for(z=NUM;z>0;z--)
- {
- for(j=0;j<16;j++)
- {
- m=i+j;
- n=j-8;
- if(j>7)
- {
- P2=0;
- P3=(0X01<<n);
- }
- else
- {
- P3=0;
- P2=(0x01<<j);
- }
-
-
- P0=table1[m];
- P1=table2[m];
- }
- j=0;
- }
- z=NUM;
- }
- i=0;
- }
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
16×16点阵LED显示器字符滚动显示并口驱动 - 副本.rar
(318.09 KB, 下载次数: 339)
|