基于AT89C52单片机的1616点阵(滚动显示)

合集下载

1616地点阵滚动显示

1616地点阵滚动显示

16*16点阵流动显示•本站搜索更多关于“16*16点阵显示硬件”的内容硬件连接P0和P2口送数据列扫描通过74HC154完成硬件连接比较简单,需要电路图的朋友跟帖一下源程序如下:#include"reg52.h"#include"jchbasic.h"#include"d:\my program\model debug\delay\src\delay.h"#include"d:\my program\model debug\delay\src\delay.c"sbit io_74hc154_en = P3^1 ;#define ROW_SCAN(x) P3 = ( (x) & 0x0f ) << 4uint8 code zimo1[1344]={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,0x20,0x00,0x20,0x40,0x10,0x40,0x08,0x48,0x06,0xC8,0x01,0x78,0x00,0xA4, 0x0F,0x24,0x10,0x24,0x20,0x20,0x20,0x00,0x20,0x00,0x20,0x00,0x1C,0x00,0x00,0x00,0x00,/*"无",0*/0x00,0x04,0x20,0x45,0xA8,0x44,0x60,0x2C,0xFE,0x13,0x10,0x1A,0x58,0x27,0x94, 0x10,0x40,0x0A,0x70,0x04,0x4C,0x0B,0xE0,0x10,0x20,0x30,0x20,0x20,0x00,0x20,0x00,0x00,/*"数",1*/0x00,0x00,0xC0,0x07,0x60,0x19,0x50,0x09,0x2C,0x08,0xE0,0x1F,0x80,0x00,0x40, 0x00,0xA0,0x00,0x38,0x03,0x26,0x10,0x10,0x20,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,/*"的",2*/0x00,0x00,0x00,0x24,0x00,0x22,0x00,0x21,0x8E,0x21,0x32,0x25,0x2A,0x25,0xEA, 0x3F,0xAA,0x12,0x91,0x12,0x91,0x10,0x0F,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,/*"星",3*/0x00,0x10,0x00,0x08,0x00,0x06,0x80,0x01,0x7E,0x00,0x92,0x3F,0x92,0x10,0x4A, 0x09,0x49,0x02,0x29,0x05,0x21,0x09,0xA0,0x18,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x00,/*"辰",4*/0x00,0x00,0x00,0x02,0x88,0x41,0x08,0x21,0x08,0x11,0x68,0x0D,0x55,0x03,0xD6, 0x02,0xD4,0x1E,0xB4,0x20,0x84,0x20,0x84,0x20,0x80,0x21,0x80,0x38,0x00,0x00,0x00,0x00,/*"亮",5*/0x80,0x10,0x80,0x08,0x90,0x07,0x90,0x04,0xFF,0x07,0x48,0x09,0x48,0x09,0x00, 0x10,0xC8,0x13,0x48,0x24,0x48,0x24,0x38,0x24,0x00,0x24,0x00,0x23,0x00,0x20,0x00,0x00,/*"起",6*/0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",7*/0x00,0x08,0x00,0x04,0x00,0x02,0x10,0x01,0x90,0x7F,0x70,0x10,0x10,0x12,0x0F, 0x12,0x08,0x12,0xE8,0x0F,0x08,0x09,0x08,0x09,0x00,0x08,0x00,0x08,0x00,0x00,0x00,0x00,/*"在",8*/0x00,0x20,0x00,0x20,0x40,0x10,0x44,0x08,0x44,0x04,0x44,0x03,0xFC,0x00,0x22, 0x01,0x22,0x02,0x22,0x04,0x20,0x08,0x00,0x10,0x00,0x30,0x00,0x20,0x00,0x20,0x00,0x00,/*"天",9*/0x00,0x00,0x20,0x20,0x18,0x20,0x08,0x21,0x88,0x20,0x68,0x22,0x09,0x22,0x0A, 0x1E,0x08,0x11,0x24,0x11,0x44,0x11,0x04,0x10,0x14,0x30,0x08,0x20,0x00,0x00,0x00,0x00,/*"空",10*/0x00,0x00,0x00,0x08,0x1C,0x08,0x04,0x08,0x84,0x09,0x7C,0x05,0x24,0x05,0xA2, 0x04,0xA2,0x04,0x92,0x10,0x92,0x20,0x82,0x1F,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"写",11*/0x00,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0x08,0x00,0xF8, 0x7F,0x84,0x00,0x84,0x00,0x84,0x00,0x04,0x01,0x04,0x00,0x04,0x00,0x00,0x00,0x00,0x00,/*"下",12*/0x00,0x01,0x80,0x00,0x40,0x00,0xF0,0x3F,0x0E,0x00,0x00,0x08,0x40,0x06,0x30, 0x10,0x2E,0x20,0xA0,0x3F,0x10,0x00,0x50,0x02,0x30,0x04,0x00,0x0C,0x00,0x00,0x00,0x00,/*"你",13*/0x00,0x00,0xC0,0x07,0x60,0x19,0x50,0x09,0x2C,0x08,0xE0,0x1F,0x80,0x00,0x40, 0x00,0xA0,0x00,0x38,0x03,0x26,0x10,0x10,0x20,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,/*"的",14*/0x00,0x10,0x00,0x10,0x00,0x08,0x40,0x08,0x20,0x04,0x30,0x1E,0x48,0x13,0x8E, 0x12,0x48,0x12,0x28,0x12,0x18,0x12,0x00,0x0E,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"名",15*/0x00,0x00,0x00,0x02,0x18,0x02,0x08,0x02,0x28,0x02,0x28,0x02,0x29,0x21,0x96, 0x41,0x54,0x3F,0x34,0x01,0x04,0x01,0x14,0x01,0x0C,0x01,0x00,0x01,0x00,0x00,0x00,0x00,/*"字",16*/0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",17*/0x00,0x00,0x00,0x00,0x80,0x20,0x90,0x24,0xA0,0x24,0x80,0x24,0xFF,0x12,0x40, 0x12,0x40,0x12,0x50,0x12,0x48,0x18,0xC4,0x17,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"当",18*/0x00,0x00,0x60,0x00,0x10,0x00,0x10,0x22,0xB2,0x2A,0x12,0x2A,0xFE,0x2A,0x0A, 0x2A,0x09,0x29,0x59,0x21,0x08,0x3F,0x28,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"雪",19*/0x00,0x08,0x00,0x04,0x08,0x02,0x08,0x7F,0xCA,0x00,0x1E,0x04,0x08,0x04,0xC4, 0x1F,0x1C,0x22,0x07,0x21,0x84,0x20,0x44,0x20,0x04,0x20,0x00,0x20,0x00,0x1C,0x00,0x00,/*"花",20*/0x00,0x02,0x34,0x1A,0x5C,0x02,0xB2,0x1E,0xAE,0x02,0x3A,0x05,0x00,0x08,0xF8, 0x07,0x48,0x02,0x88,0x01,0x74,0x06,0x04,0x00,0xFC,0x07,0x00,0x08,0x00,0x1C,0x00,0x00,/*"飘",21*/0x00,0x00,0x88,0x30,0x08,0x19,0x28,0x06,0x4E,0x00,0x94,0x04,0x44,0x3A,0x74, 0x29,0xAC,0x28,0x67,0x29,0x24,0x1A,0x04,0x02,0x04,0x04,0x00,0x04,0x00,0x04,0x00,0x00,/*"落",22*/0x00,0x00,0xF8,0x0F,0x48,0x04,0x44,0x04,0xFC,0x0F,0x00,0x00,0xA0,0x00,0x20, 0x01,0x20,0x10,0x20,0x20,0xFE,0x3F,0x10,0x00,0x10,0x00,0x10,0x00,0x00,0x00,0x00,0x00,/*"时",23*/0x00,0x00,0x00,0x00,0x00,0x2C,0x00,0x1C,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*",",24*/0x20,0x10,0x20,0x0C,0xA0,0x01,0xA0,0x12,0x54,0x1E,0xD8,0x21,0x10,0x14,0x90, 0x08,0x80,0x06,0xFE,0x01,0x40,0x1F,0x48,0x20,0x50,0x20,0x00,0x20,0x00,0x3C,0x00,0x00,/*"就",25*/0x00,0x00,0x20,0x00,0xB0,0x3F,0xA8,0x0A,0xA6,0x20,0x98,0x3F,0x30,0x00,0x00, 0x00,0xBF,0x1F,0x48,0x24,0x48,0x24,0x44,0x22,0x70,0x22,0x00,0x20,0x00,0x1C,0x00,0x00,/*"能",26*/0x00,0x02,0x10,0x02,0x20,0x01,0x80,0x00,0xFE,0x3F,0x00,0x00,0x10,0x01,0x48, 0x03,0x54,0x05,0x27,0x21,0xD4,0x7F,0x8C,0x00,0x84,0x00,0x80,0x00,0x80,0x00,0x00,0x00,/*"将",27*/0x00,0x08,0x00,0x08,0x80,0x04,0x90,0x14,0xF0,0x3F,0x48,0x02,0x40,0x09,0x7F, 0x08,0xC0,0x05,0x20,0x06,0x24,0x09,0xA8,0x10,0x00,0x20,0x00,0x78,0x00,0x00,0x00,0x00,/*"我",28*/0x00,0x00,0xC0,0x07,0x60,0x19,0x50,0x09,0x2C,0x08,0xE0,0x1F,0x80,0x00,0x40, 0x00,0xA0,0x00,0x38,0x03,0x26,0x10,0x10,0x20,0xF0,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,/*"的",29*/0x00,0x00,0x00,0x0E,0x0C,0x00,0xF4,0x02,0x84,0x04,0x94,0x08,0x7C,0x10,0x4A, 0x12,0x4A,0x24,0x62,0x20,0x1E,0x24,0x00,0x29,0x00,0x31,0x00,0x02,0x00,0x00,0x00,0x00,/*"思",30*/0x80,0x00,0x40,0x10,0x20,0x0C,0x10,0x00,0x88,0x0C,0x94,0x10,0x63,0x26,0x44, 0x29,0xC8,0x40,0x10,0x48,0x20,0x32,0x60,0x22,0x40,0x04,0x40,0x00,0x40,0x00,0x00,0x00,/*"念",31*/0x00,0x00,0x00,0x04,0x00,0x04,0x00,0x04,0xE0,0x04,0x9F,0x04,0x90,0x02,0x90, 0x02,0x48,0x02,0x48,0x12,0x48,0x20,0x48,0x1C,0xC0,0x03,0x00,0x00,0x00,0x00,0x00,0x00,/*"与",32*/0x40,0x08,0x40,0x04,0x40,0x02,0x22,0x3F,0xE4,0x00,0x00,0x11,0x00,0x08,0x38, 0x04,0x48,0x03,0x48,0x00,0xC4,0x0F,0x24,0x10,0x1C,0x10,0x00,0x10,0x00,0x0E,0x00,0x00,/*"祝",33*/0x20,0x04,0x20,0x02,0x20,0x01,0x92,0x3F,0x74,0x01,0x00,0x00,0x00,0x0F,0x74, 0x11,0x54,0x15,0x4A,0x1F,0xAA,0x12,0xBA,0x12,0x80,0x30,0x80,0x0F,0x00,0x00,0x00,0x00,/*"福",34*/0x80,0x00,0x40,0x00,0x20,0x00,0xF8,0x3F,0x06,0x00,0x80,0x00,0x90,0x00,0x90, 0x06,0xF0,0x15,0x5E,0x12,0x48,0x2A,0x48,0x06,0x40,0x00,0x40,0x00,0x00,0x00,0x00,0x00,/*"传",35*/0x80,0x08,0x80,0x08,0x44,0x0B,0xC8,0x0C,0x00,0x08,0x00,0x08,0xA4,0x14,0xA8, 0x12,0xE0,0x11,0x58,0x10,0x54,0x31,0x52,0x36,0x00,0x30,0x00,0x10,0x00,0x10,0x00,0x00,/*"送",36*/0x00,0x08,0x20,0x09,0xB8,0x09,0x66,0x05,0xA0,0x04,0x10,0x01,0xC0,0x1C,0x30, 0x25,0x0E,0x25,0x90,0x12,0xA0,0x12,0x40,0x0E,0xC0,0x00,0x80,0x00,0x80,0x00,0x00,0x00,/*"给",37*/0x00,0x01,0x80,0x00,0x40,0x00,0xF0,0x3F,0x0E,0x00,0x00,0x08,0x40,0x06,0x30, 0x10,0x2E,0x20,0xA0,0x3F,0x10,0x00,0x50,0x02,0x30,0x04,0x00,0x0C,0x00,0x00,0x00,0x00,/*"你",38*/0x00,0x00,0x00,0x00,0x00,0x00,0xFC,0x19,0xFC,0x19,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",39*/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,};void main(){ uint8 i ,speed;uint16 k ;do{ for( k = 0 ; k <1312 ;k += 2 ){for( speed = 0 ; speed <40 ; speed++){for(i=0 ;i <16 ; i++){P0 =zimo1[2*i + k ] ;P2 =zimo1[2*i+1+ k] ;ROW_SCAN(i) ;io_74hc154_en = 0 ;v_DelayX10us_f(45);io_74hc154_en = 1 ;}}}} while(1);}其中delay,c和delay.h文件的内容如下:#include<jchbasic.h>//此模块的宏定义(常数等)#define U16_X10MS_C 1250#define DELAY1US_M _nop_()//此模块必要的库函数包含(include)#include<intrins.h>//全局变量(静态或一般)的定义(此程序无)//以下为函数定义//********10mS延时,T=x*10mS****************void v_DelayX10ms_f(uint8 x){uint16 y;for(;x>0;x--)for(y=U16_X10MS_C;y>0;y--);}//**********10uS延时,T=x*10uS*********************void v_DelayX10us_f(uint8 x)//12MHZ(12时钟时)为15us 2006/07/26wuyiwen change{DELAY1US_M;DELAY1US_M;DELAY1US_M;while(--x); //{ --x;}}下面是delay.h的内容:#ifndef _DELAY_H_#define _DELAY_H_/*************************************************************/extern void v_DelayX10ms_f(uint8 x) ;/*************************************************************/extern void v_DelayX10us_f(uint8 x) ;#endif。

