ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:268.86KB ,
资源ID:5706284      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5706284.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机硬件实习LED点阵显示.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

单片机硬件实习LED点阵显示.docx

1、单片机硬件实习LED点阵显示目 录1.设计背景 12. 设计要求 22.1 设计内容 22.2 设计目的 23. 模块电路的介绍与分析 23.1 8255可编程芯片介绍 23.1.18255芯片的外部引脚 33.1.2 8255的内部结构 33.1.3 8255方式控制字 43.2 LED点阵及芯片介绍 53.2.1 MD1216C-RG介绍 53.2.2 74LS374芯片介绍 63.2.3 74LS273芯片介绍 74设计步骤 84.1硬件设计 84.1.1 键盘扫描电路 84.1.2 点阵显示扫描电路 94.2软件设计 104.2.1软件设计程序流程图 114.2.2软件设计程序代码及分

2、析 135设计结果 23 5.1设计效果 235.2调试错误及处理情况 236设计心得 24参考文献 251.设计背景点阵LED显示器是把一些LED组合在同一个包装中,常见的规格有5*7,8*8,16*16等几种。通常,若要显示阿拉伯数字、英文字母、特殊符号等,则可采用5*7的点阵即可够用,若要显示中文字,则需要4片8*8的点阵组成16*16的点阵显示器才能显示一个中文字。 LED电子显示屏是由几万-几十万个半导体发光二极管像素点均匀排列组成。用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。 LED是发光二极管英文Li

3、ght Emitting Diode 的简称,是六十年代末发展起来的一种半导体显示器件,七十年代,随着半导体材料合成技术、单晶制造技术和P-N结形成技术的研究进展,发光二极管在发光颜色、亮度等性能得以提高并迅速进入批量化和实用化。进入八十年代后,LED在发光波长范围和性能方面大大提高,并开始形成平板显示产品即LED显示屏。LED电子显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕。它是集微电子技术、光电子技术、计算机技术、信息处理技术于一体的显示系统,是目前国际上极为先进的显示媒体。由于它具有发光效率高、使用寿命长、组态灵活、色彩丰富、工作性能稳定以及对室内室外环境适应能力强等优点

4、而日渐成为显示媒体中的佼佼者。在我国改革开放之后,特别是进入90年代国民经济高速增长,对公众场合发布信息的需求日益强烈,LED显示屏的出现正好适应了这一市场形势,因而在LED显示屏的设计制造技术与应用水平上都得到了迅速的提高,生产也得到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。LED显示屏经历了从单色、双色图文显示屏,到图像显示屏的发展过程。随着信息产业的高速发展,LED显示屏作为信息传播的一种重要手段成为现代信息化社会的一个闪亮标志。近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如银行、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政

5、策、政令,各类市场行情信息的发部和宣传等。目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以用单片机控制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型。汉字显示方式是先根据所需要的汉字提取汉字点阵(如1616点阵),将点阵文件存入ROM,形成新的汉字编码。而在使用时则需要先根据新的汉字编码组成语言,再由MCU根据新编码提取相应的点阵进行汉字显示。具体显示技术和原理将会在正文中得到详细论述。LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。图文显示屏可与计算机同步显示汉字、

6、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。 LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型

7、化、寿命长、耐冲击和性能稳定。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。2. 设计要求 2.1 设计内容利用51单片机和LED点阵显示模块,来设计点阵显示的硬件电路,并编制相应程序,实现中英文字符的显示。编制键盘扫描程序,将键值显示在LED显示器上. 2.2 设计目的(1)了解LED点阵显示的基本原理和实现方法。(2)掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。3. 模块电路的介绍与分析 3.1 8255可编程芯片介绍8255A是目前应用最广的可编程并行接口电路。不可编程并行接口电路的特点是电路简单,使用方便

8、。但是,它们在硬件连接好了之后,功能就很难改变。可编程并行接口电路的特点就在于使用灵活,可以在不改变硬件的情况下通过软件编程来改变芯片的功能。图 3.1 8255引脚图3.1.18255芯片的外部引脚由图2.1可见,8255由以下几个部分组成:数据端口A、B、C(其中,C口被分成C口上半部分和C口下半部分两个部分),A组和B组控制逻辑,数据总线缓冲器和读/写控制逻辑。8255部包含3个8位的输入输出端口A、B和C,通过外部的24根输入输出线与外设交换数据或进行通信联络。端口A和端口B都可以用作一个8位的输入口或8位的输出口,C口既可以作为一个8位的输入口或输出口用,又可作为两个4位的输入输出口

