点阵实现汉字显示系统的设计_第1页
点阵实现汉字显示系统的设计_第2页
点阵实现汉字显示系统的设计_第3页
点阵实现汉字显示系统的设计_第4页
点阵实现汉字显示系统的设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录摘要21硬件介绍41.1 at89c51单片机介绍41.2 74hc595 介绍51.3 led点阵介绍61.4双色点阵介绍72理论分析82.1系统功能82.2 led显示方式82.3程序流程图92.4颜色变换103电路与程序设计103.1源程序103.2 proteus 仿真134结果分析134.1仿真结果134.2实验台测试结果145总结(经验教训)15参考文献16摘要led点阵显示屏在银行、车站、医院、街头、公交车等随处可见。led点阵模块以发 光二极管为像素单元,将发光二极管芯阵列组合后封装而成。本设计屮采用的led点阵是 由2个8x8矩阵led模块组成的8x16双色共阴极led点

2、阵,其内部使用74iic595芯片, 使串行输出转换成并行输出,驱动矩阵ledo设计屮使用at89c51和双色共阴极lei)点阵 最终完成点阵显示汉字(包括移动、跳变)的功能。由于点阵为双色点阵,所以该程序实 现了第一个矩阵模块显示红色,而另一模块显示绿色。该设计不仅使用keil软件在实验 台上测试成功,而且还利用p0rteus仿真软件画出了仿真图。关键词:led点阵(矩阵led)、汉字、74iic595、双色abstractled dot matrix display in the bank, railway stations, hospitals, streets, buses, etc.

3、 everywhere. led clot matrix module with led as a pixel unit, the combined light-emitting diode array package from the core. the design of led dot matrix is used in two 8x8 matrix led module consisting of a totdl of 8 x 16 color cathode led clot matrix, and its internal use 74hc595 chip, the serial

4、output into a parallel output, driven matrix led. at89c51 used in the design and color common cathode led dot matrix display chinese characters finally completed (including mobile, transition) function. as for the two-color dot matrix, so the program achieved the first matrix module displays red, wh

5、ile the other module shows green. the design is not only used in the experimentdl stage, keil software tested successfully, but also drawn by porteus simulation software simulation charts.keywords: led dot-matrix (matrix led), chinese characters, 74hc595, color1硬件介绍1. 1 at89c51单片机介绍at89c51是美国atmel公司

6、牛产的低电压,高性能cm0s8位单片机,可提供以下标准 功能:4k字节闪存,128字节内部ram, 32个i/o 口线,两个16位定时/计数器,一个 5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,at89c51 可降至ohz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止cpu的 工作,但允许ram,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存ram 中的内容,但振荡器停止工作并禁止其它所有部件工作肓到下一个硬件复位。p1. 0 1 o 40vccpl. 1 239p0 0/ad0p1. 2 338p0. 1/ad1p1. 3 437p0. 2

7、/ad2p1.4 536p0. 3/ad3p1. 5 g35j p0.4/ad4p1.6 734p0. 5/ad5p1. 7 833p0.6/ad6reset e932p0. 7/ad7rxd/p3. 0 1031j ea/vpptxd/p3.1 1130ale/progiht0/p3.2 1229psenint1/p3. 3 1328p2. 7/ad 15t0/p3.4 1427p2.6/ad14t1/p3. 5 1526p2. 5/ad 13wp3.6 1625p2.4/ad12kd/p3. 7 1724p2. 3/ad 11xtal2 1823p2 2/ad 10xtal1 e1322p

8、2. 1/ad9pdipvss 20 21p2 0/ad8图1 at89c51引脚图引脚功能说明vcc:电源电压gnd:地p0 口: p0 口是一组8位漏极开路型双向i/o 口,即地址/数据总线复位口。作为输出 口用吋,每位能吸收电流的方式驱动8个逻辑门电路,对端口写“1”可作为高阻抗输入 端用。在访问外部数据存储器或程序存储器吋,这组口线分时转换地址(低8位)和数据 总线复用,此吋p0激活内部的上拉电阻。p1 口: p1是一个带有内部上拉电阻的8位双向i/o 口。p1的输出缓冲级可驱动(输入或 输岀)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此 吋可做输入口。

