单片机原理课程设计16乘16点阵设计_第1页
单片机原理课程设计16乘16点阵设计_第2页
单片机原理课程设计16乘16点阵设计_第3页
单片机原理课程设计16乘16点阵设计_第4页
单片机原理课程设计16乘16点阵设计_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、16*16 点阵设计摘 要单片机是为各类专用控制器而设计的通用或专用的微型计算机系统,高密度集成了普通计算机微处理系统,一定容量的 ram 和 rom 以及输入/输出接口,定时器等电路于一块芯片上构成的。它的优点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形来显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。led 显示屏分为图文显示屏和视频显示屏,均由 led 矩阵块组成。用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组成和变化,只要设计好合适的数据文件,就可以得到满

2、意的显示效果,因而采用点阵式图文显示屏显示经常需要变化的信息是非常有效的。本次课程设计实现 led 点阵屏核心功能即汉字的多样化显示。加深对单片机课程的全面认识和掌握,对单片机课程的应用进一步的了解。将单片机软硬件结合起来对程序进行编辑,校验,锻炼实践能力和理论联系实际的能力。关键词:单片机,led 显示屏,点阵目 录1 课题描述.12 芯片介绍.12.1 51 系列单片机简介.22.2 74ls154 芯片介绍 .62.3 74ls373 芯片介绍 .73 硬件设计.84 软件设计.104.1 单片机延时子程序.104.2 程序流程图.124.3 程序代码.125 调试或性能分析.15总 结

3、.16致 谢.17参考文献.181 课题描述单片微型计算机简称单片机,它是为各类专用控制器而设计的通用或专用的微型计算机系统。自 20 世纪 70 年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。在现代工业控制和一些智能化仪器仪表中,越来越多的场所需要用点阵图形来显示汉字,汉字显示屏也广泛应用到汽车报站器,广告屏等。所以研究 led 显示有实用意义。现代 led 的发展很快,很多研究领域已经非常深刻,实际情况是:很多相关的知识已经远远超出我们在校学生的能力范围,所以在本设计中只是简单的研究一下用单片机驱动的 led 显示移动的汉字。共有两个目的:一是制作一个简单实用

4、的显示文字的 led 点阵;二是通过制作 led 点阵增强对 led 点阵的了解和应用,以及复习和巩固单片机知识。本次设计的 16x16 点阵需要 32 个驱动,分别为 16 个列驱动及 16 个行驱动。每个行与每个列可以选中一个发光管,共有 256 个发光管,采用动态驱动方式。每次显示一行后再显示下一行。2 芯片介绍 led 点阵总体框图如图 1 所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三部分。控制电路部分包括一个 51cup 和一些外围电路。在整个电路当中此控制电路部分相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与 pc 机的串行通讯、以及给屏体

5、电路部分发送命令。点阵显示屏体以及它的行和列的各个驱动电路。由于两部分的电路在制板时可以放在一起,所以可以将其字库放到控制电路部分使用串行通讯方式来与屏体电路部分进行数据和命令的传送。此显示电路采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。由行译码器给出的行选通信号,从第一行开始,按顺序依次对各行扫描(把该行与电源的一端接通) 。另一方面,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列就在该行该列点燃相应的 ledl 未接通的列所对应的 led 熄灭。可通过扫描输出口的控制实现颜色的转换。图 1 点阵的总体框图2.1 51 系列单片机简

