基于单片机的系统设计.docx

上传人:b****4 文档编号:27048824 上传时间:2023-06-26 格式:DOCX 页数:16 大小:28.23KB
下载 相关 举报
基于单片机的系统设计.docx_第1页
第1页 / 共16页
基于单片机的系统设计.docx_第2页
第2页 / 共16页
基于单片机的系统设计.docx_第3页
第3页 / 共16页
基于单片机的系统设计.docx_第4页
第4页 / 共16页
基于单片机的系统设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

基于单片机的系统设计.docx

《基于单片机的系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的系统设计.docx(16页珍藏版)》请在冰豆网上搜索。

基于单片机的系统设计.docx

基于单片机的系统设计

基于单片机的系统设计

基于单片机的系统设计基于单片机的16×64点阵字符控制系统的设计16*64点阵显示屏,可以各种显示,时间,温度等功能。

给你一个参考:

LED点阵汉字显示屏概述这次比赛制作由于时间紧,同时为了降低制作难度,仅作了四个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。

设计制作主要运用于学校的宣传栏,如:

本科评估的各种信息,学校学院重要通知,天气预报等各种信息。

系统设计一硬件电路

(1)系统组成:

主要硬件电路:

LED点阵条屏是由16个8*8的LED点阵块组成,形成16*64矩形点阵,以AT89S51为控制核心。

显示屏的其他主要硬件有:

①带锁存输出的8位移位寄存器74HC595,作为LED的列线驱动输入;②四六译码器74LS154,作为LED行线的译码选择(实际制作中考虑成本问题改为两个74HC138联合);③三极管9012,连接四六译码器的十六个输出端,作为开关使用,驱动LED的行线。

图二AT89S51单片机最小系统AT89S51相关器件连接的接脚如下:

PA0-PA3连接4-16译码器的输入口A,B,C,D;PB0-PB3连接74HC595的输入口SI,SCK,RCK;PD6-PD7作串口通信使用连接RxD,TxD两个三八译码器74LS138组成的16个输出端连接16个9012的三极管的基极B,发射极E连接5V电源,集电极C连接到三个汉字点阵的16个行线控制端。

点阵的48列数据线驱动由6片74HC595级联组成,前一片74HC595的Q’H引脚连接下一片的SI引脚,各片的SCK、RCK、SRCLR、G引脚分别并联。

(2)LED点阵块图三LED点阵块8*8的LED点阵为单色行共阴模块,单点的工作电压为正向(Vf)=1.8v,正向电流(IF)=8-10mA。

静态点亮器件时(64点全亮)总电流为640mA,总电压为1.8v,总功率为1.15W。

动态时取决于扫描频率(1/8或1/16秒),单点瞬间电流可达80-160mA。

16*16点阵静态时16*16*10mA,动态时单点电流80-160mA。

实际测试:

整机电流700mA

(2)移位寄存器74HC595图四74HC595内部逻辑图74HC595是带锁存输出的8位移位寄存器,其管脚见下图,其中SI是串行数据的输入端;VCC、GND分别为电源和地;RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,SCLR是移位寄存器的输入清除,Q’H是串入数据的输出,G是对输入数据的输出使能控制,QA~QH串入数据的并行输出。

从SI口输入的数据在移位寄存器的SCK脚上升沿的作用下输入到74HC595中,在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,当G为低电平时时,数据并行输出。

SCLR为移位寄存器的输入清除端。

(3)74HC138以及驱动电路图五74HC138以及驱动电路实物图4-16线译码器(用两块74HC138组成),其管脚如图所示,A,B,C,D为译码的输入端,值的区间从0000到1111,Y1~Y15是对应A,B,C,D四个输入引脚的输出脚,其中选中的线用输出低电平,没有选中的输出高电平,G1、G2是使能端,只有输入相应D低电平才能使译码器正常工作。

驱动三极管为16个9012,用万能板焊接。

二软件设计单片机方的程序设计单片机在LED点阵汉字显示系统中主要负责数据的接收、存储和扫描显示LED点阵屏三大主要功能。

串行移动的子程序设计这是一个通用子程序,在显示子程序中都要被调用,功能是移位寄存器74HC595接收单片机发出的点阵行数据,逐位移动到对应位置后再进行锁存和输出工作,同时对四六译码器进行开关工作,控制屏幕的显示。

部分程序:

初始化程序:

