单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx

上传人:b****8 文档编号:11475228 上传时间:2023-03-01 格式:DOCX 页数:14 大小:119.78KB
下载 相关 举报
单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx_第1页
第1页 / 共14页
单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx_第2页
第2页 / 共14页
单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx_第3页
第3页 / 共14页
单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx_第4页
第4页 / 共14页
单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx

《单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx》由会员分享,可在线阅读,更多相关《单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx(14页珍藏版)》请在冰豆网上搜索。

单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院.docx

单片机原理及应用课程设计IO并行口直接驱动LED显示河北建院

第一节总体设计

一、设计任务及要求

1、利用单片机的P0端口的P0.0-P0.7连接到一个共阴数码管的a-h的笔段上,数码管的公共端接地。

2、在数码管上循环显示0-9数字,时间间隔0.5秒。

二、总体设计思路

1、硬件设计思路及系统框图

2、软件设计思路及程序流程框图

三、总体设计方案说明

设计的“I/O并行口直接驱动LED显示”采用AT89C51单片机作为主控制芯片,用LED作为端口输出器件。

由AT89C51单片机、时钟电路构成一个基本的单片机系统。

再在外部I/O口引脚上连接8位LED数码管用于显示数据,LED数码管采用动态显示方式工作。

系统框图如下所示:

LED数码管

AT89C51

时钟电路

系统总的电路原理图为:

第二节硬件设计

一、硬件介绍

1、AT89C51

AT89C51单片机是美国ATMEL公司生产的8位机产品。

89C51单片机由CPC、内部数据存储器、内部程序存储器、定时/计数器、并行输入/输出(I/O)口、串行口、中断控制系统、时钟电路等部分组成。

89C51单片机芯片有40只引脚,其大致可以分为四类即电源、时钟、控制引脚、I/O口引脚。

其功能如下:

(1)、电源

电源引脚用来接入单片机的工作电源。

正常运行时的电源,接+5V。

电源地线,接地端

(2)、时钟

两个时钟引脚XTA1、XTA2外接晶体与片内的反相放大器构成了一个振荡器,为单片机提供时钟控制信号,两个时钟引脚也可以外接独立的晶体振荡器。

XTAL1:

此引脚内部是1个片内振荡器的反相放大器的输出端。

如使用外接晶体振荡器时,此引脚应接地。

XTAL2:

此引脚内部接至内部反相放大器的输出和内部时钟发生器的输入。

当使用外部晶体振荡器时,接收外部时钟晶体振荡器的信号。

(3)、控制引脚

/

ALE为地址所存允许信号,工作时输出一正脉冲。

为此引脚的第二功能,在对片内EPROM型单片机编程写入时,此引脚为编程脉冲输入端。

外部程序存储器的读选通信号,低电平有效。

当CPU执行从外部程序存储器读取指令时,此引脚输出一低电平信号。

复位信号的输入端,高电平有效。

在该引脚加上持续时间大于两个机器周期的高电平信号,就可以实现8051的复位操作。

VPD为此引脚的第二功能,即备用电源的输入端。

为内外程序存储器选择控制端。

(4)、I/O口引脚

89C51单片机共有四个8位并行I/O,共32个引脚。

P0口(P0.0-P0.7):

8位双向I/O口。

当访问外部存储器时,为地址总线(低8位)及数据总线分时复用口。

P1口(P1.0-P1.7):

8位准双向I/O口。

为通用单一功能的I/O端口。

P2口(P2.0-P2.7):

8位准双向I/O口。

系统扩展时,作为高8位地址线使用;不作系统扩展时,可作为一般I/O口使用。

P3口(P3.0-P3.7):

8位准双向I/O口。

双功能复用口,可做一般I/O使用,同时该口的每一位都具有第二功能,用于特殊信号输入/输出和控制信号(属控制总线)。

图2.1AT89C51单片机模块图

2、LED显示器

LED显示器有静态和动态两种工作方式。

LED显示器工作在静态显示方式下,,B共阴极或共阳极连接在一起,然后接地或+5V,每位的段选线(A,B,…,G,H)与一个8位并行口相连。

这样只要在每一位的段选线上保持段选码电平,该位就能就能保持相应的显示字符。

在多位LED显示时,为了简化电路,降低成本,将所有位的段选线并联在一起,由一个8位的I/O口控制,即控制段选码而共阴极点或共阳极点分别由相应的I/O线控制即控制位选码,这就是动态显示。

图2.2LED显示器

3、时钟电路

CPU的工作是依赖于时钟节拍的,如果没有时钟信号,CPU将停止工作。

8284就是一个为89C51CPU提供时钟信号的时钟发生器。

8284有两种产生时钟信号的方法,选择外部输入信号或接晶体振荡器。

在PC机中8284的F/C脚接地,由XTAL1和XTAL2两个脚外接晶体振荡器来形成89C51的时钟脉冲。

晶体振荡器的工作频率是12MHz。

图2.3时钟电路电路图

4、复位电路

 

图2.4复位电路电路图

5、输出电路

图2.5输出电路电路图

二、系统原理图

把“单片机系统”区域中的P0.0/AD0-P0.7/AD7端口用8芯排线连接到“四路静态数码显示模块”区域中的任一个数码管的a-h端口上;要求:

P0.0/AD0与a相连,P0.1/AD1与b相连,P0.2/AD2与c相连,……,P0.7/AD7与h相连。

七段LED显示器内部由七个条形发光二极管和一个小圆点发光二极管组成,根据各管的极管的接线形式,可分成共阴极型和共阳极型。