9、因为内部存在上拉电阻,某个引脚被外部信号拉低吋会输出一个电流。p2 口: p2是一个带有内部上拉电阻的8位双向i/o 口,p2的输出缓冲级可驱动(输 入或输出电流)4个ttl逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高 电平,此i寸可作为输入口。因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一 个电流。在访问外部程序存储器获16位地址的外部数据存储器(例如执行movx dptr 指令)吋,p2 口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行movx rt 指令)吋,p2 口线上的内容(也即特殊功能寄存器(sfr)区中r2寄存器的内容),在整 个访问期间不改变。

10、p3 口: p3 口是一-组带有内部上拉电阻的8位双向i/o 口。p3 口输出缓冲级可驱动(输 入或输出)4个ttl逻辑门屯路。对p3 口写入“1”吋,他们被内部上拉电阻拉高并可作 为输入口。此时,被外部拉低的p3 口将用上拉电阻输出电流。rst:复位输入。当振荡器工作时,rst引脚出现两个机器周期以上高电平将使单片机 复位。ale/prog:当访问外部程序存储器或数据存储器时,ale (地址锁存允许)输出脉冲 用于锁存地址的低8位字节。即使不访问外部存储器,ale仍以时钟振荡频率的1/6输岀 固定的正脉冲信号,因此它可对输出时钟信号或用于定时。要注意的是:当访问外部数据 存储器时将跳过一个a

11、le脉冲。闪存编程期时,该引脚还用于输入编程脉冲。psen:程序存储允许输出是外部程序存储器的读选通信号,当at89c51由外部程序存 储器取指令(或数据)时,每个机器周期两个psen有效,即输出两个脉冲。在此期间, 当访问外部数据存储器,这两次有效的psen信号不出现。ea/vpp:外部访问允许。要使cpu仅访问外部程序存储器(地址为0000h-ffffh), ea端必须保持低电平(接地)。需注意的是;如果加密位lb1被编程,复位时内部会锁存 ea端状态。如ea端为高电平(接vcc端),cpu则执行内部程序存储器中的指令。xtal1:振荡器反相放大器及内部时钟发生器的输入端。xtal2 :振