9、(C口上半部分和C口下半部分)使用,还常常用来配合A口和B口工作,分别用来产生A口和B口的输出控制信号和输入A口和B口的端口状态信号。 表 3.1 8255 各引脚功能3.1.2 8255的内部结构图 3.2 8255内部结构 8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种; 方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。 其中A、B、C口的高四位或低四位可分别设置成输入或输出。 方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下

10、的线只有基本的I/O功能,即只工作在方式0. 方式2: 双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线8255A由数据总线缓冲器、读/写控制逻辑电路、A组和B组控制电路以及数据端口A、B和C组成。 数据总线缓冲器是8255A与系统数据总线的接口,CPU输入输出的数据、CPU输出的控制字和外设的状态信息都是通过这个缓冲器传送的。读/写控制逻辑电路把CPU的控制命令或输出数据送至相应的端口,把外设的状态信息或输入数据通过相应的端口送至CPU。数据端

11、口PA和PB都包含一个8位输出锁存器/缓冲器和一个8位输入锁存器,PC口包含一个8位输出锁存器/缓冲器和一个8位输入缓冲器(不锁存输入信号)。在工作方式1或方式2下,PC口分成高4位和低4位两个输入口作为PA和PB的控制信号输出或状态信号输入。、A、A、和决定端口的地址。3.1.3 8255方式控制字 方式控制字方式控制字决定端口A、B和C的工作方式 。图3.3 8255控制字 按位操作控制字端口C的任一位可用这个控制字来置位或复位。图3.4 8255按位操作控制字3.2 LED点阵及芯片介绍 3.2.1 MD1216C-RG介绍 图 3.5 MD1216C-RG分布点阵显示模块的行输入线接至

12、内部LED的阴极端,列输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入为低电平则该LED点亮)。该实验模块使用74L374来控制行输入线的电平值。将74LS374的某输出置0,则对应的LED阴极端被置0。该模块使用74LS273来控制列输入线,并通过9013提供电流驱动。将74LS273的某输出置1,则对应的LED阳极端被置高。每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。 3.2.2 74LS374芯片介绍图 3.6 74LS374引脚图74LS374 的输出端 O0O7 可直接与总线相连。当三态允许控制端 OE 为低电平时,O0O7 为正常逻辑状态,可

13、用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当时钟端 CP 脉冲上升沿的作用下,O 随数据 D 而变由于 CP 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。D0D7 数据输入端OE 三态允许控制端(低电平有效)CP 时钟输入端O0O7 输出端图 3.7 74LS374 内部结构及真值表简要说明:374为具有三态输出的八 D 边沿触发器,共有 54/74S374 和 54/74LS374 两种线路结构型式,其主要电器特性的典型值如下(不同厂家具体值有差别):型号 fm PD54S374/7

14、4S374 100MHz 450mW,54LS374/74LS374 50MHz 135mW 3.2.3 74LS273芯片介绍图 3.8 74LS273 引脚图及真值表1脚是复位CLR,低电平有效,当1脚是低电平时,输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出0,即全部复位;当1脚为高电平时,11(CLK)脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、8、13、14、17、18的电平状态,并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5

15、)、16(Q6)、19(Q7)上.4设计步骤 4.1硬件设计 4.1.1 键盘扫描电路图 4.1 8255键盘扫描原理图CS8255接F228H,则命令字地址为F22BH,PA口地址为F228H,PB口地址为F229H,PC口地址为F22AH。30模块中的短路套都套在8255侧。PB口键盘作为入端口,PC口的PC.0和PC.1为输出口,一共十六个键,分别显示0到9十个数字,ABCDEF六个英文字母。4.1.2 点阵显示扫描电路图 4.2 LED显示模块及行扫描电路图 4.3 列扫描电路图 4.4 地址译码电路图 4.5 系统框图本实验模块使用1块MD1216C-RG(共阳极)组成1616点阵,

16、以满足汉字显示的要求。为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKC1= CSLED,CLKC2= CSLED+1,用于列控制的两片74LS273;CLKR1= CSLED+2,CLKR2= CSLED+3,用于行控制的两片74LS374。LED模块的CSLED接F200H。4.2软件设计4.2.1软件设计程序流程图 图 4.5 主程序流程图主程序主要是对8255进行初始化,8255初始化为PB口输入,PC口低四位和高四位均为输出。初始值为82H。将10000010B写入8255控制字,设置PA、PC口为输出口,PB口为输入口。PB输入的为键盘相应键的键值

