所有资料下载(包含试验报告,ppt):
16×16LED点阵设计.zip
(2.32 MB, 下载次数: 96)
ppt文件预览:
六、 调试及性能分析 6.1硬件调试 首先检查各个焊接点的焊接是否焊接正确,看是否有短路和断路,看各条线连接是否确,对照原理图逐条线逐个点的检查;然后检查芯片的没个引脚的功能,看其是否有实现,一部分一部分的检查。直至检查出错误或保证电路完全正确。在本次设计中由于连线过多加至板面有限,布线时线布的过于密,因此要防止相邻的两条线之间短路,所以要一条线一条线的检查,把短路的给分离开,把断路的给补上。硬件调试时首先要检查晶振是否会正常起振,既看AT89S52的18脚是否有约12MHZ的频率,看30是否有1/6的晶振频率;然后再检查74LS154的使能端是否正常工作;再看74LS595的SER端是否有脉冲并检查其它引脚的脉冲和时序是否都正常工作。最后再检查LED灯的各行和各列是否都连接正确。各部分都调试正常之后就可以进行软件调试了。 6.2软件调试 软件部分需要调试的分需要调试的主要有显示屏的刷新率及显示效果部分。 显示屏的刷新率由定时器T0的溢出率和单片机的晶振频率决定。显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏的刷新率的稳定。定时器T0设定为工作方式1,即16位定时器模式,晶振频率f为11.0592MHZ,通过计算得定时器T0的初值TH0=0XFCH,TL0=0X18H. 显示效果处理程序的内容及方法非常广泛,本次采用的是左移、两边对移、和上移。 调试时要编一些检查LED灯是否完好、是否连接正确的小程序,看控制的端口的控制命令是否正确,显示的字是否亮度均匀、充足、显示的文字是否稳定、清晰无串绕。我在做本次设计中,主要是硬件调试,在程序调试时观察字左移显示是否完全显示完.,还在字段间加空格使得显示更加美观,另外显示的延时也要取得恰当。 七、 设计总结 两周的课程设计终于圆满落下帷幕了。经过这次的课程设计,让我更深刻体会到了把理论学习联系到实践应用当中的重要性。应该说我们所选择的课题16×16点阵LED电子显示屏的设计是一项硬件相对复杂、软件相对简单的设计,一开始由于对设计原理没有做到很深入的理解,导致一开始画原理图出现了点小错误,后来在老师的指导下画出了正确的原理图,后来的画PCB和做板的过程中又出现了问题,画PCB中由于理解错误把8*8点阵LED的位置放错了,以致在做板过程中经过一番修改才做出了正确的PCB板。在软件设计时,参考了很多网上搜索的资料,经过无数次的修改和调试,最后确定了这次设计的源程序。总之,经过这次课程设计,让我们的实践动手能力得到了很大的提高,在接下来的学习中,我们应该更多的把学习的理论知识应用到实践当中。
源程序: - //******名称:16*16点阵显示汉字********//
- //******功能:p2.0向内卷显示***********//
- //************p2.1左移显示*************//
- //************p2.2右移显示*************//
- //************p2.3上移显示*************//
- //******专业:06电子信息科学与技术*****//
- //******名字:liyangfeng ******************//
- //******学号:060303033 ***************//
- #include<reg51.h>
- #define BLKN 4
- sbit G=0x97;
- sbit RCLK =0x96;
- sbit SCLR =0x95;
- void delay(unsigned int);
- void dis1(void);
- void dis2(void);
- void dis3(void);
- void dis4(void);
- unsigned char data dispram[64];
- unsigned char code zy[][32]={
- /*-- 文字: 欢 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x80,0x00,0x80,0xFC,0x80,0x05,0xFE,0x85,0x04,0x4A,0x48,0x28,0x40,0x10,0x40,
- 0x18,0x40,0x18,0x60,0x24,0xA0,0x24,0x90,0x41,0x18,0x86,0x0E,0x38,0x04,0x00,0x00,
- /*-- 文字: 迎 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x40,0x00,0x21,0x80,0x36,0x7C,0x24,0x44,0x04,0x44,0x04,0x44,0xE4,0x44,0x24,0x44,
- 0x25,0x44,0x26,0x54,0x24,0x48,0x20,0x40,0x20,0x40,0x50,0x00,0x8F,0xFE,0x00,0x00,
- /*-- 文字: 乘 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x78,0x3F,0x80,0x01,0x04,0xFF,0xFE,0x09,0x20,0x79,0x2C,0x09,0x30,0x09,0x22,
- 0x39,0x3E,0xCB,0x80,0x07,0x60,0x0D,0x30,0x31,0x1C,0xC1,0x08,0x01,0x00,0x00,0x00,
- /*-- 文字: 坐 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x01,0x00,0x11,0x10,0x11,0x10,0x11,0x10,0x29,0x10,0x25,0x28,0x45,0x44,
- 0x81,0x80,0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,
- /*-- 文字: 2 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x04,0x00,
- 0x04,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x42,0x00,0x7E,0x00,0x00,0x00,0x00,0x00,
- /*-- 文字: 1 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x70,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
- 0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x7C,0x00,0x00,0x00,0x00,0x00,
- /*-- 文字: 路 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x80,0x78,0x80,0x48,0xFC,0x49,0x88,0x4A,0x48,0x7C,0x50,0x50,0x20,0x10,0x58,
- 0x5D,0x86,0x53,0xFC,0x51,0x08,0x51,0x08,0x5D,0x08,0xE1,0xF8,0x01,0x08,0x00,0x00,
- /*-- 文字: 公 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x04,0x40,0x06,0x40,0x04,0x40,0x08,0x20,0x08,0x10,0x10,0x18,0x22,0x0E,
- 0x43,0x04,0x02,0x00,0x04,0x20,0x08,0x10,0x11,0xF8,0x3F,0x18,0x10,0x10,0x00,0x00,
- /*-- 文字: 交 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x02,0x00,0x01,0x00,0x01,0x80,0x7F,0xFE,0x08,0x20,0x0C,0x18,0x10,0x0C,0x20,0x20,
- 0x08,0x30,0x04,0x60,0x02,0xC0,0x01,0x80,0x03,0x40,0x04,0x30,0x18,0x1C,0x60,0x08,
- /*-- 文字: ! --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
- 0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
- /*-- 文字: 本 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x03,0x80,0x03,0x40,0x05,0x40,0x05,0x20,
- 0x09,0x10,0x11,0x18,0x2F,0xEE,0xC1,0x04,0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00,
- /*-- 文字: 车 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x02,0x00,0x02,0x00,0x7F,0xFC,0x04,0x00,0x04,0x80,0x08,0x80,0x10,0x80,0x3F,0xFC,
- 0x00,0x80,0x00,0x80,0xFF,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,
- /*-- 文字: 开 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x7F,0xFE,0x04,0x20,0x04,0x20,0x04,0x20,0x04,0x20,0xFF,0xFE,0x04,0x20,
- 0x04,0x20,0x04,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x20,0x40,0x20,0x00,0x00,
- /*-- 文字: 往 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x80,0x18,0x60,0x10,0x40,0x27,0xFE,0x50,0x40,0x98,0x40,0x10,0x40,0x30,0x40,
- 0x53,0xFC,0x90,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x10,0x40,0x17,0xFE,0x10,0x00,
- /*-- 文字: 师 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x00,0x0B,0xFE,0x48,0x20,0x48,0x20,0x4B,0xFE,0x4A,0x22,0x4A,0x22,0x4A,0x22,
- 0x4A,0x22,0x52,0x22,0x52,0x2A,0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,0x00,0x20,
- /*-- 文字: 院 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x80,0xF8,0x40,0x8F,0xFE,0x94,0x04,0xA0,0x00,0xA3,0xF8,0x90,0x00,0x88,0x00,
- 0x8F,0xFE,0xA9,0x20,0x91,0x20,0x81,0x20,0x82,0x22,0x82,0x22,0x84,0x22,0x88,0x1E,
- /*-- 文字: 新 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x00,0x08,0x0E,0x7F,0x70,0x22,0x40,0x14,0x40,0xFF,0x7E,0x08,0x48,0x08,0x48,
- 0xFF,0x48,0x08,0x48,0x2C,0x48,0x2A,0x88,0x4A,0x88,0x89,0x08,0x2A,0x08,0x10,0x08,
- /*-- 文字: 区 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x7F,0xFC,0x40,0x20,0x40,0x30,0x48,0x20,0x46,0x40,0x41,0x40,0x40,0x80,
- 0x41,0x40,0x42,0x20,0x44,0x30,0x48,0x18,0x50,0x10,0x7F,0xFC,0x00,0x00,0x00,0x00,
- /*-- 文字: , --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
- 0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x30,0x00,0x10,0x00,0x20,0x00,0x00,0x00,
- /*-- 文字: 请 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x40,0x47,0xFC,0x30,0x40,0x23,0xF8,0x00,0x40,0x07,0xFE,0xF0,0x00,0x13,0xF8,
- 0x12,0x08,0x13,0xF8,0x12,0x08,0x13,0xF8,0x16,0x08,0x1A,0x08,0x12,0x28,0x02,0x10,
- /*-- 文字: 乘 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x78,0x3F,0x80,0x01,0x04,0xFF,0xFE,0x09,0x20,0x79,0x2C,0x09,0x30,0x09,0x22,
- 0x39,0x3E,0xCB,0x80,0x07,0x60,0x0D,0x30,0x31,0x1C,0xC1,0x08,0x01,0x00,0x00,0x00,
- /*-- 文字: 客 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x02,0x00,0x01,0x00,0x3F,0xFE,0x44,0x04,0x44,0x08,0x07,0xF0,0x0C,0x20,0x12,0x40,
- 0x21,0x80,0x06,0x70,0x3F,0xFE,0xC8,0x14,0x08,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,
- /*-- 文字: 保 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x00,0x1B,0xF8,0x12,0x08,0x22,0x08,0x32,0x08,0x63,0xF8,0xA0,0x40,0x2F,0xFE,
- 0x20,0xE0,0x21,0x60,0x21,0x50,0x22,0x58,0x24,0x4E,0x28,0x44,0x20,0x40,0x00,0x00,
- /*-- 文字: 管 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x20,0x80,0x3E,0xFC,0x51,0x20,0x8A,0x10,0x01,0x00,0x7F,0xFE,0x40,0x04,0x1F,0xE0,
- 0x10,0x20,0x1F,0xE0,0x10,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,
- /*-- 文字: 好 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x00,0x11,0xFC,0x10,0x08,0x10,0x10,0xFC,0x20,0x24,0x20,0x24,0x20,0x27,0xFE,
- 0x44,0x20,0x64,0x20,0x18,0x20,0x08,0x20,0x14,0x20,0x26,0x20,0x44,0xA0,0x80,0x40,
- /*-- 文字: 随 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x20,0xF8,0x20,0x95,0xFE,0x94,0x40,0xA0,0xF8,0xC1,0x88,0xAC,0x88,0x94,0xF8,
- 0x94,0x88,0x94,0xF8,0xD4,0x88,0xA4,0xA8,0x84,0x90,0x8B,0x00,0x90,0xFE,0x80,0x00,
- /*-- 文字: 身 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x02,0x00,0x04,0x00,0x0F,0xF0,0x08,0x10,0x0F,0xF0,0x08,0x14,0x0F,0xF6,0x08,0x14,
- 0x08,0x18,0x7F,0xFE,0x00,0x70,0x01,0x90,0x06,0x10,0x18,0x10,0x60,0x50,0x00,0x20,
- /*-- 文字: 物 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x80,0x10,0x80,0x50,0x80,0x51,0xFC,0x7D,0x54,0x52,0x54,0x94,0x94,0x14,0x94,
- 0x19,0x24,0x32,0x24,0xD4,0x44,0x10,0x84,0x11,0x04,0x12,0x04,0x14,0x28,0x00,0x10,
- /*-- 文字: 品 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x0F,0xF0,0x08,0x10,0x08,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x00,0x00,
- 0x7E,0xFC,0x42,0x84,0x42,0x84,0x42,0x84,0x42,0x84,0x7E,0xFC,0x42,0x84,0x00,0x00,
- /*-- 文字: ! --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,
- 0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
- };
- unsigned char code njp[][32]={
- /*-- 文字: 善 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x20,0x04,0x40,0x7F,0xFC,0x01,0x00,0x1F,0xF0,0x01,0x00,0x7F,0xFC,0x11,0x10,
- 0x09,0x20,0xFF,0xFE,0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x1F,0xF0,0x10,0x10,
- /*-- 文字: 学 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,
- 0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,
- /*-- 文字: 如 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x10,0x00,0x10,0x00,0x18,0x00,0x10,0x7E,0xFE,0x42,0x22,0x42,0x22,0x42,0x22,0x42,
- 0x22,0x42,0x24,0x42,0x14,0x42,0x08,0x42,0x14,0x7E,0x23,0x42,0x42,0x42,0x80,0x00,
- /*-- 文字: 泉 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x02,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x01,0x00,
- 0x01,0x1C,0x7D,0xE0,0x05,0x40,0x09,0x20,0x11,0x18,0x21,0x0E,0xC5,0x04,0x02,0x00,
- /*-- 文字: 正 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x10,0x80,0x10,0xFC,
- 0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x80,0xFF,0xFE,0x00,0x00,0x00,0x00,
- /*-- 文字: 心 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x02,0x00,0x01,0x00,0x00,0x80,0x00,0xC0,0x08,0x80,0x08,0x00,0x08,0x10,0x48,0x08,
- 0x48,0x04,0x48,0x06,0x88,0x04,0x08,0x10,0x08,0x10,0x08,0x10,0x07,0xF0,0x00,0x00,
- /*-- 文字: 至 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x7F,0xFC,0x02,0x00,0x04,0x20,0x08,0x10,0x13,0xF8,0x3D,0x10,0x01,0x00,
- 0x01,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
- /*-- 文字: 大 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x01,0x00,0x02,0x80,
- 0x02,0x80,0x02,0x40,0x04,0x40,0x04,0x20,0x08,0x10,0x10,0x18,0x20,0x0E,0x40,0x04,
- };
- unsigned char code yy[][32]={
- /*-- 文字: 祝 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x20,0x00,0x11,0xF8,0x11,0x08,0xFD,0x08,0x05,0x08,0x09,0x08,0x11,0x08,0x39,0xF8,
- 0x54,0x90,0x94,0x90,0x10,0x90,0x10,0x90,0x11,0x12,0x11,0x12,0x12,0x12,0x14,0x0E,
- /*-- 文字: 贺 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x00,0x7F,0x7C,0x09,0x44,0x09,0x44,0x11,0x7C,0x25,0x44,0x42,0x00,0x0F,0xF0,
- 0x08,0x10,0x08,0x90,0x08,0x90,0x08,0x90,0x09,0x40,0x02,0x30,0x0C,0x1C,0x30,0x08,
- /*-- 文字: 电 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
- 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00,
- /*-- 文字: 子 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x3F,0xF0,0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x01,0x00,0x01,0x04,
- 0xFF,0xFE,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00,
- /*-- 文字: 设 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x40,0x00,0x21,0xF0,0x31,0x10,0x21,0x10,0x01,0x10,0x01,0x10,0xE2,0x0E,0x25,0xF8,
- 0x21,0x08,0x21,0x08,0x20,0x90,0x20,0x90,0x28,0x60,0x30,0x90,0x23,0x0E,0x0C,0x04,
- /*-- 文字: 计 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x40,0x20,0x20,0x20,0x30,0x20,0x20,0x20,0x00,0x20,0xF3,0xFE,0x10,0x20,0x10,0x20,
- 0x10,0x20,0x10,0x20,0x10,0x20,0x12,0x20,0x14,0x20,0x18,0x20,0x10,0x20,0x00,0x20,
- /*-- 文字: 比 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x20,0x80,0x3E,0x8E,0x20,0xF0,0x20,0x80,
- 0x20,0x80,0x20,0x80,0x20,0x80,0x24,0x82,0x28,0x82,0x30,0x82,0x20,0x7E,0x00,0x00,
- /*-- 文字: 赛 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x7F,0xFE,0x44,0x44,0xBF,0xF0,0x04,0x40,0x3F,0xF8,0x04,0x40,0x7F,0xFC,
- 0x08,0x30,0x3F,0xEE,0xC9,0x24,0x09,0x20,0x09,0x20,0x02,0xC0,0x0C,0x38,0x30,0x10,
- /*-- 文字: 圆 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x7F,0xFC,0x40,0x04,0x4F,0xE4,0x48,0x24,0x4F,0xE4,0x40,0x04,0x4F,0xE4,0x48,0x24,
- 0x49,0x24,0x49,0x24,0x49,0x24,0x42,0x84,0x44,0x44,0x48,0x24,0x7F,0xFC,0x40,0x04,
- /*-- 文字: 满 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x41,0x10,0x21,0x10,0x2F,0xFE,0x01,0x10,0x80,0x00,0x57,0xFE,0x51,0x20,0x17,0xFC,
- 0x25,0x24,0x25,0x24,0x25,0xB4,0xC6,0x4C,0x44,0x84,0x44,0x04,0x44,0x14,0x44,0x08,
- /*-- 文字: 成 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0xA0,0x00,0x90,0x00,0x80,0x3F,0xFE,0x20,0x80,0x20,0x80,0x3E,0x88,0x22,0x8C,
- 0x22,0x48,0x22,0x50,0x22,0x20,0x2A,0x60,0x44,0x92,0x41,0x0A,0x86,0x06,0x00,0x02,
- /*-- 文字: 功 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x20,0x00,0x20,0x7F,0x20,0x08,0x20,0x0B,0xFC,0x08,0x24,0x08,0x24,0x08,0x44,
- 0x09,0x44,0x0E,0x44,0xF0,0x84,0x40,0x84,0x01,0x04,0x02,0x78,0x04,0x10,0x00,0x00,
- };
- unsigned char code sy[][32]={
- /*-- 文字: 泉 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x02,0x00,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x01,0x00,
- 0x01,0x1C,0x7D,0xE0,0x05,0x40,0x09,0x20,0x11,0x18,0x21,0x0E,0xC5,0x04,0x02,0x00,
- /*-- 文字: 州 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x04,0x08,0x84,0x08,0x84,0x08,0x84,0x08,0xC4,0x4C,0xA4,0x4A,0xA4,0x4A,0x94,
- 0x88,0x94,0x08,0x84,0x08,0x84,0x10,0x84,0x10,0x84,0x20,0x84,0x20,0x84,0x40,0x04,
- /*-- 文字: 师 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x00,0x0B,0xFE,0x48,0x20,0x48,0x20,0x4B,0xFE,0x4A,0x22,0x4A,0x22,0x4A,0x22,
- 0x4A,0x22,0x52,0x22,0x52,0x2A,0x12,0x24,0x20,0x20,0x40,0x20,0x80,0x20,0x00,0x20,
- /*-- 文字: 院 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x80,0xF8,0x40,0x8F,0xFE,0x94,0x04,0xA0,0x00,0xA3,0xF8,0x90,0x00,0x88,0x00,
- 0x8F,0xFE,0xA9,0x20,0x91,0x20,0x81,0x20,0x82,0x22,0x82,0x22,0x84,0x22,0x88,0x1E,
- /*-- 文字: 理 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x03,0xFC,0xFA,0x44,0x22,0x44,0x23,0xFC,0x22,0x44,0xFA,0x44,0x23,0xFC,
- 0x22,0x44,0x20,0x40,0x23,0xFC,0x38,0x40,0xC0,0x40,0x00,0x40,0x0F,0xFE,0x00,0x00,
- /*-- 文字: 工 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x3F,0xFC,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,
- 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x00,0x00,
- /*-- 文字: 学 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x08,0x10,0x8C,0x0C,0xC8,0x08,0x90,0x7F,0xFE,0x40,0x04,0x8F,0xE8,0x00,0x40,
- 0x00,0x80,0x7F,0xFE,0x00,0x80,0x00,0x80,0x00,0x80,0x00,0x80,0x02,0x80,0x01,0x00,
- /*-- 文字: 院 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x80,0xF8,0x40,0x8F,0xFE,0x94,0x04,0xA0,0x00,0xA3,0xF8,0x90,0x00,0x88,0x00,
- 0x8F,0xFE,0xA9,0x20,0x91,0x20,0x81,0x20,0x82,0x22,0x82,0x22,0x84,0x22,0x88,0x1E,
- /*-- 文字: 0 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x24,0x00,0x42,0x00,0x42,0x00,0x42,0x00,
- 0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
- /*-- 文字: 6 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x00,0x00,0x00,0x00,0x00,0x00,0x1C,0x00,0x24,0x00,0x40,0x00,0x40,0x00,0x58,0x00,
- 0x64,0x00,0x42,0x00,0x42,0x00,0x42,0x00,0x24,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
- /*-- 文字: 电 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x01,0x00,0x01,0x00,0x01,0x00,0x3F,0xF8,0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,
- 0x21,0x08,0x21,0x08,0x3F,0xF8,0x21,0x08,0x01,0x02,0x01,0x02,0x00,0xFE,0x00,0x00,
- /*-- 文字: 信 --*/
- /*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/
- 0x08,0x80,0x0C,0x60,0x18,0x40,0x17,0xFE,0x30,0x00,0x33,0xF8,0x50,0x00,0x93,0xF8,
- 0x10,0x00,0x13,0xF8,0x12,0x08,0x12,0x08,0x12,0x08,0x13,0xF8,0x12,0x08,0x00,0x00,
- };
- /*******************主程序 ********************/
- void main(void)
- {SCON =0x00; //串行通信
- TMOD =0x01; //定时器T0工作方式1、16位方式
- TR0 =1; //启动定时器T0
- P1 =0x3F; //P1端口初值:允许接收、锁存、显示
- IE =0x82; //允许定时器T0中断
- EA=1;
- EX0=1; //启动外部中断
- IT0=0; //低电平触发方式
- PT0=1; //设优先级:定时器T0优先
- }
- /********************延时程序 **********************/
- void delay(unsigned int dt)
- {
- register unsigned char bt;
- for(;dt;dt--)
- for (bt =0;bt<255;bt++);
- }
- /********显示屏扫描(定时器T0中断)********************/
- void leddisplay(void) interrupt 1 using 1
- {
- register unsigned char i,j=BLKN;
- TH0=0xFC; //设定显示屏刷新率每秒62.5帧
- TL0=0x18;
- i=P1; //读取当前显示的行号
- i=++i & 0x0f; //行号加1,屏蔽高4位
- do {
- j--;
- SBUF = dispram[i*BLKN+j]; //送显示数据
- while(!TI);TI=0;
- } while(j); //完成一行数据的发送
- G=1;
- P1&=0xf0;
- RCLK = 1;
- P1 |=i;
- RCLK=0;
- G=0;
- }
- //外部中断
- void led(void) interrupt 0
- { if(P2==0xfe)
- dis1();
- else if(P2==0xfd)
- dis2();
- else if(P2==0xfb)
- dis3();
- else if(P2==0xf7)
- dis4();
- }
- /************************向内卷屏****************************/
- void dis1(void)
- { register unsigned char i,j,k,l;
- while(1)
- {for(i=0;i<64;i++) //显示效果:卷帘入
- {dispram[i]=0xff;
- if(i%2)delay(100);}
- for(i=0;i<4;i++)
- {for(j=0;j<2;j++)
- for(k=1;k<9;k++)
- {for(l=0;l<16;l++)
- {
- dispram[l*BLKN+1] =dispram[l*BLKN+1] >> 1 |dispram[l*BLKN] << 7;
- dispram[l*BLKN] = dispram[l*BLKN] >> 1 | njp[i*2][l*2+1-j] << (8-k);
- dispram[l*BLKN+2] =dispram[l*BLKN+2] << 1 | dispram[l*BLKN+3] >> 7;
- dispram[l*BLKN+3] =dispram[l*BLKN+3] << 1 | njp[i*2+1][l*2+j] >> (8-k);}
- delay(100);}
- delay(1000);}
- for(i=0;i<64;i++) //显示效果:卷帘结束
- {dispram[i]=0x00;
- if(i%2)delay(100);}}}
- /***********************左移子程序*****************************/
- void dis2(void)
- {register unsigned char i,j,k,l;
- while(1)
- {for(i=0;i<28;i++)
- {for(j=0;j<2;j++)
- for(k=1;k<9;k++)
- {for(l=0;l<16;l++)
- {
- dispram[l*BLKN] = dispram[l*BLKN] << 1 | dispram[l*BLKN+1] >> 7;
- dispram[l*BLKN+1] =dispram[l*BLKN+1] <<1 | zy[i][l*2+j] >> (8-k);
- dispram[l*BLKN+2] =dispram[l*BLKN+2] <<1 | dispram[l*BLKN+3] >> 7;
- dispram[l*BLKN+3] =dispram[l*BLKN+3] <<1 | zy[i+1][l*2+j] >>(8-k);}
- delay(50);}}
- delay(2000);
- for(i=0;i<64;i++) //显示效果:卷帘结束
- {dispram[i]=0x00;
- if(i%2)delay(100);}}}
- /*********************右移子程序********************************/
- void dis3(void)
- {register unsigned char i,j,k,l;
- while(1)
- {for(i=0;i<6;i++)
- {for(j=0;j<2;j++)
- for(k=1;k<9;k++)
- {for (l=0;l<16;l++)
- {dispram[l*BLKN+1] =dispram[l*BLKN+1] >> 1 |dispram[l*BLKN] << 7;
- dispram[l*BLKN] = dispram[l*BLKN] >> 1 | yy[i*2][l*2+1-j] << (8-k);
- dispram[l*BLKN+2] =dispram[l*BLKN+2] >> 1 | dispram[l*BLKN+3]<< 7;
- dispram[l*BLKN+3] =dispram[l*BLKN+3] >>1 | yy[i*2+1][l*2+j] << (8-k);}
- delay(50);}
- delay(2000);}
- for(i=0;i<64;i++) //显示效果:卷帘结束
- {dispram[i]=0x00;
- if(i%2)delay(50);}}}
- /******************上移子程序********************************/
- void dis4(void)
- {register unsigned char i,j,k;
- while(1){
- for(i=0;i<6;i++)
- {for(j=0;j<16;j++)
- {for(k=0;k<15;k++)
- {dispram[k*BLKN]=dispram[(k+1)*BLKN];
- dispram[k*BLKN+1]=dispram[(k+1)*BLKN+1];
- dispram[k*BLKN+2]=dispram[(k+1)*BLKN+2];
- dispram[k*BLKN+3]=dispram[(k+1)*BLKN+3];}
- dispram[60]=sy[i*2][j*2];
- dispram[61]=sy[i*2][j*2+1];
- dispram[62]=sy[i*2+1][j*2];
- dispram[63]=sy[i*2+1][j*2+1];
- delay(120);}}
- delay(2000);
- for(i=0;i<64;i++) //显示效果:卷帘入
- {dispram[i]=0x00;
- if(i%2)delay(50);}}}
复制代码
|