12、荡器反相放大器的输出端。1. 2 74hc595 介绍图2 74hc595引脚图74hc59574hc595是硅结构的cmos器件,兼容低电压ttl电路,遵守jedec标准。74hc595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分 别的时钟。数据在sck的上升沿输入,在rck的上升沿进入的存储寄存器中去。如果两 个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行 移位输入(ds),和一个串行输岀(q7t,和一个异步的低电平复位,存储寄存器有一个 并行8位的,具备三态的总线输岀,当使能0e时(为低电平),存储寄存器的数据输出到 总线。8位吊行

13、输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。符号引 脚如图2描述:qaqh 15,1,7并行数据输出;gnd 8地;q' h 9串行数据输出;mr10主复位(低电平;sck 11移位寄存器时钟输入 rck 12存储寄存器时钟输入 g 13输出有效(低电平) ser 14串行数据输入 vcc 16电源1.3 led点阵介绍8x8单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉 点上。对于点阵型led显示可以采用共阴极或共阳极,木系统采用共阳极,其硬件电路如 图3所示。当行上有一正选通信号时,列选端八位数据为0的发光二极管便导通点亮。这 样只需要将图形或

14、文字的显示编码作为列信号跟对应的行信号进行逐次扫描,就可以逐行 点亮点阵。只要扫描速度大于24hz,由于扫描时间很快,人眼的视觉有暂留效应,就可以 看到显示的是完整的图形或文字。8x8点阵led结构下图4所示。0000ooo0000000000000ooo00oo0oooo0oo0oooooooooooo0oo0oooo0000ooo00 d f 3 a 1 g h oooooooo8x淘阵焊接面弓闕oooooooo25 e 7 cb64图3 8x8点阵外观及引脚图col 12345678rowopinno.1 ®2 -'址匕在新窗口浏览圏片345678三©图4 8

15、x8 led点阵结构1.4双色点阵介绍使用双色共阴极led点阵,其内部结构如图5所示。系统使用74hc595芯片,使串行输岀转换成并行输出,驱动矩阵led。h a72ha63ha54h a8 1g1l26g1l37g1la8g1l59g1l610g1l711g1l812g1 l1 511 h ii hggggg g ggatb8atb7atb6atb5ltr1ltr2ltr3ltr4ltr5ltr6ltr7ltr8hhhrrrrrrrratb1atb2atb3atb4ltr1ltr2ltr3ltr4ltr5ltr6ltr7ltr82423222?2091716j413h-altqth.a3rt

16、ttr1 rl rt rl rl rl rll2l3l4bl6l7l8h a72h a63h a54g2 l15g2 l26g2.l37g2 l48g2 l59g2jl610g2.l711g2 l812h a8 1h_atb8h_atb 1h atb7h atb2h_atb6h.atb3h atb5h atb4g.ltrlr.ltrlg.ltr2r.ltr2g.ltr3r.ltr3g.ltr4r.ltr4g_ltr5r.ltr5g.ltr6r.ltr6gjltr7r.ltr7g ltr8r ltr819r2l2r 18r2l317r2l4r 16r2l5r 15r2l614r2l7| 13r2

17、l824h-a12322h-a3"21h:az"20r2ttdin sclkrclk?013cncmdis ibbm14088bvcc d工9013 cn寸寸<rx二md1s2b bm14088b图5 led点阵内部结构?013on卜 <h二?013-j233$ooo-jjjon3ion工nuoonotc96cl寸96oo ooo oo o cyhh<h卜二c- u h<h p k h9<hmums :xmsh3svcc d卜 卜 oooooooo cyqzo00>_vcc_dvcc d9 一60工龙qzo 00> w glohs

18、hes 凸sha21ha32ha43ha54ha65ha76ha879一ha1 15ooser0102srclk <03srclr0405rclk w06e07vccq7gndu5b74hc595<1 -ji/bvcc da3ooocn cd-2sr io6oo<工i小j -1cn3o<:.e厂7一;oo二:nsr4c'lr-»寸co62寸r-ooooooooooicne 寸 59 卜 r- oooooooo cy§0 00> mm a 乂8ms avcc d9-part u4b 74hc595vcc d -=vcc d 9 一321v

19、ccvcc djt1bc1b o.luf图6双色点阵显示接口电路本实验需要用到实验台上的cpu模块(f3区)、led双色点阵显示模块(b2区)。双 色点阵显示电路原理图参见图6。2理论分析2. 1系统功能该系统实现了汉字显示的功能,由于数字、字母等的显示原理与汉字相同,所以为 了程序的简便木系统只是实现了汉字的显示。汉字的显示效果为:中国、加油分别显示和 中国加油滚动显示两种情况交替往复出现。2. 2 led显示方式下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。使用了两块8x8 的led点阵发光管的模块,组成了一个8x16的led点阵显示屏。在这里仅做了四个汉字 的显示,在实际的使

20、用中可以根据这个原理自行的扩展显示的内容,下面是介绍汉字显示 的原理。led驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮,描驱动以8x16点 阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起, 先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后 熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;. 第8行z后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上), 由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的led,控 制方式较灵活,而且节省单片机的资源。显示数