基于89S52的16-16LED点阵显示系统的设计

基于89S52的16-16LED点阵显示系统的设计

基于89S52 LED点阵显示系统的设计1硬件接口电路的实现方案单片机和CPLD已经成为大学生和工程技术人员必备的专业知识,怎样才能有效的把单片机和CPLD在实际中使用起来?MCU51/Altera下载开发实验仪主要特色是集成了具有ISP功能的CPLD和Flash单片机,同时可以完成单片机和CPLD的实验,也可以从中学会怎样去把单片机和CPLD联合起来形成一个应用系统。

基于这个特点,整个电路的设计就是围绕单片机89S52和CPLD来进行的。

单片机和CPLD联合起来形成一个应用系统,CPLD里集成了一片74LS373暂存器,两片74LS245数据总线转换器,一片74LS154译码器,这样使电路结构简单。

电路板上集成了丰富的资源,可构成多个大型应用系统。

1.1 89S52单片机结构介绍兼容MCS51微控制器,89S52单片机,8K字节FLASH存贮器支持在系统编程ISP 1000次擦写周期,256字节片内RAM,工作电压4.0V到5.5V,全静态时钟0 Hz 到33 MHz,三级程序加密,32个可编程IO口,2/3个16位定时/计数器,6/8个中断源,全双工UART,低功耗支持Idle和Power-down模式,Power-down模式支持中断唤醒, 看门狗定时器,双数据指针,上电复位标志。