17、,PC口所输出的是扫描的是哪一行。然后对点阵显示屏进行清零,队列清零要给列端口送00H,因为列为74LS273控制,接LED灯的阳极端,送入0,LED阳极低电平,LED灯不亮,对行清零,则给行端口送入0FFH,因为74LS374控制行,接LED灯的阴极,送入0FFH则阴极高电平,LED灯不亮。之后进入等待按键的循环程序,一旦有键按下,马上消除抖动在判断,也就是先调用一个延时子程序,再判断传入的PB口数据是不是比0FF小,如果比0FF小,则没有键按下,返回主程序。如果确实有键按下,则进入键盘扫描和功能子程序,传入的数据是8255的PB口的数据。 图 4.6 键盘扫描流程图在子程序中进行对键值的精

18、确判断,也就是通过把PB口传进来的数据送给累加器ACC,立即数00H送给R0,若扫描的是第二行,就把08H送给R0。对累加器进行带进位的右移,并判断进位标志Cy的值,如果值为1,那么R0加1,如果R0为零,则说明找到了被按下的键的标号,也就是R0里面存的数字,就可以跳转到相应的按键功能程序处,把对应要显示字型的表首地址传给DPTR,由于显示子程序要传入的是字型编码表的表首地址,是16位地址,所以要先把DPH和DPL的内容分别送入30H和31H存储起来,随即进入显示子程序。 图 4.7 显示程序流程图显示子程序的传入参数是需要在点阵上显示的字型的表首地址,这时候就可以从30H和31H中得到。显示

19、好后,返回程序,再继续等待按键。 4.2.2软件设计程序代码及分析;FOR eat598;*LED 点阵显示示例程序*C8255 EQU 0F22BH ;8255命令口地址P8255A EQU 0F228H ;8255 PA口地址P8255B EQU 0F229H ;8255 PB口地址P8255C EQU 0F22AH ;8255 PC口地址CSLED EQU 0F200HCSc1 EQU CSLED ;列18 273CSc2 EQU CSLED+1H ;列916 273CSr1 EQU CSLED+2H ;行18 374CSr2 EQU CSLED+3H ;行916 374 ORG 000

20、0H LJMP START ORG 0040HSTART: MOV SP,#60H MOV DPTR,#C8255 MOV A,#82H ;PB口输入,PA,PC口输出 MOVX DPTR,A LCALL CLEANCLEAN: MOV A,#0H ;关闭LED列显示MOV DPTR,#CSc1MOVX DPTR,AMOV DPTR,#CSc2MOVX DPTR,AMOV A,#0FFH ;关闭LED行显示MOV DPTR,#CSr1MOVX DPTR,AMOV DPTR,#CSr2MOVX DPTR,A MOV R2,#50 MOV R3,#5 MOV R0,#0 MOV DPTR,#TAB

21、_KWO MOV 30H,DPH MOV 31H,DPL LOOP: ACALL RD_KB L: DJNZ R2,LL MOV R2,#50 MOV A,31H CLR C ADD A,#32 MOV 31H,A MOV A,30H ADDC A,#0 MOV 30H,A DJNZ R3,LL MOV R3,#5 MOV DPTR,#TAB_KWO MOV 30H,DPH MOV 31H,DPLLL: ACALL DISPLAY SJMP LOOPKB_DIS: LCALL RD_KB ;读键子程序 SJMP KB_DIS ;循环扫描RD_KB: MOV A,#02H ;键盘扫描第一行 MO

22、V DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR CJNE A,#0FFH,KEY_L0 ;判键是否按下,有键转KEY_L0 SJMP KEY_L1 ;无键转第二行 KEY_L0: LCALL DELAY ;延时消抖 MOV DPTR,#P8255B ;读键值 MOVX A,DPTR MOV R1,#00H CJNE A,#0FFH,KEYCAL ;计算键值 KEY_L1: MOV A,#01H ;扫描第二行 MOV DPTR,#P8255C MOVX DPTR,A MOV DPTR,#P8255B MOVX A,DPTR CJNE

