显示驱动实验报告

上传人:人*** 文档编号:551710678 上传时间:2023-09-28 格式:DOCX 页数:5 大小:165.11KB
返回 下载 相关 举报
显示驱动实验报告_第1页
第1页 / 共5页
显示驱动实验报告_第2页
第2页 / 共5页
显示驱动实验报告_第3页
第3页 / 共5页
显示驱动实验报告_第4页
第4页 / 共5页
显示驱动实验报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《显示驱动实验报告》由会员分享,可在线阅读,更多相关《显示驱动实验报告(5页珍藏版)》请在金锄头文库上搜索。

1、显示驱动实验报告1引言随着显示技术的蓬勃发展,各种显示产品不断被开发出来.它们随处可见,创造了巨 大的价值,也同时丰富了我们的日常生活.显示驱动技术是指利用电路驱动显示器件显示的 技术,LED点阵显示屏是显示技术的一种,因LED的高亮度特点,主要用于户外显示.LED 显示屏的驱动,一般可以采用单片机或FPGA/CPLD作为控制芯片.我们实验是采用单片机, 通过C程序控制LED显示屏,显示汉字或简单的动画.2实验方案设计利用字模软件将汉字或者图形取模成二进制数据,然后用单片机编程控制硬件显示出图 形.硬件电路连接如图一:图一,LED显示驱动电路框图3实验结果及讨论通过不断地调试与修改,我们得到了

2、不错的显示效果.讨论一:采用单片机控制LED显示屏的优缺点? 讨论二:我们的LED驱动实验能否作成视频显示.4 结论结论一:单片机通过C程序控制,输出正确的时序及显示数据,从而使LED显示屏能够稳定 的工作.因C语言的简洁高效与可移植的特点,使我们的实验顺利完成.然而,也因为C语 言的效率不如汇编,使其在速度方面不如汇编另外,单片机是通过执行指令输出时序,也 使其不如CPLD/FPGA高效如果单片机的频率不够高或者LED显示屏较大,则单片机就很难 控制LED显示.结论二:由于我们的实验采用单片机驱动显示屏单片机的晶振频率一般只有几十兆赫兹其 指令周期则更长.使其佷难作成视频显示.但简单的动态显

3、示是可以的5 参考文献(1) STC89C51RC-RD _GUIDE-CHINESE.pdf(2) CD401__2422678.pdf(3) 74LS244_.pdf(4) 6B595_.pdf(5) APM4953_DataSheet.pdf(6) 新概念51单片机C语言教程:入门、提高、开发、拓展全攻略郭天祥电子工业出版社(7) C程序设计(第四版)谭浩强著/2010年06月/清华大学出版社6 附录:原程序(包含详尽注释)#includereg52.hsbit MCSDI = P1A1 ; /显示数据(每列的选通信号,数据为高时,对应的象素点亮)sbit MCCLK = P1A2 ;/

4、列移位时钟即点时钟(上升沿触发)sbit MCOE = P1A3 ;/亮度控制(即列信号的输出使能控制,低电平有效)sbit MCST = P1A4 ; /数据锁存(即列信号的数据锁存控制,上升沿锁存)sbit MRRST = P1A5 ;/行清零(清屏)(高电平有效,清零后所有行信号为低电平,全亮)sbit MRSDI = P1A6 ;/帧信号(每行的选通信号,数据为低时,对应的行点亮)sbit MRCLK = P1A7 ; / 行扫描时钟/ 常数定义#define LED_HANG 48/定义LED显示屏的高度,即行数#define LED_LIE 64/定义LED显示屏的宽度,即列数#d

5、efine LED_HANG_DATA_NUM (LED_LIE/8)/定义LED显示屏每一行的显示数据个数,以字节为单位,以本显示屏为例,每行的数据为8字节#define LED_DATA_NUM (LED_HANG*LED_LIE)/8)/定义LED显示屏的显示数据个数,以字节为单位,以本显示屏为例,全屏显示数据为384字节/ 主模块内部函数的定义void LARGE_LED_Init(void); / LED显示屏的初始化程序void LED_DISP_Picture( unsigned char *ptr);/ 显示64*48的图片的程序void LED_Send_Lie(unsign

6、ed char send_buf); / 送出一字节列信号的程序/主模块内部全局变量的定义/ 图片数据的每行起始地址,本显示屏的大小为64(列)*48(行),每行的数据为8字节/ 在切换到下一行显示时,起始地址加8即可,加到384(64/8*48)后显示完一屏的数据 unsigned int LEDHangNum;/ 显示数据的场计数单元,本显示屏的大小为64(列)*48(行),每48行后送出一个场信号 / 实际上作为了行移位寄存器的数据输入unsigned int LEDChangNum;/显示图片数据/关键字Code表示是存放在ROM区域/ 显示动画的6个图片,横向取模,字节倒序unsig

7、ned char code Bmp1= 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

