单片机原理与接口技术课程设计报告88点阵显示的设计_第1页
单片机原理与接口技术课程设计报告88点阵显示的设计_第2页
单片机原理与接口技术课程设计报告88点阵显示的设计_第3页
单片机原理与接口技术课程设计报告88点阵显示的设计_第4页
单片机原理与接口技术课程设计报告88点阵显示的设计_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

1、xx 学院单片机原理与接口技术课程设计报告题 目: 8×8点阵显示的设计 班 级: 级电子信息工程 姓 名: 学 号: 指导教师: 日 期:2010年 月 日摘 要随着现代电子技术的迅速发展,各种各样的led显示屏、广告牌样式层出不穷,它们已被广泛地应用于商业市场的各个邻域,如显示器、户外大屏幕、招牌广告、电子公告栏等等,给我印象最深的还有公交车上的车载横向拉幕单行显示屏,它可以实时地显示时间、站点、天气和“东莞因你而文明”等信息。led显示屏因其亮度高、方便维护和应用灵活等优点,给我们的生活带来很大便利,同时它也具有很大的开发价值。本次设计任务是使led点阵实现横向拉幕的数字字符显

2、示,以at89c51单片机为控制器,8×8led点阵为显示器件构成的数字显示系统。在程序中还可以相应地改变显示字符的样式和显示的个数。本设计所介绍的8×8led点阵显示器可以横向自右向左地循环拉幕显示09这十个数字和空字符。在程序中可以相应地改变显示字符的样式和显示的个数。此显示系统也可用于不同的场合显示信息。关键词:8×8 led点阵;at89c51;显示器;拉幕显示目 录(一)设计的任务与要求 4(二)硬件电路设计 4l 芯片介绍 4l 电路原理 6(三)软件设计流程及描述 7(四)设计调试过程 7(五)源程序代码 8(六)收获体会 10(七)参考文献 10一

3、、设计的任务与要求 led显示屏(led panel)介绍:led英文全称就是light emitting diode ,为发光二极管的英文缩写,简称led。它是一种通过控制半导体发光二极管的显示方式,它通常是由很多个红色的发光二极管组成,靠灯的亮灭来显示字符。大规模集成的led显示屏是由led点阵组成,是可以用来显示文字、图形、图像、动画、视频、录像信号等各种信息的显示屏幕,又叫电子显示屏或者飘字屏幕。led显示屏不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点,内容还可以随时更换,且各部分组件都是模块化结构。led之所以受到广泛重视而得到迅速发展,是与它

4、本身所具有的优点分不开的。这些优点概括起来是:亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。led的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展。本次设计采用单片机at89c51驱动8×8点阵led显示屏,轮流显示09的数字。显示方式采用自左向左拉幕式显示。二、硬件电路设计l 芯片介绍1. at89c51单片机:at89c51是一种低电压、高性能cmos 8位微处理器,它自带4k字节闪存可编程可擦除只读存储器(fperomflash programmable and erasable read only

5、memory),俗称单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用atmel高密度非易失存储器制造技术制造,与工业标准的mcs-51指令集和输出管脚相兼容。由于将多功能8位cpu和闪存存储器组合在单个芯片中,atmel的at89c51是一种高效微控制器。at89c系列单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。它的部分引脚功能介绍如下。p0口:p0口为一个8位漏级开路双向i/o口。当p1口的管脚第一次写1时,被定义为高阻输入。p0口能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在fiash编程时,p0 口作为原码输入口,当fiash进行校验时,

6、p0输出原码,此时p0外部必须被拉高。 p1口:p1口是一个内部提供上拉电阻的8位双向i/o口。p1口管脚写入1后,被内部上拉为高,可用作输入,p1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在flash编程和校验时,p1口作为第八位地址接收。 p2口:p2口为一个内部上拉电阻的8位双向i/o口,当p2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,p2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。p2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,p2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据

