单片机点阵显示设计Word下载.docx

上传人:b****6 文档编号:21114473 上传时间:2023-01-27 格式:DOCX 页数:12 大小:122.97KB
下载 相关 举报
单片机点阵显示设计Word下载.docx_第1页
第1页 / 共12页
单片机点阵显示设计Word下载.docx_第2页
第2页 / 共12页
单片机点阵显示设计Word下载.docx_第3页
第3页 / 共12页
单片机点阵显示设计Word下载.docx_第4页
第4页 / 共12页
单片机点阵显示设计Word下载.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

单片机点阵显示设计Word下载.docx

《单片机点阵显示设计Word下载.docx》由会员分享,可在线阅读,更多相关《单片机点阵显示设计Word下载.docx(12页珍藏版)》请在冰豆网上搜索。

单片机点阵显示设计Word下载.docx

在开创嵌入式系统独立发展道路上,Intel公司功不可没。

MCU微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:

不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。

它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。

从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。

在发展MCU方面,最著名的厂家当数Philips公司。

  Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。

因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。

单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;

因此,专用单片机的发展自然形成了Soc化趋势。

随着微电子技术、IC设计、EDA工具的发展,基于SoC的单片机应用系统设计会有较大的发展。

因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。

三、单片机的应用领域

  目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。

导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。

更不用说自动控制领域的机器人、智能仪表、医疗器械了。

因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。

  单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:

1.在智能仪器仪表上的应用

  单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。

采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。

例如精密的测量设备(功率计,示波器,各种分析仪)。

2.在工业控制中的应用

  用单片机可以构成形式多样的控制系统、数据采集系统。

例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。

3.在家用电器中的应用

  可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。

4.在计算机网络和通信领域中的应用

  现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。

5.单片机在汽车设备领域中的应用

  单片机在汽车电子中的应用非常广泛,例如汽车中的发动机控制器,基于CAN总线的汽车发动机智能电子控制器,GPS导航系统,abs防抱死系统,制动系统等等。

  此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。

四、单片机应用的六大部分

1.总线:

  我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?

这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。

器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。

在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。

2.数据、地址、指令:

  将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。

换言之,地址、指令也都是数据。

指令:

由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。

地址:

是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的。

  理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。

3.P0口、P2口和P3的第二功能用法:

  初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。

如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要微处理机执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。

事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。

你完全可以在指令中安排一条SETBP3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常会导致系统的崩溃。

4.程序的执行过程:

  单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:

在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。

5.堆栈:

  堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。

由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOVSP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。

一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的混乱。

不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。

当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。

6.单片机的开发过程:

这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。

在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。

如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。

然后用文本编辑器编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。

运行正确后,就可以写片(将程序固化在EPROM中)。

在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。

五、实验的硬件设计

1.单片机的引脚功能

以8051单片机为例讲解单片机的引脚及相关功能;

  

单片机引脚图

  40个引脚按引脚功能大致可分为4个种类:

电源、时钟、控制和I/O引脚。

  ⒈电源:

  ⑴VCC-芯片电源,接+5V;

  ⑵VSS-接地端;

  注:

用万用表测试单片机引脚电压一般为0v或者5v,这是标准的TTL电平。

但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这是万用表的响应速度没这么快而已,在某一个瞬间单片机引脚电压仍保持在0v或者5v。

  ⒉时钟:

XTAL1、XTAL2-晶体振荡电路反相输入端和输出端。

  ⒊控制线:

控制线共有4根,

  ⑴ALE/PROG:

地址锁存允许/片内EPROM编程脉冲

  ①ALE功能:

用来锁存P0口送出的低8位地址

  ②PROG功能:

片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。

  ⑵PSEN:

外ROM读选通信号。

  ⑶RST/VPD:

复位/备用电源。

  ①RST(Reset)功能:

复位信号输入端。

  ②VPD功能:

在Vcc掉电情况下,接备用电源。

  ⑷EA/Vpp:

内外ROM选择/片内EPROM编程电源。

  ①EA功能:

内外ROM选择端。

  ②Vpp功能:

片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。

  ⒋I/O线

  80C51共有4个8位并行I/O端口:

P0、P1、P2、P3口,共32个引脚。

  P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)

  5.P3口第二功能

  P30RXD串行输入口

  P31TXD串行输出口

  P32INT0外部中断0(低电平有效)

  P33INT1外部中断1(低电平有效)

  P34T0定时计数器0

  P35T1定时计数器1

  P36WR外部数据存储器写选通(低电平有效)

  P37RD外部数据存储器读选通(低电平有效)

2.基于单片机的LED点阵显示

.显示要求:

利用单片机在8×

8LED点阵显示汉字“王”

点阵LED显示器是将许多LED类似矩阵一样排列在一起组成的显示器件。

当单片机输出的控制信号,使得点阵中的LED有些发光,有些不发光,即可显示出特定的信息,包括汉字、图形等。

由微机控制点阵LED大屏幕广告宣传牌随处可见。

本课程设计要有一个共阳极8×

8的点阵LED显示器,其点阵结构如图所示。

该点阵对外引出8条行线,8条列线。

若使某一个LED发光,只要将与其LED连接的行线加高电平,列线加低电平;