1.1.1 单片机芯片的硬件结构MCS-51系列的各种单片机由于其生产厂商和型号的不同,在片内存储器容量、中断系统、外围功能模块、最高时钟频率以及处理器速度等方面有很大的不同,但其硬件系统的基本结构相同,均包括算数逻辑单元ALL、片内RAM、I/O端口、定时系统、中断系统等基本的功能单元。

其内部硬件结构,包括运算电路结构、控制电路结构和存储器结构等,它们是集成在一个芯片上的单片机硬件资源,构成了一个简单的计算机系统。

1.1.2 单片机系统结构单片机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。

基于52单片机控制LCD汉字滚动显示

基于52单片机控制LCD汉字滚动显示

基于52单片机控制LCD汉字滚动显示.doc基于单片机汉字化LCD滚动显示的设计毕业论文系部:学生姓名:专业班级:学号:指导教师:2012年 10 月 05 日声明本人所呈交的基于单片机汉字化LCD滚动显示的设计是我在指导教师的指导和查阅相关著作下独立进行分析研究所取得的成果。

除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写过的研究成果。

对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。

作者签名:日期:2012年10月05日基于单片机汉字化LCD滚动显示的设计摘要电子技术的日新月异,使我们的生活更加方便、快捷。

任何一个领域,技术总是在不停地向前发展。