7、存储器进行读写时,p2口输出其特殊功能寄存器的内容。p2口在flash编程和校验时接收高八位地址信号和控制信号。 p3口:p3口管脚是8个带内部上拉电阻的双向i/o口。当p3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输出,由于外部下拉为低电平,它将输出电流。rst:复位输入。当振荡器复位器件时,要保持rst脚两个机器周期的高电平时间。at89c51单片机的外形及引脚排列说明如后页图示。at89c51单片机的外形及引脚排列如右图。2. 74ls245芯片:74ls245能用来驱动led或者其他的设备,它是8路同相三态双向总线收发器,可双向传输数据。74ls245还具有双向三态功能,

8、既可以输出,也可以输入数据。片选端ce非是低电平有效,数据传输控制口ab/ba非=“0”时,信号由 b 向 a 传输;反之当该口为高电平“1”输入时,信号由 a 向 b 传输;当ce非端口为高电平时,a、b均为高阻态,关断数据传输。当8051单片机的p0口总线负载达到或超过p0最大负载能力时,必须接入74ls245作总线驱动器。引脚说明:aa总线端bb总线端oe非三态允许端 ab/ba非 方向控制端74ls245电路符号和内部结构图: 3. 8×8led点阵8×8led点阵可作为信息输出器件。它是由发光二极管阵列按8排8列的方式排列起来,由x和y引脚输入的电信号对其进行选通

9、,使不同位置的二极管被点亮,相应地显示出文字或图案等信息来。led点阵的元件符号及内部结构图:设计原理:单片机利用外部晶振作为时钟信号输入,rst端口接入上电复位信号使它加电后自动进行复位操作。将要显示的字符码表编入单片机的程序中,由单片机控制时序输出相应的扫描数据和字符数据。行码数据由单片机p0口输出,经一个双向总线收发器控制传输方向后进入led点阵,点亮相应的发光二极管。列码扫描信号由p3口输出后,直接输入led点阵控制8列的扫描,每列选通时间为5ms,看上去就像8列同时显示的效果一样。加上行中相应的led灯被点亮,就能看到显示的字符了。l 电路原理原理框图:双向总线收发器时钟输入行码数据

10、复位信号at89c518×8led点阵列码扫描硬件设计原理图:三、软件设计流程及描述单片机在上电后能自动执行一次复位操作,同时开始接收外部晶振的信号输入。从程序中的列扫描序列中读取列码的地址,并从码字表中反复读取行码的地址,由i/o口输出信号对led点阵进行选通点亮,然后判断拉幕次数,显示出相应的字符来。显示一幕后拉幕次数加1,再送新的幕次和行码地址。程序流程图如下所示。开始初始化端口设定扫描时间拉幕时序清0取列扫描地址取行数据地址数据输出yes幕次数计满?no幕次数加1送新的行码地址四、设计调试过程将电路按原理图连接好之后,把汇编程序编译产生的十六进制文件下载到单片机内。第一次做时

11、是在实验箱上直接连接硬件电路,可是由于没有74ls245双向总线收发器,所以在led点阵和单片机i/o口之间就直接跳线连接了,因此没有将电平上拉,结果在实验箱上的led显示屏无法显示单片机输出的结果,所有的led灯都不亮。看来直接跳线时单片机i/o口输出的信号不足以驱动8乘8点阵工作。由于硬件条件的各种限制,因此本小组考虑改用软件仿真的方法来实现电路的设计与调试。在pc机上运行proteus软件,将电路原理图中的元件找出并相应地连接好线;在keil汇编软件中输入设计的程序,编译通过后生成十六进制文件,并再把该文件下载到虚拟的at89c51单片机内。因为单片机的rst引脚经电容接到了vcc电源上

12、,同时并联接地,所以系统可以上电后自动执行一次复位操作。仿真开始。此时可能会看到led点阵中有字显示的地方(前景)灯是灭的,无字显示的地方(背景)灯是亮的,这种状态叫做“阴文”显示状态。产生这种显示的原因是因为点阵的列码扫描信号线ah与单片机的p3.0p3.7口相应的顺序接反了,把对应的接线顺序倒过来,即可看到正确的“阳文”方式显示出的数字。此显示系统最终实现了将数字从0到9向左拉幕显示的功能。部分显示效果如图。 五、源程序代码r_cnt equ 31h;列码r_nct=31h单元numb equ 32h;行码numb=32h单元tcount equ 33h;拉幕计数值tcount=33h单元

