基于51单片机的霓虹灯Word格式.docx

上传人:b****1 文档编号:5901476 上传时间:2023-05-05 格式:DOCX 页数:22 大小:79.86KB
下载 相关 举报
基于51单片机的霓虹灯Word格式.docx_第1页
第1页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第2页
第2页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第3页
第3页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第4页
第4页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第5页
第5页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第6页
第6页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第7页
第7页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第8页
第8页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第9页
第9页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第10页
第10页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第11页
第11页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第12页
第12页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第13页
第13页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第14页
第14页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第15页
第15页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第16页
第16页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第17页
第17页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第18页
第18页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第19页
第19页 / 共22页
基于51单片机的霓虹灯Word格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的霓虹灯Word格式.docx

《基于51单片机的霓虹灯Word格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的霓虹灯Word格式.docx(22页珍藏版)》请在冰点文库上搜索。

基于51单片机的霓虹灯Word格式.docx

P1口的输出缓冲能接受或输出4个TTL逻辑门电路。

当对P1口写1时,它们被内部的上拉电阻拉升为高电平,此时可以作为输入端使用。

当作为输入端使用时,P1口因为内部存在上拉电阻,所以当外部被拉低时会输出一个低电流(IIL)。

P2口:

P2是一带有内部上拉电阻的8位双向的I/O端口。

P2口的输出缓冲能驱动4个TTL逻辑门电路。

当向P2口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。

作为输入口,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出电流(IIL)。

P2口在访问外部程序存储器或16位地址的外部数据存储器(例如MOVX@DPTR)时,P2口送出高8位地址数据。

在这种情况下,P2口使用强大的内部上拉电阻功能当输出1时。

当利用8位地址线访问外部数据存储器时(例MOVX@R1),P2口输出特殊功能寄存器的内容。

当EPROM编程或校验时,P2口同时接收高8位地址和一些控制信号。

P3口:

P3是一带有内部上拉电阻的8位双向的I/O端口。

P3口的输出缓冲能驱动4个TTL逻辑门电路。

当向P3口写1时,通过内部上拉电阻把端口拉到高电平,此时可以用作输入口。

P3口同时具有AT89C51的多种特殊功能,具体如下表1所示:

端口引脚

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

T0(定时器0)

P3.5

T1(定时器1)

P3.6

(外部数据存储器写选通)

P3.7

(外部数据存储器都选通)

表1P3口的第二功能

RST:

复位输入。

当振荡器工作时,RST引脚出现两个机器周期的高电平将使单片机复位。

ALE/

:

当访问外部存储器时,地址锁存允许是一输出脉冲,用以锁存地址的低8位字节。

当在Flash编程时还可以作为编程脉冲输出(

)。

一般情况下,ALE是以晶振频率的1/6输出,可以用作外部时钟或定时目的。

但也要注意,每当访问外部数据存储器时将跳过一个ALE脉冲。

程序存储允许时外部程序存储器的读选通信号。

当AT89C52执行外部程序存储器的指令时,每个机器周期

两次有效,除了当访问外部数据存储器时,

将跳过两个信号。

/VPP:

外部访问允许。

为了使单片机能够有效的传送外部数据存储器从0000H到FFFH单元的指令,

必须同GND相连接。

需要主要的是,如果加密位1被编程,复位时EA端会自动内部锁存。

当执行内部编程指令时,

应该接到VCC端。

XTAL1:

振荡器反相放大器以及内部时钟电路的输入端。

XTAL2:

振荡器反相放大器的输出端。

1.2单片机的最小系统电路

本次实训用到的晶振为12M,30PF的无极性电容两个,主要作用是帮助振荡器起振,晶体的振荡频率范围是1.2~13MHZ。

晶体振荡频率高,则系统的时钟频率也高,单片机运行的速度也就越快

在最小系统中用到一个轻触按键,用于单片机的复位,接单片机的第9脚.

单片机最小系统连线如图1所示:

图1单片机最小系统

1.3电路中的发光二极管的接法共阳接法

主控模块采用的是AT89S52单片机,AT89S52是一个8位单片机,片内ROM全部采用FLASHROM技术,与MCS-51系列完全兼容,它能以3V的超低电压工作,晶振时钟最高可达24MHz。

AT89S52是标准的40引脚双列直插式集成电路芯片,有4个八位的并行双向I/O端口,分别记作P0、P1、P2、P3。

第31引脚需要接高电位使单片机选用内部程序存储器;

第9引脚是复位引脚,要接一个上电手动复位电路;

第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS,通常在VCC和VSS引脚之间接0.1μF高频滤波电容。