#include#defineucharunsignedchar#defineuintunsignedint#defineSPEED3ucharcol,disrow;uintword;ucharcodeHZ[];ucharBUFF[6];voidloadoneline(void);voidsendoneline(void);发送部分程序:

voidsendoneline(void){chars;ucharinc;if(col=0+inc;s--){SBUF=two_onebyte(BUFF[s],BUFF[s+1]);while(!

TI);TI=0;}}三调试调试主要分为硬件调试和软件调试:

硬件调试:

在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。

在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。

当然,在设计的过程中也存在着失误和不足。

软件调试:

软件部分是先参考书上的例子,然后自己根据硬件电路写程序,由于以前所学是C语言,所以这个系统在编写程序过程中都采用C语言编写。

刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。

但是,在实际写如S51中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行。

四总结在LED点阵汉字显示屏的设计过程中,学到了很多东西,基本了解了整个嵌入式开发的流程。

例如,在进行整个设计之前,应该先根据需求分析,对单片机进行选型,然后对各个硬件模块进行搭试。

在画PCB电路板的时候,要注意基本的布板原则。

例如,在进行PCB布板的时候,滤波电容不够靠近芯片的电源脚和地脚。

在进行搭试点阵块的时候,因为电压过高,导致点阵块损坏。

这次第一届电子设计制作,本人受益非浅,在以后的电子设计制作过程中一定吸取教训。

参考文献:

[1]何立民.单片机应用技术选编[M].北京:

北京航空航天大学出版社.1998.[2]杜春雷.如何使用VisualBasic6.0dP3~[M].北京:

机械工业出版社,1999.[3]孙育才.新型AT89S51系列单片机及其应用[M].北京:

清华大学出版社.2005.经验小结:

1,在头文件增加“#pragmaSRC(LED.ASM)”语句,可以生成汇编文件,对于理解汇编语言程序是有很大的好处的。

2,在制作PCB板过程中,业余条件下很难做双面板,不地不做的时候考虑如何布线才能达到最优最好。

3,在“http:

//xie-C51软件的安装,按照该软件的安装,可以得到无限量的程序编译。

因为在写程序的过程中发现,KEILC51只能编译2K的程序代码,不够用。

用C编写,感觉很容易理解。

程序编写过程中最好是先参考别人的程序,再修改能不能实用自己的程序要求,之后才自己去编写完全属于自己的程序。

4,单片机仿真软件PROTEUS也是很不错的。

在上面可以仿真很多东西。

设想:

1,可以挂在学校的十字路口,提供日期,时间,温度,湿度等天气信息,服务广大同学。

2,可以和电脑相连接,实现同步显示。

做一个完整的系统。

进一步学习下面的软件或者语言(知识):

BVprotel99sekeilc51proteusc/c++easyisp51Easy51Pro.exe2007-5-25下面为静止显示“农林大学”四个字的程序:

#include#defineucharunsignedchar#defineuintunsignedintuchardisrow;ucharcodeHZ[];ucharBUFF[9];voidloadonelineandsend(void);/********************************************//*******************************************************/voidmain(void){while