而随着技术的发展,新的产品应用也会跟着出现,然后成熟和普及。

正如在显示器领域,由球面CRT到纯平CRT,由纯平CRT到如今主流的LCD液晶显示,而LCD汉字滚动显示更是应用广泛。

本文设计了一种以AT89C51单片机为核心的低成本、高精度、微型化LCD汉字滚动显示系统,并使用一些常用芯片如:AMPIRE128×64、SMG12864A 等。

系统由单片机、外围电路、单片机最小系统以及显示电路构成。

本系统具有易安装检测、软件功能完善,工作可靠、准确度高等优点。

本文论述了由单片机控制的LCD汉字滚动显示系统的基本原理,并阐述了运用Proteus软件实现系统的设计与仿真以及该系统所应用的领域。

关键词:单片机,LCD,Proteus.ABSTRACTRapid development of electronic technology, make our life more convenient and quick. Any field, technology is constantly forward development. But with the development of technology, new product application will also follow appear, then the mature and popularity. As in the display field, by spherical CRT to flat-screen by flat-screen CRT CRT to now mainstream LCD display, and LCD characters displayed is wide application. This paper introduces a design of AT89C51 with low cost, high precision, miniaturization LCD display system, and Chinese scroll use some common chips such as: AMPIRE128 x 64, SMG12864A etc. System consists of SCM, peripheral circuit, single chip minimize system and display circuit constitutes. This system is easy to install detection, software function perfect, reliable operation, high accuracy advantages.Keywords: Single-chip microcomputer, LCD, Proteus目录一、引言 (5)(一)课题研究背景 (5)(二)课题设计过程及工艺要求 (5)1、基本功能 (5)2、主要技术参数 (5)3、设计的重点与难 (6)二、系统设计框图 (6)三、硬件电路设计 (6)(一)AT89C52单片机概述 (6)1.主要特性 (7)2.引脚功能说明 (7)3.AT89C52单片机的内部结构 (8)4.AT89C52单片机的最小系统 (10)(二)LCD显示屏介绍 (11)1、LCD的定义及作用 (11)2、LCD显示器的工作原理 (11)3、LCD的分类 (12)4、LCD的特点 (13)(三)系统硬件设计电路组成 (13)1、时钟电路的设计 (13)2、复位电路的设计 (14)四、软件程序实现 (14)五、源程序 (15)(一)、子函数的调用: (15)(二)、主函数: (15)(三)、LCD初始化程序: (16)(四)、LCD写命令程序: (17)(五)、写汉字程序: (18)总结 (19)参考文献 (20)致谢 (21)附录 (22)一、引言(一)课题研究背景在现实社会中亮丽实用的广告牌可以给我们的生活添加光彩、可以给店铺招揽生意。