21、据传输采用串行传输的方法,控制电路可以只用一根信号线,将行列数据一位 一位传往行列驱动器,在硬件方面无疑是十分经济的。led点阵显示模块进行的方法有两种:(1)水平方向(x方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个 p 口输出列码决定哪一列能亮(相当于位码),输出行码(列数据),决定该行上那哪个led 亮(相当于段码)。能亮的列从左到右扫描完16列(相当于位码循环移动16次)即显示 出一个完整的图像。(2)竖直方向(y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个p 口输出决定哪一行能亮(相当于位码),输出列码(行数据,行数据为将列数据的点阵旋 转90度的数据)决定该

22、行上哪些led灯亮(相当于段码)。能亮的行从上向下扫描完8行(相当于位码循环移位8次)即显示一帧完整的图像。本设计应用的是第二种的扫描方法,即竖直方向(y方向)扫描。每一个字由8行8列的点阵形成显示,即每个字均由64个点阵來表示,我们可以把 每一个点理解为一个像素。一般我们使用的8x8的点阵宋体字库,即所谓的8x8,是每 一个汉字在纵横各8点的区域内显示的。事实上这个汉字屏不仅可以显示汉字,也可以显 示在64像素范围内的任何图形。2. 3程序流程图2. 4颜色变换由下图7可知点阵的行和列由5个595芯片驱动,通过列码选通是红色led点亮还是绿色 led点亮。第一个595控制第一个8*8中红色l

23、ed,第二个595控制第一个8*8中绿色led 第三个595控制第二个8*8中红色led,第四个595控制第二个8*8中绿色led,第五个 595控制两个点阵的行。本系统可通过调用不同的送码子程序控制点阵的颜色。0-.58.itf7jh1 4 5p7jmh wf1xjc- p fxmfi"p1mf" riapi>" ir<f-4=if32=5:54f 4fstsssssr00000000*ooao aaoa cooo oooo屮尸m6066666b0000000011gmo3cjiowxjao zm am00000000 mb讣wbb血e阿bb讣恥讣b

24、图7行列控制电路图3电路与程序设计3. 1源程序dinequp2. 0movro, #20hclkequp2. 1movdptr,stabr_clkequp2. 2movedata:;把全部字符复制到20horg0000hmova, r2jmpmainmovca,a+dptrorgooobhmovr0, aljmpints_to ;定时中断incr2org01 oohincromain: movr2,#0djnzrl, movedatamov90h, #00hmovtmod,#01hmovrl,#6di ; 64个字符;定时器0工作方式为1movtlo, #oafh ;置计数初值djnzr4,

25、 l0p3movtho,#3chmovr4, #offh;offffh-3cafh二50000, 50msl0p2: djnzr5, l0p3movr7, #3setbtro;软件计数器,循环5次,即每隔l0p3 :mova, 90h3*50ms二 150ms 移一列cjnea, #30h, l0p4setbetol0p4: jcl0p5;开中断,但未启动定时器clrtrosetbeamov90h, #00hclrr_clk ;高电平显示movr5, #03hmovr3, #01hl0p5: ljmpa0;r3控制行,进行行扫描,高电平有效outdata:movr4, #offhmovr6,#

26、8;r4、r5控制中国、加油分别显示的时间out1:rrcamovr5, #03hmovdin, ca0:movr2, #08hclrclkmovr0, #20hsetbclkmova, 90hnop;90h中存放移动的列数,若为0则中国、nop加油分别显示,,否则移列显示djnzr6, 0ut1cjnea, #00h, loopretcjner5, #02h, lopoints_to:lopo:jnclooppushacc;保存 accmovr0, #40hpushooh;保存r0;实现'加油'的显示push01h;保存r1cjner5, #01h, l0p1push02h;

27、保存r2lop1:jncloopclrtromovr0, #20hdjnzr7, backloop: movrl,#4;计数,次数不到返回mova, r3movr7, #3rra ;行码右移一位转下一行inc90hmovr3, aloop1:movr0, #23hlcalloutdatamovrl,#40hal:mova, r0movr2, #8lcalloutdatalp1:clrc ;将23h的最高位给cyincr0mova, r0djnzrl, alrlcasetbr_clk;显示一行lp2:mova, r1clrr_clk;将40h的最高位左移实现中在油后djnzr2, loop ;下

28、一行rlcamovr1, a;offffh-3cafh二50000, 50mslp3:1ncr1setb tro;将43h的最高位给cy 实现油在加后ret i1ncr1tab:;右绿/右红/左绿/左红;低电平点1ncr1亮;显不中国加油mova, r1db 80h, offh, offh, 0f7hrlca;显示中国movr1, adb obeh, offh, offh, 0f7hlp4:decro;加在国后db 0a2h, offh, offh, 80hdecrodb 0b6h, offh, offh, 0b6hdecrodb 0a2h, offh, offh, 80hmova, r0db

29、 0b2h, offh, offh, 0f7hrlcadb 80h, offh, offh, 0f7hmovr0, adb 80h, offh, offh, 0f7hlp5:1ncro;国在中后incrodb ofbh, offh, offh, odfhincro;控制第1行显示加油mova, r0db ofbh, offh, offh, 80hrlca;控制第2行movr0, adb oaoh, offh, offh, 0d2hincr1;控制第3行incrodb oeah, offh, offh, 0d2hincro;控制第4行incrodb oaoh, offh, offh, 0d2hi

30、ncro;控制第5行djnzr2, lp1db ocah, offh, offh, 0d2hback:pop02h;控制第6行pop01hdb oaoh, offh, offh, ocohpopooh;控制第7行popaccdb offh, offh, offh, 0b7hmovtlo, #oafh;控制第8行movtho, #3chend程序的基本原理:p2. 0 口送行列扫描码显示完一行,行控制码左移,显示第2行。一直到8行显示完,即显示了一屏。重新从18行,反复显示255次(由r4、r5控制),以免字符一闪而过(显示'中国')。接着显示下屏,下一屏的取字寄存器的地址加20

31、h,同第一屏原理一样(显示'加油')。 这样分别两字显示3次后(由r5控制),启动定时器中断,开始滚动显示'中国加油', 滚动显示中,左移48列后(由ram中的90h单元控制),又开始重复分别两字显示。3. 2 proteus 仿真由于proteus元件库中没有双色点阵块,proteus仿真吋由红绿两块点阵块代替双色点阵, proteus仿真时单片机需要加载程序,加载程序为.hex文件。本设计利用keil uvisiond, 在新建ke订项目时选择at89c52单片机作为cpu,将源程序导入,在“options for target" 对话窗口中,选中

32、“output”选项中的“create hex file”,编译链接后就可以生成hex 文件。在proteus isis中,选中at89c51并单击鼠标左键,对at89c51进行设置,设置 单片机时钟频率为12mhz,按照正确的文件路径加载.hex文件。对单片机设置完毕后就可 以开始仿真了。仿真过程中如有硬件问题可在proteus tsts中直接修改,如有软件问题 可在ke订nvision2中直接修改,通过keil与proleus的联合调试就可以得到满意的结 果。利用proteus实现了对点阵式led滚动汉字显示屏的仿真,说明程序和电路图都没有 问题。ooooooooss»s9!i:

33、iiiiiiil|iiii 1 :5m5ssxmmc*ms“*a“;"> 妆总妝z袈:s胃4-手交mj. omji o-文=5=亠可-4三>cjo00000000f r * j,- t7qoqq qqqocooooooo-fll00000000gog66血 oooooooo w图8 proteus仿真电路图4结果分析4. 1仿真结果i' 二、mvc>iww -7>wvg 0 mw 5=- 1wvgq_) o-10 wwh -=6 ww mg q -aowoi- 4wuh6 > 斗 <0财(5-tt"1 1» ui ; t48“ iiiih4i “卜卜111卜i ::卜11111卜11卜卜lllll图9分别两字显示吋的效果oso oo卜卜卜卜卜卜卜i .卄卜卜卜卜h壬t壬flow*纟吨1j.l ;卜卜卜卜|卄卜卜|卜|.aolho.>mw a0w1 二mvowwe&: rova . . aoi/a q mw. . . aow< o aov*q2-r0l/«6 w)ws0w

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论