(1){for(disrow=0;disrow换一张窗体底端登录并发表取消正在发表回答,请稍候……您输入的内容将会在您成功登录之后自动发表。

回答bcof942009-11-1818:

10:

36本系统是从实际应用角度出发,针对当前市场上流行的LED产品的应用领域而设计制作的多功能电子显示屏,可用于商场导购促销显示、新闻与广告显示、车站机场班次时间资讯显示等。

本简易16行*64列LED电子显示屏根据题目设计要求,硬件部分主要包括SPCE061A单片机系统、16块8*8LED点阵显示模块构成16*64点阵、显示驱动电路、SPR4096存储器、PCF8563实时时钟电路、键盘输入控制器等部分,还外扩了液晶显示、温度实时检测、无线通讯、电机驱动屏幕旋转等电路,。

本系统不仅能够实现数字、字母、汉字等预存信息的切换显示,同时还可以实现信息的定时循环、上下左右滚屏、LED显示亮度连续可调、实时时间显示、实时温度显示、无线遥控、显示屏旋转等扩展功能。

另外,本系统可以和PC机通讯,通过PC机串口对显示信息进行更新。

关键词:

LED电子显示屏SPCE061A串行通信AbstractTheLEDlatticedisplaysystemisakindofnewinformationdisplaymediawiththerapiddevelopmentofthecomputer,micro-electronics,photoelectrontechnology.This16*64LEDdisplaysystemincludesSPCE061AMCUsystem,sixteen8*8LEDlatticemodules,displaydrivingcircuit,SPR4096memorymodule,PCF8563asthereal-timeclockchip,keyboardcontrolleret.Inaddition,itincludesLCDcircuit,real-timetemperaturedetective,RFcommunicationcircuit.Thissystemcandisplaythenumbers,letters,Chinesecharacters.Itcandisplaytheinformationtimelyandcircularly,up-rollingly,downrollinglyleft-rollingly,right-rollingly.Thelightnessofthedisplayinginformationcanbeadjustedcontinuously.Furthermore,thissystemcanberemotecontrolledandcommunicatewithPCbyCOM1toupdatethedisplayinformation.Keywords:

LEDlatticedisplaysystemSPCE061Aserialcommunication目录一、方案比较41、控制系统42、点阵信息提取方案43、显示驱动电路5二、硬件设计与论证51、主控制单片机62、LED显示驱动电路63、数据存储器84、键盘液晶显示模块95、无线通信模块96、时钟电路的设计107、温度检测108、打印机的选择119、旋转底盘的设计11三、系统的软件设计111、主程序流程图122、点阵字模信息提取程序流程图123、LED各显示程序124、串行通信程序125、PC机客户程序12四、系统功能测试161、测试及制作中所用仪器162、键盘各键功能163、单元模块电路测试164、系统整体功能测试16五、总结17一、方案比较1、控制系统LED点阵电子显示屏的设计一般有两种方案:

方案一:

采用可编程逻辑器件作为核心控制器产生LED点阵的行、列驱动信号。

由于该系统不仅要实现信息的显示,还要具备键盘控制器、显示亮度连续可调、实时时钟显示、与PC机通讯等功能及其他发挥功能,这就要求需要用中大规模的PLD,设计多个接口电路,开发周期长,不易进一步扩展,同时系统的成本会急剧上升(相对于第二种方案)。

因此,本设计并未采用这种方案。

方案二:

采用单片机系统来实现。

鉴于SPCE061A单片机比传统的51系列8位单片机具有更加丰富的资源,而且数据处理速度快,同时“61板除了具备单片机最小系统电路外还包括有电源电路、音频电路(含MIC输入部分和DAC音频输出部分)、复位电路等,体积小,可靠性高。

本系统的设计采用双单片机系统,一个主要用于完成多功能显示控制功能,另一个主要用于实时时钟显示、实时温度检测显示、无线通讯以及其他的扩展发挥部分功能,这样提供了充足的内部空间和更多的外部接口;同时由于安装和调试工作可以并行进行,极大地缩短了总体设计和制造的时间。

2、点阵信息提取方案要用LED点阵来显示数字、字母和汉字等信息,首先要能够提取出其字模数据,即一个16*8的点阵数字、字母的字模数据共有16个字节,一个16*16的点阵汉字的字模数据共有32个字节。

首先要确定点阵信息提取方案。

方案一:

固定汉字显示,就是将要显示的语句中全部汉字的字母数据依次提取出来,按顺序存放在存储器中,当有显示任务时,直接取出字模数据送至显示器即可。

这种方法占用空间少,程序实现简单,显示速度快。

本系统中对10组预存信息的点阵信息的提取和存储就是采用这种方案。

但是,要想显示大量的汉字信息或直接对显示信息进行更新,则几乎是不可能的事。

因此,要实现这样的功能就要采用第二种方案。

方案二:

将标准的点阵信息字模数据的字库文件(本系统中采用汉字库文件HZK16、ASCII码库文件ASC16)装入外扩ROM存储器,采用与PC机相同的编码(机内码),先进行基于PC机的预处理,提取需显示内容的机内码,通过串口发给单片机,单片机首先进行判断,若是ASCII码,则直接计算出起始地址,在ASC16文件中指定位置取出连续的16个字节即为其字模信息;若为汉字,单片机将机内码转换为区码和位码,再计算出起始地址,在HZK16文件中指定位置取出连续的32个字节即为其字模信息,然后送到显示器去显示。

另外,PC机与单片机之间串口通信只是传输机内码,而不是传输字模信息,传输信息量小,不需要复杂的通信协议。

这样既可以减轻单片机的负担,而且可以根据要求随时改变显示内容,非常简单灵活。

3、显示驱动电路常用的显示驱动方式有三种:

方案一:

串行控制驱动,这种方式的好处是单元内的线路连接简单,给印刷电路板的设计带来方便,减少了布线的密度,方便以后的制作与调试,而且相对提高了每个单元的可靠性;方案二:

并行控制驱动,将显示数据通过并行(一般为8位)方式送入驱动电路,这样的好处是:

相对于串行控制而言,数据的刷新速度快,在处理同等数量的数据时,对处理速度要求可以大大降低,从而提高了系统的稳定性,但也正因为“并行”使单元内的数据线路的连接更加复杂,布线后的排错难度大大增加;方案三:

采用专用集成电路(ASIC)直接驱动,由于这种专用集成电路是集行控制、列控制和外围驱动于一体,使系统的稳定性更为可靠,特别适合户外的大型或者超大型显示屏。

因为这种类型的显示屏对图像显示要求高,不仅要保证图像的一致性,而且要保证图像的稳定、高亮。

本次设计的显示屏仅为16行*64列,更适合采用串行控制这种方式,这样做既省去了并行控制驱动在制版过程中十分复杂的布线,又因为没有采用专用集成电路在一定程度上降低了整个系统的成本。

二、硬件设计与论证根据以上的系统方案比较与分析,本设计的系统总体组成框图如图1所示:

图1系统的总体组成框图系统整体由三大部分构成:

以单片机1#为核心的模块一:

包括16*64LED点阵、驱动电路、STR4096存储器、无线数传模块、旋转底盘、光电传感器、音箱、打印机。

实现功能:

主要用来实现点阵的显示,包括特定标语库内容的显示,适时时间显示、适时温度显示,并实现上下左右滚屏等各种花样显示;存储器用来存储汉字和ASCII码的点阵库,并实现掉电不丢失功能;无线模块实现标语库更新和接受设置信息;底盘可实现显示屏的左右转动,摆动幅度可调;在商场导购中,光电传感器用于检测人员进出,可与自动门配合使用,音箱播放“欢迎光临”等语音信息;在广告牌应用中,打印机用于名片打印。

以单片机2#为核心的模块二:

包括4*4键盘、液晶、无线数传模块。

实现功能:

该部分实现遥控器的功能,可以遥控设置显示屏的滚动模式,选择标语库,设置时间,设置摆头幅度;实现标语库的更新。

(键盘使用说明见附录一)以上位PC机为核心的模块三:

包括上位机软件和MAX232。

实现功能:

上位机主要实现标语库的数据更新,上位机软件通过MAX232将更新内容(汉字或者ASCII码的机内码)送到单片机2#,然后无线传输到单片机1#实现数据更新。

以下是各单元电路的具体设计:

1、主控制单片机采用凌阳公司的16位单片机SPCE061A作为主控制器。

由于SPCE061A内置有2K字的SRAM和32K字的内存FLASH,能满足本系统数据处理及LED点阵显示所需数据的存储要求;CPU时钟频率高达49.152MHz,能满足刷新速度要求。

另外,“61板”功能较强、性价比高,具有体积小、集成度高、易扩展、功耗小等优点,简化主控制系统的硬件电路设计,可靠性高,而且凌阳单片机具有C语言风格的汇编语言,有与标准C兼容的C语言,C语言函数可以与汇编函数互相调用,使其开发更加容易,实现整个系统更加简单。

2、LED显示驱动电路本次设计中16行*64列LED电子显示屏的制作以及其显示驱动电路的设计制作都是非常关键的部分。

下面主要介绍一下显示驱动电路的设计。

本LED点阵屏采用动态扫描的方式显示,即逐行扫描,工作时先将一行点阵字模通过列驱动输出,然后运用译码器选中对应行,使该行得以显示,接着再送下一行数据,再选中下一行有效,直到16行全被扫描一遍。

至此,一幅完整的文字信息就显现出来。

然后在反复扫描这16行直至显示新的信息。

采用这种方式的优点是耗电少,成本低,寿命长,但是也存在显示亮度及内容显示稳定的问题。

根据视觉滞留原理,根据视觉滞留原理,每屏的完整的显示时间应控制在20ms之内,即50Hz,人眼看上去才不会觉得闪烁。

由于要扫描16行的点阵,所以每行的时间绝不能超过20ms÷16=1.25ms,同时也不是每行的扫描时间越短越好,因为LED的亮度同电流的大小和维持时间的长短有关。

LED点阵块的单点静态电流一般在10mA左右,由于占空比是1/16,所以单点的动态电流最大可以达到160mA。

在维持时间恒定的情况下,电流越大(不超过额定电流),点阵亮度也越亮,而在电流恒定的情况下,需要一段维持时间来保持亮度。

试验表明当输入LED的电流为15mA时,维持时间至少需要1ms,否则LED呈微亮状态。

由于设计时设置SPCE061A单片机的时钟频率为24MHz,而每次传送移行的字模数据有64位,经计算传输所需的时间小于1ms,这样就能充分利用列驱动74HC595的锁存功能,即在它接收下一行待显示的数据,还没有锁存新数据的这段时间来显示本行的内容,这样就不需要额外加延时来增加显示屏的亮度。

采用这个方法就不要再增加LED的列驱动器件,从而使整个硬件结构更简化,成本降低。

行信号的处理是由四十六译码器CD4514来完成译码,输出为高。

由于显示屏行的组成是多个模块并联而成的,因而行驱动得功率要求比较大,而且我们进行行扫描时需要所选行为低,故加反相驱动器ULN2803来满足要求。

列信号的处理列信号的处理主要由8片8位带锁存的串入并出移位寄存器74HC595来完成。

从单片机IO口串行输出的64位点阵数据随着移位时钟的作用逐位移动到对应位置,在接收到锁存信号后,将数据并行输出至LED的列线,最后在行驱动信号作用下点亮一行LED象素。

显示扫描电路的电路图如图2所示。

图2LED显示扫描驱动电路3、数据存储器设计题目要求能增大到10组预存信息,且显示信息具有掉电保护功能,同时考虑到要把汉字点阵字库文件HZK16(261K字节)和ASCII码点阵字库文件ASC16(4K字节)装入到ROM存储器中,以便根据机内码在字库中寻址,找到对应的字模,提取后再送到点阵显示屏显示。

因为SPCE061单片机的内存Flash只有32K,还要存放程序,因此需外扩数据存储器。

我们选择了凌阳“61板”的配套模组SPR4096。

SPR4096是一个高性能的4M-bit(512K字节)FLASH,分为256个扇区,每个扇区为2K字节。

SPR4096串行接口的工作频率可达5MHz,数据存取速度和存储容量都能够达到我们的要求。

硬件图连接如图3所示:

图3SPR4096硬件连接图4、键盘液晶显示模块为使用键盘作为显示屏控制器,实现多功能显示控制,我们使用智能型键盘显示控制芯片HD7279A作为4*4键盘与单片机之间的接口,其与微处理器仅需4条接口线,采用串行通信方式,占用CPU端口少,同时HD7279得到键盘码后通过中断服务程序把按键信息送给单片机,使单片机可以腾出更多时间质性其他操作。

设计中我们需要用液晶模块显示遥控单片机菜单的各信息。

在本系统中选用了OCM4×8C模块,可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能,既可采用并行接口,又可采用串行接口,连线较为方便。

HD7229、OCM4×8C与单片机连接原理图如图4所示。

5、无线通信模块在本设计中,我们采用了两块61板,1#板主要用于完成控制LED显示屏,2#板主要用于键盘液晶控制、实时时钟、实时温度检测显示、与PC机通讯以及其他的扩展发挥部分功能。

两板之间采用无线通讯进行数据传输。

为满足系统的要求我们选择了SRWF-1型微功率无线数传模块,该模块的特点是:

高抗干扰能力和低误码率、完善的通讯协议、数据实时同步、看门狗实时监控、传输距离远、低功耗及休眠功能高可靠性,体积小、重量轻。

图4键盘显示电路SRWF-1型模块提供2个串口3种接口方式,COM1为TTL电平UART接口,COM2由用户自定义为标准的RS-232/RS-485接口(用户只需拔/插短路器再上电即可改变接口类型)。

SRWF-1提供的两个串口,在使用时注意以下事项:

(1)对于空中接收的数据,SRWF-1通过串口转送给终端设备时,COM1和COM2同时输出,即用户如果在COM1和COM2各连接了1个设备,他们都可同时收到数据;

(2)对于由终端设备送来,准备向空中发射的数据,SRWF-1只能正确接收COM1或COM2其中1个串

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 艺术

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1