23、 A,#0FFH,J_KEY_L1;判键是否按下,有键转J_KEY_L1 LJMP NOKEYJ_KEY_L1: LCALL DELAY ;延时消抖 MOV DPTR,#P8255B ;读键值 MOVX A,DPTR MOV R1,#08H CJNE A,#0FFH,KEYCAL ;计算键值 LJMP NOKEYKEYCAL: ;计算键码 MOV R0,#08HSHIFT: RRC A JNC CALC INC R1 DJNZ R0,SHIFTCALC: CLR C ;换算显示码 MOV A,R1 CJNE A,#01H,K0 K0:JC KEY_0_1 CJNE A,#02H,K1 K1:J

24、C KEY_1_1 CJNE A,#03H,K2 K2:JC KEY_2_1 CJNE A,#04H,K3 K3:JC KEY_3_1 CJNE A,#05H,K4 K4:JC KEY_4_1 CJNE A,#06H,K5 K5:JC KEY_5_1 CJNE A,#07H,K6 K6:JC KEY_6_1 CJNE A,#08H,K7 K7:JC KEY_7_1 CJNE A,#09H,K8 K8:JC KEY_8_1 CJNE A,#0AH,K9 K9:JC KEY_9_1 CJNE A,#0BH,KA KA:JC KEY_A_1 CJNE A,#0CH,KB KB:JC KEY_B_1

25、CJNE A,#0DH,KC KC:JC KEY_C_1 CJNE A,#0EH,KD KD:JC KEY_D_1 CJNE A,#0FH,KE KE:JC KEY_E_1 CJNE A,#10H,KF KF:JC KEY_F_1 LJMP NOKEYKEY_0_1:LJMP KEY_0 ;跳转到相应的功能键KEY_1_1:LJMP KEY_1 KEY_2_1:LJMP KEY_2 KEY_3_1:LJMP KEY_3 KEY_4_1:LJMP KEY_4 KEY_5_1:LJMP KEY_5 KEY_6_1:LJMP KEY_6 KEY_7_1:LJMP KEY_7 KEY_8_1:LJMP

26、 KEY_8 KEY_9_1:LJMP KEY_9 KEY_A_1:LJMP KEY_A KEY_B_1:LJMP KEY_B KEY_C_1:LJMP KEY_C KEY_D_1:LJMP KEY_D KEY_E_1:LJMP KEY_E KEY_F_1:LJMP KEY_F KEY_0: MOV DPTR,#SZ0 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_1: MOV DPTR,#SZ1 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_2: MOV DPTR,#SZ2 MOV 30H,DPH MOV 31H,DPL

27、 LJMP KEYWAIT KEY_3: MOV DPTR,#SZ3 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_4: MOV DPTR,#SZ4 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_5: MOV DPTR,#SZ5 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_6: MOV DPTR,#SZ6 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_7: MOV DPTR,#SZ7 MOV 30H,DPH MOV 31H,DPL LJMP KEYW

28、AIT KEY_8: MOV DPTR,#SZ8 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_9: MOV DPTR,#SZ9 MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_A: MOV DPTR,#SZA MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_B: MOV DPTR,#SZB MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_C: MOV DPTR,#SZC MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_D:

29、 MOV DPTR,#SZD MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_E: MOV DPTR,#SZE MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT KEY_F: MOV DPTR,#SZF MOV 30H,DPH MOV 31H,DPL LJMP KEYWAIT NOKEY: SJMP KEYEXITKEYWAIT: LCALL DISPLAY MOV DPTR,#P8255B ;等待键释放 MOVX A,DPTR CJNE A,#0FFH,KEYWAIT MOV DPTR,#TAB_KWO MOV 30H,DPH MOV

30、 31H,DPLKEYEXIT:LCALL DISPLAY RET DISPLAY: MOV R5,#00H ;设定汉字表格初始值 MOV R4,#01H ;设定列扫描初始值,从第一列开始DISP: MOV A,R5 RL ACC MOV DPH,30H MOV DPL,31H ;此处设定所要显示的字符 MOVC A,A+DPTR CPL ACC ;代码取反,决定显示的阴阳 MOV DPTR,#CSR1 MOVX DPTR,A MOV A,R5 RL ACC INC ACC MOV DPH, 30H ;此处设定所要显示的字符 MOV DPL,31H MOVC A,A+DPTR CPL ACC MOV DPTR,#CSr2

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

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