基于AT89S52的16x16点阵LED电子显示屏的设计

基于AT89S52的16x16点阵LED电子显示屏的设计

XXXX学院毕业设计点阵LED电子显示屏的设计——基于AT89S52单片机16X16姓名:XXX学号:XXX班级:07电气1班指导老师:XX摘要:LED点阵显示屏作为一种新兴的显示器件,是由多个独立的LED发光二极管封装而成. LED点阵显示屏可以显示数字或符号, 通常用来显示时间、速度、系统状态等。

文章给出了一种基于MCS-51单片机的16×16 点阵LED显示屏的设计方案。

包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。

在负载范围内, 只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。

关键词: MCS-51 LED 单片机点阵屏一、背景介绍 ............................................................ 41.1 LED及LED显示屏 ................................................ 4二、MCS-51系列单片机及特点.............................................. 4三、设计要求 ............................................................ 5四、方案实现 ............................................................ 54.1 系统硬件电路的设计............................................... 64.1.1单片机系统及外围电路........................................ 64.1.3行驱动器.................................................... 84.2.系统程序的设计................................................... 94.2.1显示驱动程序................................................ 94.2.2系统主程序................................................ 10五、毕业设计的总结与心得 .............................................. 11参考文献 .............................................................. 12LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。

基于单片机的1616点阵滚动显示的设计

基于单片机的1616点阵滚动显示的设计

2.2 16*16点阵组成及显示原理
所谓16*16点阵,就是行列各为16个长度的 点阵,现实中我们可以通过4个8*8点阵进行 拼凑来实现一个16*16的点阵。
如图,16*16点阵由U6,U7,U8,U9四个单点阵 组成,所有的行(X0-X7)都通过排阻接到单 片机的P0口上,所有的列(Y00-Y07、Y10Y17、Y20-Y27、Y30-Y37)接到不同的 74ls138(U2,U3,U4,U5)上,U2控制U6, U3控制U7,U4控制U8,U5控制U9。
2.1 单个点阵显示基本原理
单个点阵接线图:
观察二极管正负极,我们可以很容 易发现,如果赋予P0=0xff; P2=0x00;那么所有的发光二极管 将被点亮,从而点阵就可以实现全 亮。类似的,如果需要实现某一列 或者某一行全亮,也可以进行类似 的赋值。比如,我们要实现第一列 全亮,第一列全亮就要求P20=0;其 他为1,则代码为P0=0xff;P2=0xfe
淮北师范大学2010届学士毕业论文
谢谢!
offset=0; n=0; } }
4.软件仿真结果
4.1 点阵显示字符的PROTEUS仿真结果
图1 点阵显示“欢” 字
图2 点阵显示“迎”字
图3 点阵显示“您”字
图4 点阵显示在两个字之间
结论
本次设计的基于单片机的16*16点阵的滚 动显示经测试仿真结果良好,能清楚的看 到字符的滚动显示,画面比较稳定,流畅。 有时会出现字符显示不完整的现象,我认 为这是程序在时间的控制上做的不够好。 但程序思想还是很正确的,学生可以很容 易就读懂程序,电路也很容易就看明白了。
2.2.1 16*16点阵显示原理
显示原理:这里需要先把代码写入U6,短暂延时后写入 U7,直到U9。时间段控制合理的话,我们就可以看到显 示屏上将显示稳定的字符。所谓滚动显示,即字符是从 屏幕右端慢慢往左边移动,像是一个拉幕的效果,那么 滚动显示在程序上如何实现呢?这里我们就要用到单片 机的定时中断,中断一次,字符往左移动一次,如此循 环,即实现了字符的滚动显示。

基于51单片机的16×16点阵屏流动显示单片机课程设计

基于51单片机的16×16点阵屏流动显示单片机课程设计