13、org 00h;程序起始地址ljmp start org 0bh;中断入口地址ljmp int_t0org 30h;子程序入口地址start:;主程序开始mov r0, #00h ;每列的行码起始序号置0mov r_cnt, #00h;列:初值00送到31h单元mov numb, #00h;行:初值00送到32h单元mov tcount, #00h;计数单元初值置0mov tmod, #01h;计数定时器选用16位的计数器,工作在方式1mov th0, #(65536-5000)/256;定时5ms。定时器高位初值为236mov tl0, #(65536-5000) mod 256;定时器低位

14、初值为120setb tr0;启动c/t的定时器t0mov ie, #82h;cpu开中断sjmp $;中断等待int_t0:mov th0, #(65536-5000)/256 ;定时5ms,设置定时器t0高位初值为236mov tl0, #(65536-5000)/256; 定时器t0低位初值为120mov dptr, #tab;读列码表首地址,放入dptrmov a, r_cnt;读列码偏移地址,放入a中movc a, a+dptr;基址变址寻址将寻到的列码数据放入a中mov p3,a ;将列码数据送p3口输出mov dptr, #nub;装入显示数据的地址mov a, numb;显示幕

15、次的偏移地址movc a, a+dptr;寻到数据的行码地址mov p0, a ;将该地址值输出inc numb;行码地址加1next1:inc r_cnt ;扫描列码地址加1mov a, r_cnt;把列地址放入a中cjne a, #8, next2;a不等于8,转子程序next2,否则往下执行mov r_cnt, #00h;就把列码置0mov numb, r0;行码地址送存储单元格中next2:inc tcount;拉幕计数序号加1mov a, tcount;将幕次序号送a中cjne a, #40, next4;此序号不等于40转next4,否则往下执行mov tcount, #00h;把

16、拉幕时序归0inc r0;行码起始地址加1cjne r0, #88, next3;行码自加次数不满11字符×8行/字符=88行就转next3mov r0, #00h;不然就把行码置0next3:mov numb, r0;送新的一幕行码起始位给r0next4:reti;中断返回tab:;列码码表db 0feh, 0fdh, 0fbh, 0f7h, 0efh, 0dfh, 0bfh, 7fh;列扫描从右向左nub:;行码码表,字符数据db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h ;nulldb 00h, 00h, 3eh, 41h, 41h, 41h

17、, 3eh, 00h ; 0db 00h, 00h, 00h, 00h, 21h, 7fh, 01h, 00h ; 1db 00h, 00h, 27h, 45h, 45h, 45h, 39h, 00h ; 2db 00h, 00h, 22h, 49h, 49h, 49h, 36h, 00h ; 3db 00h, 00h, 0ch, 14h, 24h, 7fh, 04h, 00h ; 4db 00h, 00h, 72h, 51h, 51h, 51h, 4eh, 00h ; 5db 00h, 00h, 3eh, 49h, 49h, 49h, 26h, 00h ; 6db 00h, 00h, 40h

18、, 40h, 40h, 4fh, 70h, 00h ; 7db 00h, 00h, 36h, 49h, 49h, 49h, 36h, 00h ; 8db 00h, 00h, 32h, 49h, 49h, 49h, 3eh, 00h ; 9db 00h, 00h, 00h, 00h, 00h, 00h, 00h, 00h ;nullend;结束汇编六、收获体会在本项目完成的过程中,我们小组遇到了不少困难,不过基本都能顺利解决。在全程设计制作的过程中学到了很多东西,对汇编语言有了更深刻的了解。有一些问题比较值得注意,比如在作品制作的初期,当时我们还不了解电路中所用芯片的要求与实验箱上的硬件要求是否匹配,后来发现在实验箱上没有所用到的双向总线收发器芯片,导致设计出的电路无法在实验箱上进行硬件仿真测试;在软件平台上连线时,由于不知道8乘8 led显示屏的引脚结构而盲目接线,使显示出的实验结果和预期的不

温馨提示

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

评论

0/150

提交评论