广告灯的左移右移.docx
- 文档编号:14568119
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:21
- 大小:103.28KB
广告灯的左移右移.docx
《广告灯的左移右移.docx》由会员分享,可在线阅读,更多相关《广告灯的左移右移.docx(21页珍藏版)》请在冰点文库上搜索。
广告灯的左移右移
用单片机实现广告灯的左移右移
摘要
广告灯,就是所谓的光影传媒,是能把任何图案以光的形式投影在广场或各种楼体上,投影的图案既有动态效果,也有静态效果,各种图案都可以订做,很容易吸引众人的眼光,关注率非常高。
广告灯是一种新生的传媒,成本低,投射方便,是各种广告公司的新宠。
广告灯还能在一些传统媒体无法投放的地方发生作用,并会有意想不到的效果,如地面,马路边上。
广告灯可运用色彩的对比手法,从而产生与众不同的色彩感觉与色彩组合,并有助于作品形象区别于周围事物与环境,形成色彩视觉冲击力,引发注意。
不同的色彩对比组合,可以营造鲜艳夺目、明亮活泼,也可以是庄重高雅、雍容华贵,在作品与消费者接触的一刹那中,打动消费者,增强注意的力度,在形成广告的第一印象时,色先夺人,并留下深刻的印象。
广告灯主要应用于广告牌、建筑泛光照明、网球场、停车场、体育馆、堆场及码头等。
本文中的广告灯采用来了AT89C52单片机进行控制。
关键词:
AT89C52单片机,广告灯的左移右移
目录
第一章引言1
1.1广告灯的概述1
第二章器件介绍2
2.1AT89C52单片机及其引脚说明2
2.2功能特性描述2
2.3AT89C52各引脚功能及管脚电压3
2.4AT89C52的引脚图6
第三章系统硬件设计7
3.1设计要求7
3.2系统硬件连线7
3.3硬件原理图7
第四章软件设计9
4.1程序设计内容9
4.2软件程序流程图9
4.3延时程序的设计9
4.4软件使用说明10
4.4.1Keil软件使用说明10
4.4.2Proteus6Professional软件使用说明11
4.5设计任务仿真结果11
4.5.1设计任务一仿真图如图4.5.1所示11
4.5.2设计任务二仿真图4.5.2所示11
4.6结论及其心得体会12
参考文献12
致谢14
附录15
附录1程序清单15
设计任务一的程序15
设计任务二的程序16
附录2元器件清单表18
附录3原理图18
第一章引言
当代计算机是微电子技术与计算机数学相结合的产物。
微电子学的基本元件极其集成电路构成了计算机的硬件基础;计算机数学的计算方法与数据结构则成为计算机的软件基础。
从1946年世界上第一代计算机问世到现在,计算机的发展随着电子技术的发展已经历了四代,即电子管、晶体管、集成电路及超大规模集成电路。
然而其结构都是冯·诺依曼结构,即计算机的组成分为五部分:
运算器、控制器、存储器、输入部分及输出部分。
现在,大部分微机的运算器和控制器集成在一片大规模集成电路上,叫做微处理器,也称为中央处理单元CPU(
CentralProcessingUnit),如286、386机等,也有的机器把存储器和CPU做在了一起。
计算机的发展随着微电子技术的发展而发展,并且由于芯片的集成度的提高而使机器微型化,出现了微型计算机(Microcomputer)、单板机(SingleBoardComputer)、单片机(SingleChipComputer)等机型。
单片机,顾名思义,即一个芯片的计算机,在这一个芯片上包括了计算机的五个组成部分:
运算器、存储器、控制器、输入部分及输出部分。
单片机具有功能强、体积小、成本低、功耗小等特点,使它在工业控制、只能仪器、节能技术改造、通信系统、信号处理及家用电器产品中都得到了广泛的应用。
另外,单片机在很大程度上改变了传统的设计方法,以往采用模拟电路、数字电路实现的电路系统,大部分功能单元都可以通过对单片机硬件功能扩展及专用程序的开发,来实现系统提出的要求,这意味着许多电路设计问题将转化为程序设计问题。
1.1广告灯的概述
广告灯,就是所谓的光影传媒,是能把任何图案以光的形式投影在广场或各种楼体上,投影的图案既有动态效果,也有静态效果,各种图案都可以订做,很容易吸引众人的眼光,关注率非常高。
广告灯这是一种新生的传媒,成本低,投射方便,是各种广告公司的新宠。
广告灯还能在一些传统媒体无法投放的地方发生作用,并
会有意想不到的效果,如地面,马路边上。
广告灯可运用色彩的对比手法,从而产生与众不同的色彩感觉与色彩组合,并有助于作品形象区别于周围事物与环境,形成色彩视觉冲击力,引发注意。
不同的色彩对比组合,可以营造鲜艳夺目、明亮活泼,也可以是庄重高雅、雍容华贵,在作品与消费者接触的一刹那中,打动消费者,增强注意的力度,在形成广告的第一印象时,色先夺人,并留下深刻的印象。
广告灯主要应用于广告牌、建筑泛光照明、网球场、停车场、体育馆、堆场及码头等。
第二章器件介绍
2.1AT89C52单片机及其引脚说明【1】
AT89C52是美国Atmel公司生产的低电压、高性能CMOS8位单片机,片内含8KB的可反复擦写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。
AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。
其主要工作特性是:
·片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;
·片内数据存储器内含256字节的RAM;
·具有32根可编程I/O口线;
·具有3个可编程定时器;
·中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;
·串行口是具有一个全双工的可编程串行通信口;
·具有一个数据指针DPTR;
·低功耗工作模式有空闲模式和掉电模式;
·具有可编程的3级程序锁定位;
·AT89C52工作电源电压为5(1+0.2)V,且典型值为5V,AT89C52最高工作频率为24MHz。
2.2功能特性描述:
AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
AT89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性:
·兼容MCS51指令系统【2】
·8k可反复擦写(>1000次)FlashROM
·32个双向I/O口
·256x8bit内部RAM
·3个16位可编程定时/计数器中断
·时钟频率0-24MHz
·2个串行中断可编程UART串行通道
·2个外部中断源
·4个内部中断源
·2个读写中断口线
·3级加密位
·低功耗空闲和掉电模式
·软件设置睡眠和唤醒功能
2.3AT89C52各引脚功能及管脚电压
·P0口:
P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写
“1”时,可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash
编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
·P1口:
P1是一个带有内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
·P2口:
P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口输出P2锁存器的内容。
Flash编程或校验时,P2亦接收高位地址和一些控制信号。
·P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口。
P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
此时,被外部拉低的P3口将用上拉电阻输出
电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能 P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
·RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
·ALE/PROG:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。
要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。
此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。
·PSEN:
程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。
在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
·EA/VPP:
外部访问允许。
欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。
需注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
·XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
·XTAL2:
振荡器反相放大器的输出端。
·特殊功能寄存器:
在AT89C52片内存储器中,80H-FFH共128个单元为特殊功能寄存器(SFE)。
并非所有的地址都被定义,从80H—FFH共128个字节只有一部分被定义,还有相当一部分没有定义。
对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失。
不应将数据“1”写入未定义的单元,由
于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。
【3】
·数据存储器:
AT89C52有256个字节的内部RAM,80H-FFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。
当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字
节RAM还是访问特殊功能寄存器。
如果指令是直接寻址方式则为访问特殊功能寄存器。
·定时器0和定时器1:
AT89C52的定时器0和定时器1的工作方式与AT89C51相同。
·定时器2:
定时器2是一个16位定时/计数器。
它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON(如表3)的C/T2位选择。
定时器2有三种工作方式:
捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。
定时器2由两个8位寄存器TH2和TL2组成,在定时器工作方式中,每个机器周期TL2寄存器的值加1,由于一个机器周期由12个振荡时钟构成,因此,计数速率为振荡频率的1/12。
在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。
若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。
由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。
为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。
2.4AT89C52的引脚图
AT89C52的引脚图如图2.4.1
图2.4.1AT89C52引脚图
Fig.2.4.1AT89C52pinsfigure
第三章系统硬件设计
3.1设计要求
(1)做单一灯的左移右移,硬件电路如图2.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→┅→P1.7→P1.6→┅→P1.0亮,重复循环重复两遍,其中每两个灯之间亮时都延时0.2秒。
(2)做单一灯的左移右移,硬件电路如图2.1所示,八个发光二极管L1-L8分别接在单片机的P1.0-P1.7接口上,输出“0”时,发光二极管亮,开始时P1.0→P1.1→P1.2→P1.3→P1.4→┅P1.7亮重复两遍,其中每两个灯之间亮时都延时0.2秒;再从P1.7→P1.6→┅→P1.0亮重复两遍,其中每两个灯之间亮时都延时0.2秒;最后移动完后在所有的灯一起亮并闪烁两次,两次闪烁间隔也为0.2秒。
3.2系统硬件连线【4】【5】【6】
把“单片机系统”区域中的P1.0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。
P1.1端口用导线连接到“八路发光二极管指示模块”区域中的L2端口上。
P1.2端口用导线连接到“八路发光二极管指示模块”区域中的L3端口上。
P1.3端口用导线连接到“八路发光二极管指示模块”区域中的L4端口上。
P1.4端口用导线连接到“八路发光二极管指示模块”区域中的L5端口上。
P1.5端口用导线连接到“八路发光二极管指示模块”区域中的L6端口上。
P1.6端口用导线连接到“八路发光二极管指示模块”区域中的L7端口上。
P1.7端口用导线连接到“八路发光二极管指示模块”区域中的L8端口上。
EA端口用导线连接到VCC。
XTAL1和XTAL2接时钟电路,其晶振频率为12MHZ。
RST接的是复位电路。
在LED灯与VCC之间加上220Ω电阻起限
流作用,防止二极管烧坏。
3.3硬件原理图
图3.3.1硬件原理图
Fig.3.3.1Hardwarediagram
第四章软件设计
4.1程序设计内容
我们可以运用输出端口指令MOV P1,A或MOV P1,#DATA,只要给累加器值或常数值,然后执行上述的指令,即可达到输出控制的动作。
每次送出的数据是不同,具体的数据如下表4.1.1所示
表4.1.1送出的数据表
Tab.4.1.1Sentthedatatable
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1
P1.0
说明
L8
L7
L6
L5
L4
L3
L2
L1
1
1
1
1
1
1
1
0
L1亮
1
1
1
1
1
1
0
1
L2亮
1
1
1
1
1
0
1
1
L3亮
1
1
1
1
0
1
1
1
L4亮
1
1
1
0
1
1
1
1
L5亮
1
1
0
1
1
1
1
1
L6亮
1
0
1
1
1
1
1
1
L7亮
0
1
1
1
1
1
1
1
L8亮
4.2软件程序流程图
图4.2.1软件程序流程图
Fig.4.2.1Softwareprogramflowchart
4.3延时程序的设计
作为单片机的指令的执行的时间是很短,数量大微秒级,因此,我们要求的闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们在执行某一指令时,插入延时程序,来达到我们的要求,但这样的延时程序是如何设计呢?
下面具体介绍其原理:
如图3.3.1所示的石英晶体为12MHz,因此,1个机器周期为1微秒
MOVR6,#202个机器周期2
D1:
MOVR7,#2482个机器周期22+2×248=49820×
DJNZR7,$2个机器周期2×248498
DJNZR6,D12个机器周期2×20=4010002
因此,上面的延时程序时间为10.002ms。
由以上可知,当R6=10、R7=248时,延时5ms,R6=20、R7=248时,延时10ms,以此为基本的计时单位。
如本实验要求0.2秒=200ms,10ms×R5=200ms,则R5=20,延时子程序如下:
DELAY:
MOVR5,#20
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
4.4软件使用说明
4.4.1Keil软件使用说明:
首先,在工具栏中单击“Project”选项,单击“NewProject”在其弹出的对话框中填写文件名并单击“保存”选项。
其次,在接下来的对话框中双击“Atmel”选项选出相应的单片机(本次论文写作中用到的是AT89C52单片机),在接下来弹出的对话框中选“Yes”或“No”都可以。
接着,新建立一个C文件,单击“File”菜单,选中“New”选项,在弹出的Text对话框中输入事先编好的程序保存并输入文件名。
接下来,在工具栏中单击“Project”选项,选中“OptionsforTarget‘Target1’选项,在弹出的对话框中单击“Output”选项选中“CreateHEXFI”;再单击“debug”选项,选中与“Proteus”有关项或选默认值。
最后在进行编译执行已保存的软件程序。
4.4.2Proteus6Professional软件使用说明:
首先,添加原件到原件列表中,单击“P”按钮,出现挑选元件对话框,在“Keywords”选项下输入要用到的元件名字,选中你要的元件单击“OK”选项即可;其次,放置元件;接着,连线和添加电源和地;最后,添加仿真文件(先右键AT89C52再左键,出现对话框后,在“ProgramFile”那一栏中,选出在Keil文件中保存的文件);最后,进行仿真。
4.5实验任务仿真结果
4.5.1设计任务一仿真图如图4.5.1所示
图4.5.1仿真任务一的仿真图
Fig.4.5.1Thesimulationofasimulationdiagramtask
4.5.2设计任务二仿真图4.5.2所示
图4.5.2仿真任务二的仿真图
Fig.4.5.2Thesimulationtasktwosimulationdiagram
4.6结论及其心得体会
在任务一的仿真图中,我得到了与设计任务一相一致的结果。
即八个Led灯从左到右依次亮,又从右到左依次亮,每个Led灯的亮与灭的间隔为0.2秒。
由于,灯的亮灭间隔太短,只能选择某一时刻的Led灯的状态来说明其仿真结果。
在任务二的仿真图中,同样也得到了与设计任务二相一致的结果。
即八个Led灯从左到右依次亮两次,又从右到左依次亮两次,最后所有的灯都亮并连续闪烁两次。
由于,左移右移时每个Led灯的亮与灭的间隔为0.2,其仿真结果与设计任务一的相类似,我们区最后所有灯一起亮时的仿真结果为设计任务二的仿真图。
参考文献
[1]李朝青.单片机原理及接口技术[M].第三版.北京:
北京航空航天大学出版社,2005.259~262
[2]余永权,汪明慧,黄英.单片机在控制系统中的应用[M].电子工业出版社,2003.10
[3]丁元杰.单片微机原理及应用[M].北京:
机械工业出版社,1994
[4]邱关源.电路[M].第五版.北京:
高等教育出版社,2006
[5]康华光.电子技术基础[M].第五版.北京:
高等教育出版社,2006
[6]谢自美.电子线路设计实验测试[M].第三版.武汉:
华中科技大学出版社,2006.08
致谢
在本次论文写作中,感谢张老师在百忙之中抽出时间来指导我的论文写作。
在张老师的指导下,让我明白了只有把学习到的理论知识运用到我们的实际生活中我们才能够发现学习中的乐趣。
本次论文只是用单片机与Led灯来实现广告灯的左移右移效果的,让我明白了,生活中看似很复杂的有创意的点子与我们上课所学的理论知识是分不开的。
只有理论结合实践知识,才能把学到的知识应运自如。
在老师的指导下,我学到了一些在课堂上没有学过的知识。
例如,本次论文写作让我学会用Keil软件和Proteus软件来完成用软件来控制硬件的仿真图。
同时,在老师的指导下,让我更多的了解了办公室软件的使用,我的论文的写作格式更加规范了。
在此,衷心的感谢张老师对我的论文进行指导。
附录
附录1程序清单
设计任务一的程序:
汇编源程序
ORG0000
START:
MOVR2,#8;R2为移位次数
MOVA,#0FEH
SETBC
LOOP:
MOVP1,A
LCALLDELAY
RLCA
DJNZR2,LOOP;左移8次
MOVR2,#8
LOOP1:
MOVP1,A
LCALLDELAY
RRCA
DJNZR2,LOOP1;右移8次
LJMPSTART
;-----延时子程序------
DELAY:
MOVR5,#20 ;
D1:
MOVR6,#20
D2:
MOVR7,#248
DJNZR7,$
DJNZR6,D2
DJNZR5,D1
RET
END
程序
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广告 左移右移