6、介单片机(microcontroller,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器 cpu、数据存储器 ram、程序存储器rom、定时器/计数器和多种 i/o 接口电路。8051 单片机的基本结构见图 2。图 2 8051 单片机的基本结构8051 系列的内部结构可以划分为 cpu、存储器、并行口、串行口、定时器/计数器、中断逻辑几部分。(1)中央处理器8051 的中央处理器由运算器和控制器构成,其中包括若干特殊功能寄存器(sfr) 。算术逻辑单元 alu 能对数据进行加、减、乘、除等算术运算;“与”、“或”、 “异或”等逻辑运算以及位操作运算。alu 只能进

7、行运算,运算的操作数可以事先存放到累加器 acc 或寄存器tmp 中,运算结果可以送回 acc 或通用寄存器或存储单元中,累加器 acc 也可以写成 a。b 寄存器在乘法指令中可以用来存放一个乘数,在除法指令中用来存放除数,运算后 b 中为部分运算结果。alu 主要用于完成二进制数据的算术和逻辑运算,并通过对运算结果的判断影响程序状态字寄存器 psw 中有关位的状态。 程序状态字 psw 是个 8 位寄存器,用来寄存本次运算的特征信息,用到其中七位。psw 的格式如下所示,其各位的含义如表 1。表 1 程序状态字 pswcy:进位标志。在进行加法或减法运算时,若运算结果的最高位有进位或借位,c

8、y=1,否则 cy=0,在执行位操作指令时,cy 作为位累加器。ac:辅助进位标志。在进行加法或减法运算时,若低半字节向高半字节有进位或借位, ac=1,否则 ac=0,ac 还作为 bcd 码运算调整时的判别位。f0:用户可设定的标志位,可置位/复位,也可供测试。rs1 和 rs0:工作寄存器组选择,如表 2 所示。表 2 rs1 和 rs0 工作寄存器组选择rs1rs0工作寄存器组片内 ram 地址00第 0 组 00h07h 01第 1 组08h0fh 10第 2 组10h17h 11第 3 组18h1fh ov:溢出标志。当两个带符号的单字节数进行运算,结果超出-128+127的范围时

9、,ov=1,表示有溢出,否则 ov=0 表示无溢出。 p:奇偶校验标志。每条指令指行完毕后,都按照累加器 a 中“1”的个数来决定 p 值,当“1”的个数为奇数时,p=1,否则 p=0。 psw 中的 d1 位为保留位,对于 8051 来说没有意义,对于 8052 来说为用户标志,与 f0 相同。 控制器包括程序计数器 pc、指令寄存器、指令译码器、数据指针 dptr、堆栈指针 sp、缓冲器以及定时与控制电路等。控制电路完成指挥控制工作,协调单片机各部分正常工作。程序计数器 pc:当一条指令按 pc 所指向的地址从程序存储器中取出之后,pc 的值会自动增量,即指向下一条指令。堆栈指针 sp:用

10、来指示堆栈的起始地址。80c51 单片机的堆栈位于片内ram 中,而且属于“上长型”堆栈,复位后 sp 被初始化为 07h,使得堆栈实际上由 08h 单元开始。指令译码器:当指令送入指令译码器后,由译码器对该指令进行译码,cpu 根据译码器输出的电平信号使定时控制电路产生执行该指令所需要的各种控制信号。数据指针寄存器 drtr:它是一个 16 位寄存器,由高位字节 dph 和低位字节 dpl 组成,用来存放 16 位数据存储器的地址,以便对片外 64kb 的数据ram 区进行读写操作。片内 ram 有 256 个字节,其中 00h7fh 地址空间是直接寻址区,该区域内从 00h1fh 地址为工

11、作寄存器区,安排了 4 组工作寄存器,每组都为 r0r7,在某一时刻,cpu 只能使用其中任意一组工作寄存器,由程序状态字 psw 中 rs0 和 rs1 的状态决定。(2)存储器组织8051 单片机在物理上有三个存储空间:片内数据存储器 ram 、片外数据存储器 ram 、程序存储器 rom 。程序存储器 rom 地址空间为 64kb,片外数据存储器 ram 也有 64kb 的寻址区,在地址上是与 rom 重迭的。8051 单片机通过不同信号来选通 rom或 ram。当从外部 rom 中取指令时,采用选通信号 psen,而从外部 ram中读写数据时则采用读 rd 和写 wr 信号或来选通,因

12、此不会因地址重迭而发生混乱。 片内 ram 的 20h2fh 地址单元为位寻址区,其中每个字节的每一位都规定了位地址。每个地址单元除了可进行字节操作之外,还可进行位操作。片内 ram 的 80hffh 地址空间是特殊功能寄存器 sfr 区,对于 51 子系列在该区域内安排了 21 个特殊功能寄存器,对于 52 子系列则在该区域内安排了 26 个特殊功能寄器,同时扩展了 128 个字节的间接寻址片内 ram,地址也为 80ffh,与 sfr 区地址重迭。8051 的存储器组成结构如图 3 所示。图 3 8051 的存储器组成结构(3)管脚说明vcc:供电电压。gnd:接地。p0 口(p0.0p0

13、.7):该端口为漏极开路的 8 位准双向口,它为外部低 8位地址线和 8 位数据线复用端口驱动能力为 8 个 lsttl 负载。p1 口(p1.0p1.7):它是一个内部带上拉电阻的 8 位准双向 i/o 口,p1口的驱动能力为 4 个 lsttl 负载。p2 口(p2.0p2.7):它为一个内部带上拉电阻的 8 位准双向 i/o 口,p2口的驱动能力也为 4 个 lsttl 负载。在访问外部程序存储器时,作为高 8 位地址线。p3 口(p3.0p3.7):为内部带上拉电阻的 8 位准双向 i/o 口,p3 口除了作为一般的 i/o 口使用之外,每个引脚都具有第二功能。p3 口也可作为 at8

14、9c51 的一些特殊功能口,如下所示:p3.0 rxd(串行输入口)p3.1 txd(串行输出口)p3.2 /int0(外部中断 0)p3.3 /int1(外部中断 1)p3.4 t0(计时器 0 外部输入)p3.5 t1(计时器 1 外部输入)p3.6 /wr(外部数据存储器写选通)p3.7 /rd(外部数据存储器读选通)p3 口同时为闪烁编程和编程校验接收一些控制信号。时钟电路引脚 xtal1 和 xtal2: xtal1:接外部晶振和微调电容的一端,在片内它是振荡器倒相放大器的输入,若使用外部 ttl 时钟时,该引脚必须接地。 xtal2:接外部晶振和微调电容的另一端,在片内它是振荡器倒

15、相放大器的输出,若使用外部 ttl 时钟时,该引脚为外部时钟的输入端。地址锁存允许 ale: 系统扩展时,ale 用于控制地址锁存器锁存 p0 口输出的低 8 位地址,从而实现数据与低位地址的复用。外部程序存储器读选通信号 psen:psen 是外部程序存储器的读选通信号,低电平有效。程序存储器地址允许输入端 ea /vpp: 当 ea 为高电平时,cpu 执行片内程序存储器指令,但当 pc 中的值超过0fffh 时,将自动转向执行片外程序存储器指令。当 ea 为低电平时,cpu 只执行片外程序存储器指令。复位信号 rst:该信号高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操

16、作。2.2 74ls154 芯片介绍 1、74ls154 功能简介54/74154 为 4 线16 线译码器,当选通端(g1、g2)均为低电平时,可将地址端(abcd)的二进制编码在一个对应的输出端,以低电平译出。 如果将 g1 和 g2 中的一个作为数据输入端,由 abcd 对输出寻址,74ls154 还可作 1 线-16 线数据分配器。图 4 是芯片 74ls154 管脚。图 4 芯片 74ls154 管脚图2、引脚功能介绍a、b、c、d 译码地址输入端(低电平有效);g1、g2 选通端(低电平有效);015 输出端(低电平有效)。3、真值表 表 3 74ls154 真值表2.3 74ls

17、373 芯片介绍 373 为三态输出的八 d 透明锁存器,共有 54/74s373 和 54/74ls373 两种线路结构型式。373 为三态输出的 8d 透明锁存器,373 的输出端 o0-o7 可直接与总线相连。当三态允许控制端 oe 为低电平时,o0-o7 为正常逻辑状态,可用来驱动负载和总线。当 oe 为高电平时,o0-o7 呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 le 为高电平时,o 随数据 d 而变。当 le 为低电平时,o 被锁存在已建立的数据电平中。当 le 端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mv。其

18、管脚图如图 5。图 5 74ls373 管脚图1、373 引出端符号d0d7数据输入端 oe三态允许控制端(低电平有效)le锁存允许端 o0o7输出端2、74ls373 真值表表 4 373 真值表3 硬件设计复位信号 rst 高电平有效,在输入端保持两个机器周期的高电平后,就可以完成复位操作。复位的实现通常用 2 种方式:开机上电复位和外部手动复位,本设计用的是外部手动复位。电路图 6 如下:图 6 单片机复位图图 7 单片机最小应用系统原理图注:该最小系统由按键复位 reset 电路、晶体振荡电路以及 i/o 接口电路组成。at89c51 工作电压 vcc=5v,其 ea 引脚需接高电平,

19、5v 电源电路如图8 所示。图 8 单片机电源原理图注:该电源电路主要模块为 ic7805,它能输出稳定的 5v 电压,图中整流桥是将市电转变为直流电,电容起到滤波作用,由 7805 的 out 引脚输出 5v电压。最后,单片机硬件设计总电路图就并联多个 8*8 的 led 组成 16*16 的点阵,则一个扫描信号同时要驱动两行的 led。如下图 9 所示。这时候就需要靠锁存器(74ls373)将这两组显示信号锁住,此处的锁存器是以低态输出的。当74ls373 得 g 脚为高态时,数据可以从输入端传输到锁存器中;g 脚为低态时,数据被锁住,不会随输入端而变。另外 oc 脚为输出控制引脚,当 o

20、c 脚为高态时,输出呈现高阻抗;oc 脚为低态时,数据会由锁存器输出。在这个电路中驱动的扫描信号总共有 16 条,如果直接由 8051 输出,将占用 2 个 port 口,浪费资源不太理想,在此使用的是一个 4 对 16 位译码器(74ls154) ,这个译码器是将输入的 16 进位码输出低态的扫描信号。输出的低态扫描信号可直接接到 pnp 晶体管的基极,如果太大的话也可以先经过限流电阻在接到 pnp 晶体管的基极,信号最后经过晶体管的放大后即可推动 16 个led 点阵了。图 9 总电路图4 软件设计4.1 单片机延时子程序延时子程序在单片机编程中使用非常广泛,也很重要。程序设计是单片机开发

21、最重要的工作,而程序在执行过程中常常需要完成延时功能。在本设计中,行向的扫描要控制每行的扫描时间,还有所有的字移动有一定的时间间隔,而在所有的字移动一遍结束的一瞬间到下一遍移动开始的一瞬间要有延时,这时的延时可以和移动的时间相同以保持移动的连贯性,也可以不同作为每次开始的停顿。1、机器周期和指令周期(1)机器周期是指单片机完成一个基本操作所花费的时间,一般要用微秒来计量单片机的运行速度,51 单片机的一个机器周期包括 12 个时钟振荡周期,也就是说 51 单片机采用 12mhz 晶振,那么执行一个机器周期就只需要 1 微秒;如果采用的是 6mhz 的晶振,那么执行一个机器周期就只需要 2 微秒

22、。(2)指令周期是指单片机执行一条指令所需要的时间,一般利用单片机的机器周期来计量指令周期。在 51 单片机里有单周期指令(执行这条指令只需一个机器周期) ,双周期指令(执行这条指令只需要两个机器周期) ,四周期指令(执行这条指令需要四个机器周期) 。除了乘、除两条指令是四周期指令,其余均为单周期或双周期指令。也就是说,如果 51 单片机采用的是 12mhz 晶振,那么它执行一条指令一般只需 12 微秒的时间;如果采用的是 6mhz 晶振,那么它执行一条指令一般只需 24 微秒的时间。振荡周期、时钟周期、机器周期、指令周期的关系是:振荡周期:为单片机提供时钟信号的振荡源的周期。时钟周期:振荡源

23、信号经二分频后形成的时钟脉冲信号,为振荡周期的 2倍。 机器周期:完成一个基本操作所需的时间,通常为 12 个振荡周期。指令周期:指 cpu 执行一条指令所需要的时间,一个指令周期通常含有14 个机器周期。 2、延时指令在单片机编程里面并没有真正的延时指令,从上面的概念中我们知道单片机每执行一条指令都需要一定的时间,所以要达到延时的效果,只须让单片机不断地执行没有具体实际意义的指令,从而达到了延时的效果。(1)数据传送指令 mov数据传送指令功能是将数据从一个地方复制、拷贝到另一个地方。如:mov r7,80h:将数据 80h 送到寄存器 r7,就单这条指令而言并没有任何实际意义,而执行该指令

24、则需要一个机器周期。(2)空操作指令 nop空操作指令功能只是让单片机执行没有意义的操作,消耗一个机器周期。(3)循环转移指令 djnz循环转移指令功能是将第一个数进行减 1 并判断是否为 0,不为 0 则转移到指定地点;为 0 则往下执行。除了可以给定地址标号让其跳转外,还可以将地址符号改成为,这样程序就跳回本指令执行。4.2 程序流程图图 10 程序流程图4.3 程序代码org 0000hclr f0start: mov a,#00h mov p2,a mov r3,,200d1: mov r5,#250f1: djnz r5,f1 djnz r3,d1move: mov 20h,#00

25、mov r4,00h ;74ls154 扫描指针初值为 00m1: mov r1,#65m2: mov r6,#16 mov r0,20hm3: mov a,r4 jb f0,organgn clr p0.2setb p0.3mov p1,asjmp m4organge:mov p3,aclr p0.3m4: mov a,r0mov dptr,#tablemovc a,a+dptrsetb p1.0clr p0.0mov p2,ainc r0mov a,r0mov dptr,#tablemovc a,a+dptrsetb p0.0clr p0.1mov p2,ainc r0mov r3,,50djnz r3,$mov a,#00hmov p2,ainc r4djnz r6,m3mov r4,#00djnz r1,m2mov a,20hadd a,#02mov 20h,axrl a,#128jnz m1cpl f0sjmp starttable:db 001h,000h,001h,000h,03fh,0f8h,001h,000h,0ffh,0feh,000h,000h,01fh,0f0h,010h,010hdb 01fh,0f0h,003h,004h,004h

温馨提示

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

评论

0/150

提交评论