所以分为I/O并行口直接驱动共阴LED显示和共阳LED显示。

图2.6I/O并行口直接驱动共阴LED显示

图2.7I/O并行口直接驱动共阳LED显示

三、元器件清单

元件名称

元件用途

AT89C51

控制核心

电容

时钟电路

晶振

时钟电路

LED显示器

数据输出

电阻

复位电路

电解电容

复位电路

RESPACK

输出电路

74LS04

输出电路

表2.1

第三节软件设计

一、原理分析

(1)、LED数码管的g~a七个发光二极管因加正电压而发亮,因加零电压而不以发亮,不同亮暗的组合就能形成不同的字形,这种组合称之为字形码,下面给出共阴极的字形码见下表:

76543210=P0.7--P0.0

3FH=00111111在共阳极型中543210为高电平,加个反向器就为为低电平信号,同时对应发光二极管因发亮.(在共阳极型7SEG-COM-AN中输入为低电平信号对应发光二极管因发亮.)

“0”

3FH

00111111

“5”

6DH

01101101

“1“

06H

00000110

“6”

7DH

01111101

“2”

5BH

01011011

“7”

07H

00000111

“3”

4FH

01001111

“8”

7FH

01111111

“4”

66H

01100110

“9”

6FH

01101111

(2)由于显示的数字0-9的字形码没有规律可循,只能采用查表的方式来完成我们所需的要求了。

这样我们按着数字0-9的顺序,把每个数字的笔段代码按顺序排好!

建立的表格如下所示:

TABLE DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

二、程序框图

根据系统控制任务与要求,系统软件流程图如图所示。

图3.1

三、汇编源程序

ORG0000H

LJMPSTART

ORG0030H

START:

MOVR1,#00H;R1清0。

NEXT:

MOVA,R1;R1中的值送入A。

MOVDPTR,#TABLE

MOVCA,@A+DPTR;将ROM中的内容送入A。

MOVP0,A;将A中的内容送入P0口。

LCALLDELAY;转向延时子程序。

INCR1;R1减1.

CJNER1,#10,NEXT;判断是R1是否为10,否则转向NEXT程序

LJMPSTART;转向START程序。

DELAY:

MOVR5,#25;单周期指令为1us时间。

DEL2:

MOVR6,#40;单周期指令为1us时间。

DEL1:

MOVR7,#248;单周期指令为1us时间。

NOP;单周期指令为1us时间。

DEL0:

DJNZR7,DEL0;单周期指令为2us时间。

DJNZR6,DEL1;单周期指令为2us时间。

DJNZR5,DEL2;单周期指令为2us时间。

RET

TABLE:

DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH

END

四、程序主程序:

ORG0000H

LJMPSTART

ORG0030H

START:

MOVR1,#00H

五、程序子程序:

1、延时子程序

DELAY:

MOVR5,#25

DEL2:

MOVR6,#40

DEL1:

MOVR7,#248

NOP

DEL0:

DJNZR7,DEL0

DJNZR6,DEL1

DJNZR5,DEL2

RET

2、循环子程序

NEXT:

MOVA,R1

MOVDPTR,#TABLE

MOVCA,@A+DPTR

MOVP0,A

LCALLDELAY

INCR1

CJNER1,#10,NEXT

第四节联合调试

操作过程

1、打开ProteusISIS,打开所画原理图

2、双击AT89C51,在弹出的EditComponent对话框ProgramFile一栏中选择在Keil中产生的example.hex文件,单机OK按钮。

按Ctrl+S保存设计。

3、单击Debug菜单栏中选择8051CPU/Registers-U1,8051CPU/SFRMemory-U1和8051CPU/Internal(IDATA)Memory-U1命令弹出三个窗口。

4、按F11但步运行程序观察各寄存器和存储单元的内容变化。

5、按结束按钮结束调试

6、按开始按钮进行仿真运行

图4.1

第五节结束语

经过多天的努力,终于完成了此次设计,设计出了汇集外观精美、方便实用、功能强大的I-O并行口直接驱动共阴LED显示器。

顺利完成了此次设计的任务。

原理图的设计时,我们使用了Protues这个强大的绘图工具,由于一些实际的器件在元件库中无法找到,我们只有自己制作,在这个过程中我们学到了很多的知识和方法。

同时我们明白实践是出真知的唯一途径,只有亲自动手,才能获得最可靠的设计数据。

程序的编写过程也给了我们很大的收获。

在编写程序之前,我们查阅了相关资料,力求做到规范清晰。

在把握整体思路之后,我们先从程序流程图着手,将整个程序分成若干块,分开编写,一边发现问题一边解决问题,并在实验板上检验程序测试情况,根据现象不断修改。

在整个过程中我们体会到编程的技巧,设置子程序的合理性,同时对单片机最小系统的设计有了整体的理解和深刻的体会,使我们的思维的锻炼与能力的培养有了很大的提高和长足的进步。

课程设计是一次很好的实践动手机会,通过实践,我们的知识得到了应用,真正实现了知识的学以致用,理论联系实践,我们会更加注重实践能力的锻炼,注重动手能力的培养。

第六节参考文献

【1】陈宁,王文宁.单片机技术项目教程【M】.南京:

东南大学出版社,2008

【2】蒋辉平、周国雄.基于Proteus的单片机系统设计与仿真实例【M】.北京:

机械工业出版社,2009

【3】薛峰.单片机原理及应用【M】.北京:

北京理工大学出版社,2011

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

当前位置:首页 > 农林牧渔 > 林学

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

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