输入要输出的字
0x10,0x01,0x10,0x01,0x10,0x01,0x88,0x7F,0x88,0x40,0x4C,0x20,0x2C,0x04,0x0A,0x 04,
0x89,0x14,0x88,0x24,0x48,0x24,0x48,0x44,0x28,0x44,0x08,0x04,0x08,0x05,0x08,0x 02,
HzNum=0; //完全显示完后循环调用
}
}
Delay(2);//控制扫描频率
for( j=0;j<2;j++) //取每个汉字的前2个字节,
{
//汉字个数+1
buff[ j+j]=hztest[HzNum+j][count+count]; //每次移动完一个汉字后,选择下一个
汉字
精品课件
主程序
精品课件
点阵实物图组成
精品课件
3,点阵的原理图简介
1.74HC138芯片简介; 2.74HC595芯片简介; 3.点阵原理图讲解;
精品课件
1. 74HC138芯片
74HC138译码器可接受3位二进制加权地址输入(A0, A1和A2), 并当使能时,提供8个互斥的低有效输出(Y0至Y7)。74HC138特 有3个使能输入端:两个低有效(E1和E2)和一个高有效(E3)。 除非E1和E2置低且E3置高,否则74HC138将保持所有输出为高。 利用这种复合使能特性,仅需4片74HC138芯片和1个反相器,即可 轻松实现并行扩展,组合成为一个1-32(5线到32线)译码器。任 选一个低有效使能输入端作为数据输入,而把其余的使能输入端作 为选通端,则74HC138亦可充当一个8输出多路分配器,未使用的 使能输入端必须保持绑定在各自合适的高有效或低有效状态。

基于STC89C52的16Χ16点阵屏设计毕业设计

基于STC89C52的16Χ16点阵屏设计毕业设计

XXXXXXXXX学院毕业论文摘要伴随着科技的进步,LED点阵显示屏作为一种新兴的显示器件走进我们的视野,它是由多个独立的LED发光二极管封装而成。

通过LED点阵显示屏可以显示数字、符号以及文字,凡是用在广告,指示牌,公告牌上。

本设计利是一种基于STC89C52单片机的16*16点阵显示屏的设计,其中STC89C52单片机负责对整个系统进行总体控制,设计中使用4块8*8单红色点阵屏来组成16*16点阵屏,通过单片机串行输入八位并行输出的74LS595来控制点阵的行和列,通过快速的动态刷新来显示我们需要的内容,已达到动态显示的目的。

关键词:点阵单片机动态扫描AbstractAlong with the progress of science and technology, LED dot matrix display screen as a new display devices into our field of vision, it is composed of multiple independent packaged LED light-emitting diodes. Through the LED dot matrix display screen can display Numbers, symbols and words, usually used in advertising, signage, bulletin board.This design is based on an STC89C52 MCU 16 * 16 dot matrix display screen design, including STC89C52 microcontroller is responsible for overall control, the system used in the design of 4 pieces of 8 * 8 dot matrix screen to form a single red 16 * 16 dot matrix screen, by 74 single chip microcomputer serial input eight parallel output ls595 to control the row and column of the matrix, by using the fast dynamic refresh to display the contents of the we need, has reached the purpose of dynamic display.Keywords: dot matrix single-chip dynamic scan目录摘要 (2)目录 (3)第1章绪论 (4)1.1 课题的研究背景 (4)1.1.1 LED电子显示屏概述 (4)1.1.2 LED电子显示屏的分类 (4)1.1.3 设计任务 (5)1.2 MCS-51系统单片机简介 (5)第2章总体设计 (7)2.1 系统概述 (7)2.1.1 显示单元的选择 (7)2.1.2 滚屏方式选择 (7)2.1.3 关于屏幕的可扩展性 (7)2.1.4 单片机控制器的考虑 (7)2.1.5 关于点阵数据的存储方式 (8)第3章硬件电路设计 (8)3.1 整体设计框图 (8)3.2 主控电路 (9)3.2.1 STC89C52 单片机简介 (9)3.3 LED点阵显示电路 (19)3.3.1 74LS595的总体特点和工作原理 (19)3.4整体电路 (20)第4章软件实现 (21)4.1 概述 (21)4.2系统轨范方案设计 (21)4.2.1主轨范设计 (22)4.2.3延时函数 (23)4.2.4行选列选控制 (23)参考文献 (25)附录1:电路原理图 (26)附录2: LED点阵显示源轨范 (27)元件清单 (45)第1章绪论1.1 课题的研究背景本文主要围绕点阵的特点开展的点阵设计,设计中的难度诸多如限流电阻的计算,扫描时间的控制等,下面我们就介绍下点阵的概况。

基于AT89C51单片机16×16 LED汉字滚动显示屏的设计

基于AT89C51单片机16×16 LED汉字滚动显示屏的设计

基于AT89C51 单片机16×16 LED 汉字滚动显示屏的设计O 引言LED 显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。

它具有发光率高、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点。

并广泛的用于公交汽车、商店、体育场馆、车站、学校、银行、高速公路等公共场所的信息发布和广告宣传。

LED 显示屏发展较快,本文讲述了基于AT89C51 单片机16 乘以16LED 汉字点阵滚动显示的基本原理、硬件组成与设计、程序编写与调试、Proteus 软件仿真等基本环节和相关技术。

1 硬件电路组成及工作原理本产品采用以AT89C51 单片机为核心芯片的电路来实现,主要由AT89C51 芯片、时钟电路、复位电路、列扫描驱动电路(74HCl54)、16 乘以16LED 点阵5 部分组成,如我们把行列总线接在单片机的I/0 口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。

但是若将LED 点阵的行列端口全部直接接入89S5 1 单片机,则需要使用32 条I/0 口,这样会造成I/0 口资源的耗尽,系统也再无扩充的余地。

因此,我们在实际应用中只是将LED 点阵的16 条行线直接接在P0 口和P2 口,至于列选扫描信号则是由416 线译码器74HCl54 来选择控制,这样一来列选控制只使用了单片机的4 个I/O 口,节约了很多I/O口资源,为单片机系统扩充使用功能提供了条件。

考虑到P0 口必需设置上拉电阻,我们采用4.7 k&Omega;排电阻作为上拉电阻。

汉字扫描显示的基本过程是这样的:通电后由于电阻R,电容c1 的作用,使单片机的RST 复位脚电平先高后低,从而达到复位;之后,在C、C3、X 以及单片机内部时钟电路的作用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国矿业大学信电学院电子技术综合设计姓名:xx 学号: xxxxxxxx专业:电子科学与技术设计题目:基于AT89C52单片机的16×16点阵(滚动显示) 指导教师: xxx2010 年01月目录第一部分摘要 (2)引言(设计简介) (3)第二部分1、系统硬件设计原理 (4)1.1 汉字显示原理1.2 LED点阵显示模块1.3 芯片选择1.4 电源模块1.5 AT89S52单片机最小系统1.6 整体电路2.系统软件设计 (7)2.1 核心程序3.设计仿真结果 (8)4.PCB版图 (9)5.参考资料 (10)附录 (11)基于AT89C52单片机的16×16点阵(滚动显示)摘要本文介绍一种基于AT89C52单片机的16×16点阵(滚动显示)式汉字显示系统。

本文的汉字点阵显示利用单片机电路和点阵显示系统,实现了汉字的滚动显示。

本系统以AT89S52单片机为核心,由 LED点阵显示,电源等功能模块组成。

关键词 89S52 LED 点阵引言(设计简介)LED显示屏是一种迅速发展起来的新型信息显示媒体。

随着我国经济的不断发展, 汉字显示屏已被广泛应用于车站、宾馆、银行、医院等公共场合。

LED 点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体的大型显示屏系统。

它以其色彩鲜艳,动态围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择。

同时也可广泛应用到军事、车站、宾馆、体育、新闻、金融、证券、广告以及交通运输等许多行业。

本系统即实现了一种基于LED点阵的汉字显示技术。

1、硬件设计原理1.1 汉字显示的原理:每一个字由16行16列的点阵组成显示。

即国标汉字库中的每一个字均由256点阵来表示。

我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素围的任何图形。

用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。

软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。

我们把行列总线接在单片机的IO口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。

在这个例子里,由于一共用到16行,16列,如果将其全部接入89c52单片机,一共使用32条IO口,这样造成了IO资源的耗尽,系统也再无扩充的余地。

实际应用中我们使用3-8译码器74ls138来完成列方向的显示。

而行方向16条线则接在p0口。

动态扫描显示如图:左边为138译码扫描,右面为p0口直接控制。

1.2 点阵显示部分:显示部分是本次设计最核心的部分,对于LED16*16点阵显示有以下两种方案:方案一:静态显示,将一帧图像中的每一个二极管的状态分别用0 和1 表示,若为0 ,则表示LED 无电流,即暗状态;若为1 则表示二极管被点亮。

若给每一个发光二极管一个驱动电路,一幅画面输入以后,所有LED的状态保持到下一幅画。

对于静态显示方式方式,所需的译码驱动装置很多,引线多而复杂,成本高,且可靠性也较低。

方案二:动态显示,对一幅画面进行分割,对组成画面的各部分分别显示,是动态显示方式。

动态显示方式方式,可以避免静态显示的问题。

但设计上如果处理不当,易造成亮度低,闪烁问题。

因此合理的设计既应保证驱动电路易实现,又要保证图像稳定,无闪烁。

动态显示采用多路复用技术的动态扫描显示方式,复用的程度不是无限增加的,因为利用动态扫描显示使我们看到一幅稳定画面的实质是利用了人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素。

我们通过实验发现,当扫描刷新频率(发光二极管的停闪频率) 为50Hz,发光二极管导通时间≥1m s 时,显示亮度较好,无闪烁感。

鉴于上述原因,我们采用方案二。

显示连接如图:1.3 芯片的选择:本系统选用AT89S52,74LS138,以及4个8*8点阵。

1.4 电源模块方案一:采用干电池作为LED点阵系统的电源,由于点阵系统耗电量较大,使用干电池需经常换电池,不符合节约型社会的要求。

点阵系统要悬挂在墙上,电池总量大,使用会有较大安全隐患。

方案二:采用200W/5V直流稳压电源作为系统电源,不仅功率上可以满足系统需要,不需要更换电源,并且比较轻便,使用更加安全可靠。

基于以上分析,我们决定采用方案二。

200W/5V的直流稳压电源更加安全电路图如图:1.5 AT89S52单片机最小系统:最小系统包括晶体振荡电路、复位开关和电源部分。

图为AT89S51(AT89S52相同)单片机的最小系统。

1.6 整体电路:2、系统软件设计2.1核心程序:基于动态扫描的思想设计。

while (1){for (i=0;i<8;i++) //显示左半边屏幕{P0=*(p+offset+2*i);P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6delay();P0=*(p+offset+2*i+1);P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7delay();}for (i=8;i<16;i++) //显示右半边屏幕{P0=*(p+offset+2*i);P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay();P0=*(p+offset+2*i+1);P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay();}}3.设计仿真结果由程序设计编写的“欢迎您!”,仿真结果如图:4.PCB版图(只完成到布局,布线电脑出现了问题,未完成。

)5、参考资料[1] 胡汉才《单片机原理及其接口技术》清华大学.1996年[2] 国清《数字电子技术基础》中国矿业大学. 2003年[3] 康华光《电子技术基础(第四版)》高等教育,1998 年[4] 黄惠媛《单片机原理与接口技术》海洋[5] 周平伍云辉《单片机应用技术》电子科技大学[6] 维成加国《单片机原理与应用及C51程序设计》清华大学附录#include <reg52.h>#define int8 unsigned char#define int16 unsigned int#define int32 unsigned longint8 flag;int8 n;int8 code table[][32]={{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/* " " */{0x04,0x28,0x08,0x24,0x32,0x22,0xC2,0x21,0xC2,0x26,0x34,0x38,0x04,0x04,0x08,0x18,0x 30,0xF0,0xC0,0x17,0x60,0x10,0x18,0x10,0x0C,0x14,0x06,0x18,0x04,0x10,0x00,0x00},/*"欢",0*/{0x02,0x02,0x04,0x82,0xF8,0x73,0x04,0x20,0x02,0x00,0xE2,0x3F,0x42,0x20,0x82,0x40,0x 02,0x40,0xFA,0x3F,0x02,0x20,0x42,0x20,0x22,0x20,0xC2,0x3F,0x02,0x00,0x00,0x00},/*"迎",1*/{0x00,0x01,0x04,0x02,0x1C,0x0C,0xC0,0x3F,0x1C,0xC0,0x02,0x09,0x02,0x16,0x92,0x60,0x4A,0x20,0x82,0x2F,0x02,0x20,0x0E,0x24,0x00,0x22,0x90,0x31,0x0C,0x20,0x00,0x00},/*"您",2*/{0x00,0x00,0x00,0x00,0x00,0x00,0xFA,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"!",3*/{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x 00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}/* " " */};void delay(void);int16 offset;void main(void){int8 i;int8 *p;flag=0x10;n=0;TMOD=0x01;TH0=0xb1;TL0=0xe0;ET0=1;EA=1;TR0=1;p=&table[0][0];while (1){for (i=0;i<8;i++) //显示左半边屏幕{P0=*(p+offset+2*i);P2=i|0x08; //P2.4=0,P2.3=1 选中U2, 输出扫描码给U6delay();P0=*(p+offset+2*i+1);P2=i|0x10; //P2.4=1,P2.3=0 选中U3, 输出扫描码给U7delay();}for (i=8;i<16;i++) //显示右半边屏幕{P0=*(p+offset+2*i);P2=(i-8)|0x20; //P2.5=1 P2.4=0, P2.3=0 选中U4,输出扫描码U8 delay();P0=*(p+offset+2*i+1);P2=(i-8)|0x40; //P2.6=1 P2.5=0, P2.4=0 选中U5,输出扫描码U9 delay();}}}void delay(void){int16 i;for (i=0;i<50;i++);}void timer0() interrupt 1 using 3{TF0=0;TH0=0xb1;TL0=0xe0;if (n<10){n++;}else{offset+=2;if (offset>1100) offset=0; n=0;}}。

相关文档
最新文档