1、单片机课程方案之ProteusLED点阵显示屏方案与仿真单片机应用系统设计课 题:基于Proteus的LED点阵显示屏的设计与仿真 姓 名:班 级:学 号:指导老师:日 期:一 绪论八十年代以来出现了组合型IED点阵显示器,以发光二极管为像素,它用高亮度发光二极管芯阵列组合后,环氧树脂和塑模封装而成。具有高亮度、功耗低、引脚少、视角大、寿命长、耐湿、耐冷热、耐腐蚀等特点。点阵显示器有单色和双色两类,可显示红,黄,绿,橙等。LED点阵有44、48、57、58、88、1616、2424、4040等多种; 根据像素的数目分为等,双基色、三基色等,根据像素颜色的不同所显示的文字、图象等内容的颜色也不同
2、,单基色点阵只能显示固定色彩如红、绿、黄等单色,双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮组合方式决定,如红绿都亮时可显示黄色,如果按照脉冲方式控制二极管的点亮时间,则可实现256或更高级灰度显示,即可实现真彩色显示。图1-5示出几种LED点阵显示器的内部电路结构和外型规格,其它型号点阵的结构与引脚可实验获得。 LED点阵显示器单块使用时,既可代替数码管显示数字,也可显示各种中西文字及符号如5 x 7点阵显示器用于显示西文字母58点阵显示器用于显示中西文,8 x 8点阵用于显示中文文字,也可用于图形显示。用多块点阵显示器组合则可构成大屏幕显示器,但这类实用装置常通过微机或单
3、片机控制驱动。LED点阵扫描驱动方案: 由LED点阵显示器的内部结构可知,器件宜采用动态扫描驱动方式工作,因为LED管芯大多为高亮度型,因此某行或某列的单体LED驱动电流可选用窄脉冲,但其平均电流应限制在20mA内多数点阵显示器的单体LED的正向压降约在2V左右但大亮点10的点阵显示器单体LED的正向压降约为6V。大屏幕显示系统一般是将由多个LED点阵组成的小模块以搭积木的方式组合而成的,每一个小模块都有自己的独立的控制系统,组合在一起后只要引入一个总控制器控制各模块的命令和数据即可,这种方法既简单而且具有易展、易维修的特点。 LED点阵显示系统中各模块的显示方式有静态和动态显示两种。静态显示
4、原理简单、控制方便,但硬件接线复杂,在实际应用中一般采用动态显示方式,动态显示采用扫描的方式工作,由峰值较大的窄脉冲驱动,从上到下逐次不断地对显示屏的各行进行选通,同时又向各列送出表示图形或文字信息的脉冲信号,反复循环以上操作,就可显示各种图形或文字信息。Proteus最重要的特点是它能够把用户编写的应用软件作用在微处理器上并和连接在该处理器的外围模拟器件及数字器件协同仿真,就像在真正的单片机应用系统的硬件平台上执行目标代码。支持的微控制器有51系列、 Microchip的PIC系列、Atmel的AV系列、 和ARM7/LPC2000。Proteus软件使用彻底改变了传统单片机学习和开发方式,
5、初学者可以在没有实验硬件条件下进行仿真实验,开发者也不必经历“原理图设计、PCB线路板制作、元件焊接、然后进行软件编程、通过仿真器对系统硬件和软件调试”过程,可以直接用Proteus进行电路设计和仿真运行程序,运行成功后再制作产品,缩短开发周期,节约开发成本。汉字点阵显示电路设计制作时,显示部分由88单色LED模块拼接而成,元件引脚较多,硬件制作繁琐,应用Proteus进行仿真设计,极大缩短开发周期。下文用Proteus软件设计1616三个汉字静态显示屏。二 系统总体设计方案1)硬件框图汉字点阵的控制电路采用C51系列单片机,硬件电路可分为单片机控制器、LED显示屏行列驱动电路、LED点阵显示
6、屏三部分,如下图所示。 系统设计硬件框图2)基本原理点阵LED扫描法介绍点阵LED一般采用扫描式显示,实际运用分为三种方式:1)点扫描2)行扫描3)列扫描若使用第一种方式,其扫描频率必须大于1664=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于168=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行第二步工作的步骤是:先在扫描模块的控制下,由地址线确定每次由ROM送出某一列的16个LED所要显示的汉字的控制字节数据,同时由扫描模块输出的5位扫描码经两个4-16译码器解码后决定相应的某一列可以被点亮,而另外31列都不能被点亮。该状态持续约0.
7、4毫秒后,就接着进行下一行的扫描。当完成了一次32行的扫描后,也就完成了一帧画面的显示。重复上述过程不断修改ROM的地址区间的起始地址,转向下一幅画面的数据传送和显示。如此进行,就可以在LED点阵模块上滚动显示ROM中存储的汉字。三 硬件系统设计1) 硬件原理图利用Proteus仿真软件制作出详细的硬件原理图如下:硬件原理图2)元器件的选择元件编号规格参数LED16x16点阵PCB板10cm*10cm环氧板U1 U674HC595U7AT89C51U874HC154R12K欧姆C1、C233pFC310uF四 系统软件设计(1) 编程思路根据以上硬件电路和单片机控制原理,编程思路为:a先对相关
8、变量进行初始化。b调用显示程序c装载三个汉字的第一行数据,并显示出来。d依次显示三个汉字的第二行至第十六行。e结束(2) 流程图:(3) 程序编写利用字库软件查找所要显示的3个字的代码,为了突出课程设计的唯一性,我用了自己的名字“费星”来加以与其他同学区别。“费”字代码如下0x04,0x48,0x7F,0xFC,0x04,0x48,0x7F,0xF8,0x44,0x40,0x7F,0xFE,0x04,0x42,0x08,0x4A,0x3F,0xF4,0xD0,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x02,0xC0,0x0C,0x30,0x30,0x08,/费“
9、星”字代码如下0x00,0x08,0x3F,0xFC,0x20,0x08,0x3F,0xF8,0x20,0x08,0x3F,0xF8,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x00,0x41,0x10,0xBF,0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,/星“做”字代码如下0x10,0x20,0x12,0x20,0x12,0x20,0x22,0x24,0x3F,0xFE,0x62,0x84,0xA2,0x44,0x22,0x44,0x2F,0xC8,0x28,0xA8,0x28,0xA8,0x28,0x90,0x2
10、8,0xA8,0x2F,0xA8,0x28,0x46,0x20,0x84,/做按流程图完成其他剩余程序的编写,详细程序见附录。.5) 冯寿鹏.基于嵌入式系统的LED信息显示技术研究J.现代电子技术,2005(1.6) 金炯泰,金奎焕. 如何使用KEIL8051C编译器M 北京航空航天大学出版社,2002.7) 杨世品. 基于Proteus的单片机出租车计价器的设计. 微计算机信息,2007.附录:#include#include unsigned char code FONT16x16332= 0x04,0x48,0x7F,0xFC,0x04,0x48,0x7F,0xF8,0x44,0x40,
11、0x7F,0xFE,0x04,0x42,0x08,0x4A,0x3F,0xF4,0xD0,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x02,0xC0,0x0C,0x30,0x30,0x08,/费0x00,0x08,0x3F,0xFC,0x20,0x08,0x3F,0xF8,0x20,0x08,0x3F,0xF8,0x01,0x00,0x21,0x08,0x3F,0xFC,0x21,0x00,0x41,0x10,0xBF,0xF8,0x01,0x00,0x01,0x04,0xFF,0xFE,0x00,0x00,/星0xEF,0xDF,0xED,0xDF,0xED,0
12、xDF,0xDD,0xDB,0xC0,0x01,0x9D,0x7B,0x5D,0xBB,0xDD,0xBB,0xD0,0x37,0xD7,0x57,0xD7,0x57,0xD7,0x6F,0xD7,0x57,0xD0,0x57,0xD7,0xB9,0xDF,0x7B。/做 sbit SDI=P21。sbit SRCLK=P20。sbit RCLK=P22。#define LineCtrl P1void delay(unsigned int us while(us-。void SendByte(unsigned char dat unsigned char i。 for(i=0。i SRCLK=
13、0。 if(dat&0x80 SDI=1。 else SDI=0。 SRCLK=1。 dat=dat unsigned char i。 for(i=0。i SendByte(dat32*i+1。 SendByte(dat32*i。 SendByte(dat22*i+1。 SendByte(dat22*i。 SendByte(dat12*i+1。 SendByte(dat12*i。 RCLK=0。 _nop_(。 _nop_(。 _nop_(。 _nop_(。 LineCtrl=i。 RCLK=1。 delay(100。 void main(voidwhile(1 Display(FONT16x160,FONT16x161,FONT16x162。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1