8、00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00, 0x00,0x00,0x00,0x1E,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0xCC,0x00,0x00,0x00, 0x00,0x00,0x00,0x36,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x13,0xE6,0x00,0x00,0x00, 0x00,0x00,0x00,0x13,0x66,0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x36,0x00,0x00,0x00, 0x00,0x00,0x0

9、0,0xFB,0x37,0x00,0x00,0x00,0x00,0x00,0x80,0xF3,0xF3,0x01,0x00,0x00, 0x00,0x00,0xE0,0x03,0xC0,0x03,0x00,0x00,0x00,0x00,0x70,0x00,0x00,0x07,0x00,0x00, 0x00,0x00,0x38,0x00,0x00,0x0E,0x00,0x00,0x00,0x00,0x0C,0x00,0x00,0x0C,0x00,0x00, 0x00,0x00,0x06,0x00,0x00,0x1C,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x18,

10、0x00,0x00, 0x00,0x00,0x03,0x00,0x00,0x30,0x00,0x00,0x00,0x00,0x03,0x00,0x00,0x30,0x00,0x00, 0x00,0x80,0x01,0x00,0x00,0x30,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x30,0x00,0x00, 0x00,0x80,0x01,0x00,0x00,0x30,0x00,0x00,0x00,0x80,0x01,0x00,0x00,0x30,0x00,0x00, 0x00,0x80,0x01,0x00,0xC0,0x30,0x00,0x00,0x00,0

11、x80,0x01,0xC0,0xFF,0x38,0x00,0x00, 0x00,0x80,0x01,0xC3,0x0F,0x18,0x00,0x00,0x00,0x00,0xFB,0x03,0x00,0x1C,0x00,0x00, 0x00,0x00,0x7B,0x00,0x00,0x0C,0x00,0x00,0x00,0x00,0x06,0x00,0x00,0x06,0x00,0x00, 0x00,0x00,0x0E,0x00,0x80,0x07,0x00,0x00,0x00,0x80,0x1D,0x00,0xC0,0x07,0x00,0x00, 0x00,0xC0,0xFF,0x00,0x

12、F8,0x06,0x00,0x00,0x00,0x40,0xEE,0xFF,0x3F,0x0C,0x00,0x00, 0x00,0xC0,0x9B,0xFF,0x27,0x0C,0x00,0x00,0x00,0xC0,0xFF,0xFD,0x31,0x0D,0x00,0x00, 0x00,0x00,0xEE,0xFE,0x37,0x0D,0x00,0x00,0x00,0x00,0x0C,0x06,0x3F,0x09,0x00,0x00, 0x00,0x00,0x18,0xFE,0x99,0x19,0x00,0x00,0x00,0x00,0xF0,0xDF,0x83,0x19,0x00,0x00

13、, 0x00,0x00,0xE0,0x1B,0xFF,0x18,0x00,0x00,0x00,0x00,0x00,0x18,0x7C,0x18,0x00,0x00, 0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x18,0x00,0x00, ;/ 系统主函数 int main(void)unsigned char *BmpPtr; / 设置一个指向图片显示数据的指针 unsigned char i;LARGE_LED_Init(); / 引脚初始化BmpPtr = Bmp1; / 初始化显示图片指针while

14、(1) / 显示图片BmpPtr = Bmp1;i=10;while(i-)LED_DISP_Picture(BmpPtr);/ *LED 点阵显示相关模块相关程序函 数 名: LARGE_LED_Init()功能:初始化大屏幕LED屏说 明:模块的外部函数,提供给主程序调用*/void LARGE_LED_Init(void)MCSDI = 0; / 显示数据 (每列的选通信号,数据为高时,对应的象素点亮)MCCLK = 0 ; / 移位时钟 (上升沿触发)MCOE = 1 ; / 亮度控制 (即列信号的输出使能控制,低电平有效)MCST = 0 ;/ 数据锁存 (即列信号的数据锁存控制,上

15、升沿锁存)MRRST = 0 ; / 行清零(清屏) (高电平有效,清零后所有行信号为低电平,全亮)MRSDI = 1 ; / 帧信号(每行的选通信号,数据为低时,对应的行点亮)MRCLK = 0; / 行扫描时钟/*函 数 名: LED_DISP_Picture( unsigned char *ptr)功 能:显示一幅64*48的图片说 明:模块的内部函数,提供给本模块其他程序调用入口参数:*ptr:指向显示图片数据的指针*/void LED_DISP_Picture( unsigned char *ptr)unsigned char i;LEDHangNum = 0; / LED显示屏每行起始地址初始化,实质为点计数LEDChangNum = 0; / LED显示屏场信号计数单元初始化,实质为行计数do/ 每行显示数据倒序送出,每个字节内部是高位先送/ 对应的取模方式:从左到右,字节倒序for(i=7;i!=0xFF;i-) / 循环8次,送完一行的数据LED_Send_Lie( ptr LEDHangNum + i ); / 字节倒序,则每个字节内部是高位先送M

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号