第18、19脚之间接上一个12MHz的晶振为单片机提供时钟信号。

芯片与电路图:

LED发光二极管如图3所示:

图3LED发光二极管连接图

1.4LED发光二极管

LED发光二极采用共阳接法,由于单片机I/O口输出功率比较小.如果把发光二极管阳极接在I/O口的话,会导致二极管亮度不够.共阳接法使得发光二极管获得比较大的功率。

实训中用到16个470欧的电阻,起到限流的作用,保护LED发光二极管。

该霓虹灯是以单片机AT89S52为核心来完成的,在硬件电路中采用P2口作为8位LED数码管的驱动接口。

单片机的八个输出端P0口同时又用来控制数码管的显示。

8个三极管,再接于数码管阳极用于驱动数码管。

因为共阳的LED数码管它的驱动电流是分开的,在单片机进行动态扫描的时候不会影响彼此的电流,故该电路中的8位LED数码管均用共阳极的数码管。

在8位LED显示时,为了简化电路,降低成本,8个LED显示器共用一个8位的I/O,8位LED数码管的位选线分别由相应的端口控制,而将其相应的段选线并联在一起,由一个8位的I/O口控制,即P0口。

2方案要求

2.1课题设计要求

设计一个霓虹灯,采用LED模拟,要有多重花样和图形显示.

2.2系统方案介绍

用单片机的P0口控制8盏发光二级管,P2口控制8盏发光二级管,P1口控制一个共阳数码管。

P0,P2口控制的16盏灯排成4×

4矩阵,数码管显示灯的花样种类,方案中总共有12种花样,数码管显示数字为0,1,2,3,4,5,6,7,8,9,H,F。

在设计的过程中,P0口要加上上拉电阻,这是单片机系统内部决定的。

在方案中用到三个按键,按键S1是单片机复位键,按键S2是中断控制灯的闪亮速度,按键S3是选择灯的花样,按键每按下一次,切换花样一次。

3方案概述

3.1显示方式:

1.方案一采用LCD液晶显示

由单片机驱动。

可以显示大量汉字、图形、和数据,具有零辐射,低耗能,散热小,显示字符锐利,画面稳定不闪烁,美观、显示清晰等优点。

但价格相对较贵,焊接相对于数码管较为复杂。

2.方案二采用LED数码管显示数码

数码管分为共阴极与共阳极数码管。

两者有功耗低、亮度高、寿命长、尺寸小等优点,在家电及工业控制中有着广泛的应用。

但因一个数码管只能显示0~9间的一个数,显示数量能力有限,因而不具备高精密的数字显示能力。

LED液晶显示已经超出了电路设计只要求显示数字,且液晶显示成本比较高,也会编程带来比较大的困难。

相对来说数码管成本低,满足电路设计要求,程序编写也比较容易,所以选用数码管显示。

3.2扫描方式:

1.方案一采用LED数码管静态扫描显示方法

静态驱动也称直流驱动。

静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。

静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×

8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性,I/O口的利用率大大折扣。

2.方案二LED数码管动态扫描显示方法

采用LED数码管动态扫描显示方法,是指一位一位地轮流点亮每位显示器(称为扫描),即每个数码管的位选被轮流选中,多个数码管公用一组段选,段选数据仅对位选选中的数码管有效。

对于每一位显示器来说,每隔一段时间点亮一次。

显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。

通过调整电流和时间参数,可以既保证亮度,又保证显示。

若显示器的位数不大于8位,则显示器的公共端只需一个8位I/O口进行动态扫描(称为扫描口),控制每位显示器所显示的字形也需一个8位口(称为段码输出),只需要7个I/O口就可以同时驱动六个数码管显示,硬件利用效率高,驱动程序容易理解和编写。

综上所述,采用方案二

3.3单片机的选择

方案一:

8031芯片内部无ROM,需要外扩程序存储器,由此造成电路焊接的困难,况且使用8031还需要另外购买其他的芯片,从而造成成本较高,性价比低。

方案二:

89C51芯片内部有ROM,且片内ROM全部采用FlashROM,它能于3V的超低压工作,与MCS-51系列单片机完全兼容,但是其不具备ISP在线编程技术,需把程序编写好以后再放到编程器中烧写,才可以进行硬件电路的调试,倘若程序编写出现问题,调试电路

就比较麻烦,而且其芯片内存也只有4KB。

方案三:

采用AT89S52,AT89S52单片机是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52单片机为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

3.4AT89S52相对于89C51增加的新功能包括:

1--ISP在线编程功能,这个功能的优势在于改写单片机存储器内的程序不需要把芯片从工作环境中剥离。

