论文部分内容阅读
[摘 要]设计一种单片机控制的LED显示屏系统,通过AT89C52单片机控制由74HC154和74HC595组成的行列外围电路实现字符、汉字、数字显示,并且使用由DS1302组成的电路进行实时时间控制;通过Proteus软件实现显示屏系统的仿真,在Proteus环境下绘制电路原理图,并与Keil实现连接,通过仿真实现了实时时间显示,汉字静态显示和动态显示,并且按键切换显示内容的显示状态。
[关键词]LED显示屏 单片机 动态扫描 Proteus
中图分类号:TM354.8 文献标识码:A 文章编号:1009-914X(2013)17-577-01
1 引言
随着人们环保意识的提高,LED显示屏作为节能产品得到了更多的关注。对于LED显示屏设计,硬件电路调试是最难的,为解决硬件电路调试、连接过程中信号干扰、虚焊以及元器件损害等一系列问题,可以采用英国Labcenter electronics公司研发的EDA工具软件Proteus,实现整个硬件系统的原理图绘制与系统仿真[1]。基于proteus的仿真可以看到硬件调试的真实的结果,并具有直观、节约成本、效率高等特点。
2 显示屏总体设计
LED显示屏系统由单片机控制电路、LED屏显示电路、外围附加功能电路以及实现控制的程序组成,其中显示电路包括显示屏和实现显示的行列驱动电路,外围功能电路由按键控制电路和实时时钟电路组成。实现的功能有:数字、字符、汉字的静、动态显示,其中动态显示包括整体上下移动以及显示的左右移动,可以由按键控制移动方式,也可以各种状态自动循环显示,并且可以实现实时年、月、日等显示。
3 显示屏的硬件设计
3.1 行驱动电路的设计
LED显示屏系统的核心是控制电路,控制电路由AT89C52单片机、晶振电路和复位电路组成的单片机最小系统,时钟电路,行列显示驱动电路组成。行驱动芯片为74HC154,4- 16译码器,低电平输出。单片机的P2.0~P2.3口连接154译码器的A0~A3输入端,当单片机系统控制它的P2口引脚输出0x00~0x0F时,根据译码器的工作原理输出端由Y0开始至Y15分别输出低电平,依次选中显示屏的第一行至第十六行;单片机的P2.4口接至154译码器(1~16行控制器)的使能端,同时P2.4口通过反相器接至第二片154译码器(17~32行控制器)的使能端,保证了行扫描的扫描方法的实现,当从第一行扫描至第十六行后,P2.4口的输出由0跳变成1,这样第十七行即被选中,实现了LED显示屏下半屏的扫描。
3. 2列驱动电路的设计
单片机的P1.0~P1.2口控制列显示驱动芯片MC74HC595,74HC595是8位串行输入、并行输出/串行输出移位寄存器,595的控制时钟和移位时钟是分开的。每一个汉字由16行16列的点阵组成显示,即国标汉字库中的每一个字均由256点阵来表示 [3],由字模软件生成的点阵的代码是以8位为一组的十六进制数,本设计采用的是行扫描,所以横向取字模代码。利用595来控制列数据的发送,每个汉字的代码在利用595进行控制时先由单片机的P1.0口串行输出8位汉字的第一列至第八列的数据,高位在前低位在后,。单片机的P1.2口输出移位时钟,P1.0口每输入一位数据,P1.2口的电平就由低电平到高电平变化一次,595的移位寄存器的内容由高位向低一位移动一次,当第9位数据送给595的SDI时,595的SDO就将串行输出移位寄存器里的第1位数据给下一片595的第8位,新进来的数据送给第8位。当第1列至第64列的数据准备结束后,P1.1口产生一个上升沿脉冲送给595的LCHCLK引脚,将级联的595芯片并行输出时钟引脚串联在一起同时由P1.1控制,这样当输出时钟到来的时候,每片595的列数据同时输出,此时选中对应的行就可以实现该行的显示,依次循环下去就实现了行扫描,只要整屏的扫描速率高于50次/s人眼看到的就是静态的显示画面。
3. 3 功能电路的设计
本设计在实现以上功能基础之外,还附带设计了按键切换状态和实时时钟显示。P3.0~P3.3接四个按键,分别控制静态显示、上移显示、左移显示、自动循环即从静态、上移到左移三种状态循环显示,功能的实现是对按键扫描,体现在软件程序编写方面。
4 软件设计
软件采用C语言编写,Keil uVision 3开发环境进行编译。程序采用模块化设计,主要包括延时函数、74HC595的功能函数、DS1302的控制函數、数据显示函数和主函数。LED显示屏程序的模块化设计,使得调节功能时,程序只要稍作调整就可以实现功能。图1是主函数的程序框图。
5 Proteus仿真
通过实际仿真,实现了汉字、数字以及字符的显示,并且可以按键切换显示的状态:静态显示,同时显示八个字符或汉字,每个汉字或字符是以16x16的形式编码的;动态显示,三个按键分别控制显示屏内容上移,左移,静态、上移、左移循环显示。实现实时时间显示,仿真电路图及效果图如图7所示。
6结论
该设计详细介绍了LED显示屏各部分电路的组成及控制原理,采用AT89C52单片机作为控制器,由74HC154和74HC595组成行列驱动电路,通过C语言进行模块化编程,在Proteus软件环境中进行系统仿真调试,实现了同时显示8个汉字或字符,显示实时时间,按键控制显示模式,可实现显示内容上移、左移以及静态显示。利用Proteus进行仿真,给设计带来了方便。
参考文献:
[1]叶建波,朱双东,基于Proteus的单片机电路的虚拟仿真[J],电子工程师,2008,11,P23- 24,67.
[2]王猛,陈林,基于Proteus的Led大屏幕的设计与仿真[J],微计算机信息,2008,6- 1,P233- 235.
[3]梁勇,马兴平,单片机实现的LED点阵图文显示系统设计[J],中国科技信息,2009,9,P99- 100.
[4]赵海兰,毛玉良等,实时时钟电路的原理及应用[J],电子元器件应用,2004,6- 1,P20- 23.
[关键词]LED显示屏 单片机 动态扫描 Proteus
中图分类号:TM354.8 文献标识码:A 文章编号:1009-914X(2013)17-577-01
1 引言
随着人们环保意识的提高,LED显示屏作为节能产品得到了更多的关注。对于LED显示屏设计,硬件电路调试是最难的,为解决硬件电路调试、连接过程中信号干扰、虚焊以及元器件损害等一系列问题,可以采用英国Labcenter electronics公司研发的EDA工具软件Proteus,实现整个硬件系统的原理图绘制与系统仿真[1]。基于proteus的仿真可以看到硬件调试的真实的结果,并具有直观、节约成本、效率高等特点。
2 显示屏总体设计
LED显示屏系统由单片机控制电路、LED屏显示电路、外围附加功能电路以及实现控制的程序组成,其中显示电路包括显示屏和实现显示的行列驱动电路,外围功能电路由按键控制电路和实时时钟电路组成。实现的功能有:数字、字符、汉字的静、动态显示,其中动态显示包括整体上下移动以及显示的左右移动,可以由按键控制移动方式,也可以各种状态自动循环显示,并且可以实现实时年、月、日等显示。
3 显示屏的硬件设计
3.1 行驱动电路的设计
LED显示屏系统的核心是控制电路,控制电路由AT89C52单片机、晶振电路和复位电路组成的单片机最小系统,时钟电路,行列显示驱动电路组成。行驱动芯片为74HC154,4- 16译码器,低电平输出。单片机的P2.0~P2.3口连接154译码器的A0~A3输入端,当单片机系统控制它的P2口引脚输出0x00~0x0F时,根据译码器的工作原理输出端由Y0开始至Y15分别输出低电平,依次选中显示屏的第一行至第十六行;单片机的P2.4口接至154译码器(1~16行控制器)的使能端,同时P2.4口通过反相器接至第二片154译码器(17~32行控制器)的使能端,保证了行扫描的扫描方法的实现,当从第一行扫描至第十六行后,P2.4口的输出由0跳变成1,这样第十七行即被选中,实现了LED显示屏下半屏的扫描。
3. 2列驱动电路的设计
单片机的P1.0~P1.2口控制列显示驱动芯片MC74HC595,74HC595是8位串行输入、并行输出/串行输出移位寄存器,595的控制时钟和移位时钟是分开的。每一个汉字由16行16列的点阵组成显示,即国标汉字库中的每一个字均由256点阵来表示 [3],由字模软件生成的点阵的代码是以8位为一组的十六进制数,本设计采用的是行扫描,所以横向取字模代码。利用595来控制列数据的发送,每个汉字的代码在利用595进行控制时先由单片机的P1.0口串行输出8位汉字的第一列至第八列的数据,高位在前低位在后,。单片机的P1.2口输出移位时钟,P1.0口每输入一位数据,P1.2口的电平就由低电平到高电平变化一次,595的移位寄存器的内容由高位向低一位移动一次,当第9位数据送给595的SDI时,595的SDO就将串行输出移位寄存器里的第1位数据给下一片595的第8位,新进来的数据送给第8位。当第1列至第64列的数据准备结束后,P1.1口产生一个上升沿脉冲送给595的LCHCLK引脚,将级联的595芯片并行输出时钟引脚串联在一起同时由P1.1控制,这样当输出时钟到来的时候,每片595的列数据同时输出,此时选中对应的行就可以实现该行的显示,依次循环下去就实现了行扫描,只要整屏的扫描速率高于50次/s人眼看到的就是静态的显示画面。
3. 3 功能电路的设计
本设计在实现以上功能基础之外,还附带设计了按键切换状态和实时时钟显示。P3.0~P3.3接四个按键,分别控制静态显示、上移显示、左移显示、自动循环即从静态、上移到左移三种状态循环显示,功能的实现是对按键扫描,体现在软件程序编写方面。
4 软件设计
软件采用C语言编写,Keil uVision 3开发环境进行编译。程序采用模块化设计,主要包括延时函数、74HC595的功能函数、DS1302的控制函數、数据显示函数和主函数。LED显示屏程序的模块化设计,使得调节功能时,程序只要稍作调整就可以实现功能。图1是主函数的程序框图。
5 Proteus仿真
通过实际仿真,实现了汉字、数字以及字符的显示,并且可以按键切换显示的状态:静态显示,同时显示八个字符或汉字,每个汉字或字符是以16x16的形式编码的;动态显示,三个按键分别控制显示屏内容上移,左移,静态、上移、左移循环显示。实现实时时间显示,仿真电路图及效果图如图7所示。
6结论
该设计详细介绍了LED显示屏各部分电路的组成及控制原理,采用AT89C52单片机作为控制器,由74HC154和74HC595组成行列驱动电路,通过C语言进行模块化编程,在Proteus软件环境中进行系统仿真调试,实现了同时显示8个汉字或字符,显示实时时间,按键控制显示模式,可实现显示内容上移、左移以及静态显示。利用Proteus进行仿真,给设计带来了方便。
参考文献:
[1]叶建波,朱双东,基于Proteus的单片机电路的虚拟仿真[J],电子工程师,2008,11,P23- 24,67.
[2]王猛,陈林,基于Proteus的Led大屏幕的设计与仿真[J],微计算机信息,2008,6- 1,P233- 235.
[3]梁勇,马兴平,单片机实现的LED点阵图文显示系统设计[J],中国科技信息,2009,9,P99- 100.
[4]赵海兰,毛玉良等,实时时钟电路的原理及应用[J],电子元器件应用,2004,6- 1,P20- 23.