设计题目:用单片机控制6位数字显示摘要:单片微型计算机(singlechipmicrocomputer)简称单片机,它是为各类专用控制器而设计的通用或专用微型计算机系统,高密度集成了普通计算机微处理器,一定容量的RAM和ROM以及输入/输出接口,定时器等电路于一块芯片上构成的。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形显示器显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。所以研究LED显示有实用的意义。关键词:单片机、AT89C51、74HC245、驱动电路、LED数码管论文提纲:收集相关资料并仔细研读和思考。对设计方案进行分析,通过相关数学推导和计算,确定相关元器件的参数和型号。硬件电路的设计与调试。整体连调及测试性能。整理资料,编写设计论文。ξ1.1设计目的:1、进一步学习、掌握MCS-51系列单片机指令系统2、掌握单片机循环程序、子程序的设计方法3、掌握单片机与数码管的接口电路及显示程序设计4、了解单片机查表程序的设计方法ξ1.2设计内容:利用单片机控制七段LED数码管显示“654321”6位数字ξ1.3设计的组成:1、(1)晶体振荡器2、复位电路3、数码管数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管4、控制部分ξ1.4设计的工作原理(1):输入/输出口线P0.0-P0.7P0口8位双向口线P1.0-P1.7P1口8位双向口线P2.0-P2.7P2口8位双向口线P3.0-P3.7P3口8位双向口本设计用到的是P0口和P2口(2):地址锁存控制信号ALE在系统扩展时,ALE用于控制把P0口输出地低8位地址送入锁存器锁存起来,以实现低位地址和数据的分时传送。此外由于ALE是以1/6晶振频率的固定频率输出的正脉冲,因此,可作为外部时钟或外部定时脉冲使用。(3):外部程序存储器读选通信号PSEN在外部ROM时PSEN有效(低电平),以实现外部ROM单元的读操作。(4):访问程序存储器控制信号EA当EA信号为低电平时,对ROM的读操作是针对尾部程序存储器的;而当EA信号为高电平时,对ROM的读操作时从内部程序存储器开始,并可延续至外部程序存储器。(5):复位信号RST当输入的复位信号延续2个机器周期以上高电平时即为有效,用于完成单片机的复位操作。(6):外接晶体引线端XTAL1和XTAL2当使用芯片内部时钟时,XTAL1和XTAL2用于外接石英晶体谐振器和微调电容;当使用外部时钟时,用于接入外部时钟脉冲信号(7):地线Vss(8):+5V电源Vcc七段LED数码管是一种常用的数字显示原件,将a、b、c、d、e、f、g七只发光二极管做成条状,按图所示排列而成,除显示数字的七段之外还有一个小数点dp,实为八段显示。通过七段发光段的不同组合,可以显示0~9、A~F灯数字和字符。根据内部发光二极管的连接方式,可分为共阴极型与共阳极型两种。(1)、共阳极连接如图所示,把发光二极管的阴极连在一起构成公共端COM,使用时公共端接地,这样阳极端输入高电平的端就导通点亮,而输入低电平的则不点亮。(2)、共阳极连接如图所示,把二极管的阳极连接在一起构成公共端COM。使用时公共端接+5V。这样阴极端输入低电平的端就导通点亮,而输入高电平的则不点亮。图一单片机动作七段LED数码管显示数字,必须提供段选码。段选码又称字形码,是a~g、dp八个电平的取值组合。例如,采用共阴极连接,若要显示数字7,则a、b、c端接高电平,其余端接低电平。七段发光二极管,再加上一个小数点位,共计八段,因此可将单片机的一个8位并行口与七段LED数码管的八段对应相连(如P0.7~P0.0分别对应着八个笔画段dp、g~a),8位并行口输出不同的段选码,便可驱动数码管的不同段发光了,从而显示不同的数字。用七段LED数码管显示十六进制数的字形码见表1表一字形共阴极代码共阳极代码字形共阴极代码共阳极代码03FHC0HA77H88H106HF9HB7CH83H25BHA4HC39HC6H34FHB0HD5EHA1H466H99HE79H86H56DH92HF71H8EH67D82HP73H8CH707HF8H_40H0BFH87FH80H灭00HFFH96FH90Hξ1.5硬件电路设计方案ξ1.51硬件电路七段LED数码管要正常显示,需用驱动电路来驱动七段LED数码管的各段码,从而显示我们要的数字。根据七段LED数码管驱动方式的不同,可以分为静态式和动态式两类。1、静态显示驱动静态驱动是指每个七段LED数码管的每一个段码都由一个单片机的I/O端口进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O口端口多,如驱动6个七段LED数码管静态显示,则需要6×8=48根I/O端口来驱动,而一个80C51系列单片机可用的I/O端口才32个!实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2、动态显示驱动七段LED数码管动态显示是单片机中应用最为广泛的显示方式之一,动态驱动是将所有七段LED数码管的8个显示笔画a、b、c、d、e、f、g、dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O端口控制,当单片机输出字形码时所有数码管都接收到相同的字形码,但究竟是哪个LED七段数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以只要将需要显示的七段LED数码管的位选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各数码管的COM端,就使各个七段LED数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余晖效应,尽管各位七段LED数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。动态显示能够节省大量的I/O端口,而且功耗更低。图二为单片机控制6为七段LED数码管的动态显示电路图二考虑到所有的段电流居流过位选线,因此位驱动电路的驱动能力应为段驱动能力的8倍。图中74HC245芯片的作用为段驱动,74HC245-1芯片的作用为位驱动。1.5.2使用的几种芯片的介绍:74hc245-74HC245芯片原理说明总线收发器(bustransceiver),典型的CMOS型三态缓冲门电路。由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器。74HC245实物图:74HC24574hc245-引脚定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用。第10脚GND,电源地。第20脚VCC,电源正极。TRUTHTABLE真值表ControlInputs控制输入Operation运行GDIRLLB数据到A总线LHA数据到B总线HX隔开H=高电平L=低电平×=不定AbsoluteMaximumRatings绝对最大额定值SupplyVoltage电源电压(VCC)-0.5to-7.0VDCInputVoltageDIRandGpins(VIN)直流输入电压方向和G引脚(输入电压)-1.5toVCC-1.5VDCInput/OutputVoltage(VIN,VOUT)直流输入/输出电压-0.5toVCC-0.5VClampDiodeCurrent钳位二极管电流(ICD)±20mADCOutputCurrent直流输出电流,每个引脚(输出)±35mADCVCCorGNDCurrent,perpin(ICC)±70mAStorageTemperatureRange储存温度范围(TSTG)-65℃to-150℃PowerDissipation(PD)功耗(Note3)600mWS.O.Packageonly500mWLeadTemperature(TL)(Soldering10seconds)260℃74hc245-74HC245的作用:信号功率放大。第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1﹑﹑﹑﹑﹑﹑A8=B8,A1与B1是一组,如果DIR=“1”G=“0”则A1输入B1输出,其它类同。如果DIR=“0”G=“0”则B1输入A1输出,其它类同。第11~18脚“B”信号输入输出端,功能与“A”端一样,不在描述。第19脚G,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0”时A/B端才被启用,该脚也就是起到开关的作用第10脚GND,电源地。第20脚VCC,电源正极。AT89C51:AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。现在AT89S51/52已经取代了AT89C51/52。主要特性·与MCS-51兼容·4K字节可编程FLASH存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz·三级程序存储器锁定·128×8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路特性概述AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。管脚说明VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为低八位地址接收。P2口:P