是一个强大易用的功能。

2--工作频率为33MHz,大家都知道89C51的极限工作频率只有24M,就是说S52具有更高工作频率,从而具有了更快的计算速度。

3--具有双工UART串行通道。

4--双数据指示器。

5--电源关闭标识。

6--兼容性方面:

向下完全兼容51全部字系列产品。

比如8051、89C51等等早期MCS-51兼容产品。

在89C51上一样可以照常运行,这就是所谓的向下兼容。

比较此三种方案,采用性能最为优异AT89S52(8KROM)单片机。

3.5流程框图

在编写程序的时候先对程序进行初始化,确定单片机的入口地址,然后对程序进行设置中断,要打开总中断,允许中断,进而设置INT1和INT0中断,确定计数器的方式。

设置好以后进行对本次实训的花样进行设置。

LED在电路中的接法是共阳接法,所以单片机的P0,P2口输出地电平有效,也就是输出0是LED发光二极管亮。

当LED实现花样1时,数码管点亮显示1。

本次实训我用到的数码管是共阳接法,所以P1口输出低电平有效,即输出为0时数码管段发亮。

在电路中用单片机的P3.3来切换花样显示,按键每按下一次显示一个花样,单片机的P3.2接一个按键用于控制花样的闪烁的速度,按键每按下一切换调用延时程序。

不同的程序设置的时间是不一样的,所以实现控制闪烁的速度。

 

程序流程图如图4所示:

图4程序流程图

4实训总结

谢辞

参考文献

[1]李广弟.单片机基础(修订本).北京:

北京航空航天大学出版社,2004.

[2]刘勇.数字电路.北京:

电子工业出版社,2003.

[3]王法能.单片机原理及应用.北京:

科学出版社,2004.

[4]赵伟军.PROTEL99SE教程.北京:

人民邮电出版社,2004.

[6]黄强.模拟电子技术.科学出版社,2003

附录一元件清单

名称

数量

规格

电阻

16个

470欧

发光二极管

LED黄色

7个

300欧

AT89S51

1个

轻触按键

3个

电容

2个

30PF

下载插头

4脚

电源插头

10uF

9个

10K欧

晶体振荡器

12M

排组

10K

附录二程序清单

ORG0000H

LJMPSTART;

主程序地址

ORG0003H

LJMPINTO;

外部中断入口地址

ORG0030H;

程序开始地址

;

=================================================================

主程序

START:

SETBEA;

打开中断总控制位

SETBEX0;

打开中断请求标志位

SETBIT1;

设置中断方式

SETBP3.3;

给.p3.3置1

MOVP0,#00H;

让p0,p2口灯全亮

MOVP2,#00H

MOV40H,#200;

延时2秒钟

LCALLDELAY

MOVP0,#0FFH;

P0口清零

MOVP2,#0FFH;

P0口清零

DENG:

MOV40H,#50

LOOP1:

;

第一种花样

CLRP0.0;

P0.0清零点亮LED

CLRP0.3

JNBP3.3,LOOP2

CLRP0.1

CLRP0.2

CLRP0.5

CLRP0.6

CLRP2.5

CLRP2.6

CLRP2.1

CLRP2.2

CLRP2.0

CLRP2.3

SETBP2.0

SETBP2.3

SETBP2.1

SETBP2.2

SETBP2.5

SETBP2.6

SETBP0.5

SETBP0.6

SETBP0.1

SETBP0.2

SETBP0.0

SETBP0.3

LJMPLOOP1

LOOP2:

第二种花样

MOVP0,#0FFH

MOVP2,#0FFH

LL2:

CLRP0.0

CLRP0.3

CLRP0.4

CLRP0.7

JNBP3.3,LOOP3

CLRP2.4

CLRP2.7

LJMPLL2

LOOP3:

第三种花样

LL3:

JNBP3.3,LOOP4

LJMPLL3

LOOP4:

第四种花样

LL4:

JNBP3.3,LOOP5

LJMPLL4

LOOP5:

第五种花样

LL5:

MOVP0,#00H

JNBP3.3,LOOP6

LJMPLL5

LOOP6:

LJMPDENG

==============================================================

中断服务子程序

INTO:

PUSHACC;

保护堆栈

INC40H

POPACC;

出栈

RETI

===============================================================

延时子程序;

DELAY:

MOVR0,#10

DD0:

MOVR1,40H

DD1:

MOVR2,#250

DJNZR2,$

DJNZR1,DD1

DJNZR0,DD0

RET

END

附录三电路原理图

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2