若使某一列LED发光,只要将8根线

全加高电平,此列线加低电平;

若使某一列LED部分发光,只要将需发光的行线加高电平,此列线加低电平。

本设计的点阵LED及驱动电路如下一页图所示(与单片机之间由实验者自连)。

单片机P2口(实验时可自定)输出的数据通过行驱动器(7407)加至点阵的8条行线上,单片机P1口(实验时可自定)输

出的数据通过列驱动器(ULN2003A)反相后加至点阵的8条列线上。

若要使该点阵显示某一信息,

只要通过P2口、P1口输出特定的数据,控制点阵LED逐行或逐列循环发光即可。

例如欲显示汉字“王”,采用逐列循环发光。

首先由“王”点阵轮廓。

确定点阵代码。

根据“卫”的点阵代码,确定逐列循环发光的时序如下:

①P2口输出02H;

P1口输出00H;

第7列的0个LED发光。

②P2口输出82H;

P1口输出40H;

第6列的3个LED发光。

③P2口输出82H;

P1口输出20H;

第5列的3个LED发光。

④P2口输出0FEH;

P1口输出10H;

第4列的5个LED发光。

⑤P2口输出82H;

P1口输出08H;

第3列的3个LED发光。

⑥P2口输出92H;

P1口输出04H;

第2列的3个LED发光。

⑦P2口输出0FAH;

P1口输出02H;

第1列的0个LED发光。

⑧P2口输出02H;

P1口输出01H;

第0列的0个LED发光。

步骤①~⑧之间可插入1ms左右的延时。

重复进行①~⑧,即可

在LED上稳定地显示出“卫”。

这里P2口先后输出的8字节数据:

02H,82H,82H,0FEH,82H,92H,0FAH,02H,为“卫”的点代码。

3.电路原理图

外部连接图

六、实验的软件设计

1、软件的编写

ORG0H

START:

MOVDPTR,#DATA1;

指向点阵代码首址

MOVR2,#80H;

80H使第7列(最左一列)阴极为低电平

CLRC

DISP:

MOVA,#0

MOVCA,@A+DPTR;

取一列点阵代码

MOVP2,A;

加至阳极

MOVP1,R2;

使一列阴极为低电平

CALLDELAY;

延时

INCDPTR;

指向下一列代码

MOVA,R2;

R2右移一位,为下一列阴极输出低电平作准备

RRCA

MOVR2,A

JNCDISP;

8列未完,转

AJMPSTART

DELAY:

MOVR1,#0;

延时子程序

DELY0:

DJNZR1,DELY0

RET

DATA1:

DB00H,54H,54H,7CH,54H,54H,00H,00H;

王的点阵代码

END

2、软件流程图

3、注意事项

a)各个器件按照在图中的位置定位好

b)管脚放置要正确

c)电源线,接地线要分清

d)在调试过程中要找对接口

e)编程时注意所用显示平是8×

8,64个高亮度发光管

f)箱子上电源不能短路

g)导线不需太长,接触一定要良好

h)连线尽量要横平竖直,正确接线,无多线、少线、错线、短路和断路现象

i)焊接一定不能有虚焊

j)显示屏连线是要认清管脚

七、结束语和致谢

随着毕业日子的到来,毕业设计也接近了尾声。

经过几周的奋战我的毕业设计终于完成了。

在没有做毕业设计以前觉得毕业设计只是对这几年来所学知识的单纯总结,但是通过这次做毕业设计发现自己的看法有点太片面。

毕业设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。

通过这次毕业设计使我明白了自己原来知识还比较欠缺。

自己要学习的东西还太多,以前老是觉得自己什么东西都会,什么东西都懂,有点眼高手低。

通过这次毕业设计,我才明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。

在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。

不管学会的还是学不会的的确觉得困难比较多,真是万事开头难,不知道如何入手。

最后终于做完了有种如释重负的感觉。

此外,还得出一个结论:

知识必须通过应用才能实现其价值!

有些东西以为学会了,但真正到用的时候才发现是两回事,所以我认为只有到真正会用的时候才是真的学会了。

在此要感谢我的指导老师对我悉心的指导,感谢老师给我的帮助。

在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。

在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。

而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。

在设计过程中所学到的东西是这次毕业设计的最大收获和财富,使我终身受益。

参考文献

[1]胡连柱,姜宝山.简析单片机软硬件的抗干扰设计技术,安徽电子信息职业技术学院学报,2005,01.

[2]徐明龙,王赤虎.利用单片机实现的模拟信号和数字信号单线混合传输,电子设计应用,2004,1.

[3]徐梅.单片机系统常用抗干扰措施,高校实验室工作研究,2006,4

[4]林丽君,黎小桃单片机原理及其应用,江西高校出版社,2008,2

[5]董晓红.单片机原理及接口技术,西安:

西安电子科技大学出版社,2006

[6]THDPJ-1/2/3/4型单片机开发综合实验指导书,浙江天煌科技实业有限公司

[7]吴金戌,沈庆阳,郭庭吉.8051单片机实践与应用,北京:

清华大学出版社,2002

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

当前位置:首页 > 初中教育 > 学科竞赛

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

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