最新单片机课程设计报告广告灯控制实验.docx
《最新单片机课程设计报告广告灯控制实验.docx》由会员分享,可在线阅读,更多相关《最新单片机课程设计报告广告灯控制实验.docx(6页珍藏版)》请在冰豆网上搜索。
最新单片机课程设计报告广告灯控制实验
最新单片机课程设计报告:
广告灯控制实验
姓氏:
裴长青专业:
电子信息工程技术。
:
070301116班级级别:
电信071讲师:
吴海红设计完成日期:
xx年6月18日目录第一章前言……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….8051引脚及功能介绍
4.2每个端口的输入/输出命令控制格式
4.3硬件接线图
第五章软件设计65.1程序流程图
5.2源程序和注释
第六章实用proteus软件调试模拟说明9第7章总结和经验.确认1+…9第八章参考.……10第一章介绍了单片机的应用,单片机具有体积小.可靠性高.功能强.灵活方便等优点,广泛应用于国民经济的各个领域。
单片机的应用从根本上改变了传统控制系统的设计思想和设计方法。
大多数以前由模拟电路和数字电路实现的电路现在可以由单片机通过软件方法实现。
从以下几个方面简要介绍了单片机的应用。
微控制器广泛应用于导弹导航装置.飞机上各种仪器的控制.计算机的通信和数据传输.机器人.工业自动化过程的实时控制和数据处理。
在这些实时控制系统中,单片机可以用作控制器。
单片机的实时数据处理能力和控制功能可以使系统保持最佳工作状态,提高系统的工作效率和产品质量。
在复杂系统中,通常使用分布式多机系统。
多机系统通常由几台功能不同的单片机组成,每台单片机完成一项特定的任务。
它们通过串行通信相互连接.以协调工作。
该系统通常采用单片机作为终端,安装在系统的某些节点上,实时测量和控制现场信息。
单片机的高可靠性和强抗干扰能力使其工作在恶劣环境的前端。
单片机在工业控制中的应用,特别是在实时检测和自动控制的单片机应用系统中,单片机往往被作为核心部件使用,仅有单片机的知识是不够的,还应根据具体的硬件结构和软件组合针对具体应用对象的特点进行改进。
广告灯控制的出现对美化和欣赏广告夜景起着非常重要的作用,也为城市商业区增添了一道亮丽的风景线。
该系统以单片机AT89C51为核心器件设计广告灯。
该系统实用性强.操作简单.扩展性
第二章课程设计的目的和要求课程设计的目的:
课程设计是单片机课程教学的最后一环,是对我们的全面系统的训练。
实施课程设计可以使学生将所学的零碎知识系统化,真正实现所学知识,开发简单系统,进一步激发学生进一步学习的积极性。
因此,课程设计是必要的。
课程设计要求:
用AT89C51产生一个2秒的计时。
当2秒钟的计时到来时,更换指示灯闪烁。
每个指示灯闪烁的频率为0.2秒。
也就是说,L1指示灯以0.2秒的速度闪烁。
当2秒的计时到来时,L2开始以0.2秒的速度闪光。
一共有L1-L4四盏灯这样闪烁。
0.2秒的闪烁速率由定时/计数器T0完成。
单片机的晶振频率为12兆赫。
第三章总体设计硬件设计主要包括电路设计.选定元件.编辑元件.元件属性设置.连接插件.连接电路和电气检测.。
软件设计主要包括:
添加源程序.编辑源程序.编译源程序生成目标代码文件(扩展HEX)。
第4章硬件设计
4.18051引脚及功能介绍8051的40个引脚可分为2个电源引脚.2个时钟引脚.4个控制引脚和32个输入/输出引脚。
这些引脚的功能描述如下:
1.电源引脚
(2)
VCC(40引脚):
电源端子,连接至+5V电源。
Gnd(引脚20):
接地端子。
2.时钟引脚
(2)
XTAL1(19(引脚19):
连接外部晶体振荡器和微调电容的一端。
当使用外部时钟电路时,对于HMOS型单片机,此引脚应接地。
对于CHMOS型号,此引脚应连接到外部时钟的输入端。
XTAL2(引脚18):
连接外部晶体振荡器和微调电容的另一端。
当使用外部时钟电路时,该引脚应连接到HMOS型单片机的外部时钟输入端。
对于CHMOS类型,此引脚应保持浮动。
3.控制引脚(4)
(1)
RST/Vpd(9引脚):
复位信号/待机电源输入引脚。
当RST引脚在两个机器周期内保持高电平时,8051可以复位。
该引脚的第二个功能是Vpd,即待机电源的输入端,具有掉电保持功能。
如果+5V备用电源连接到引脚,则如果主电源Vcc在使用过程中断电,片内随机存取存储器中的信息就不会丢失。
(2)
ALE(引脚30):
数据锁存器允许信号输出/编程脉冲输入引脚。
当中央处理器访问片外存储器时,ALE输出信号控制P0端口输出的低位8位地址的锁存,从而实现P0端口数据和低位地址的时分复用。
当8051上电并正常工作时,频率为fosc/6(fosc代表振荡器的频率)的脉冲序列会在ALE端自动输出。
当编程和写入8751的内部4KBEPROM时,该引脚的第二个功能PROG将用作编程脉冲的输入。
(3)
EA/VPP(引脚31):
外部程序存储器地址允许输入/程序电压输入。
当处理器连接到高电平时,中央处理器执行片上只读存储器指令,但当计算机值超过0FFFH时,它将自动切换到片外只读存储器指令。
当处理器变低时,中央处理器只执行片外只读存储器指令。
该引脚的第二个功能是,当写入8751片内EPROM时,VPP是21V编程电压的输入。
(4)
PSEN(引脚29):
ROMa读取芯片外的选通信号端子。
当读取片外只读存储器时,PSEN有效并且处于低电平以实现片外只读存储器的读取操作。
4.1/0引脚(4×8=32引脚)
(1)
P0.0-P0.7(39-32英尺):
P0端口的8位双向输入/输出端口线路。
P0可用作地址/数据总线和通用输入/输出端口。
当中央处理器访问片外存储器时,P0端口首先用作低8位地址总线,然后用作双向数据总线。
此时,P0不能再次用作输入/输出。
(2)
p
1.0-p
1.7(1-8支):
P1端口的8位双向输入/输出端口线路。
P1端口用作通用输入/输出端口。
(3)
P2.0-P2.7(英尺21-28):
P2港的8级双向输入/输出端口线路。
端口P2可用作通用输入/输出端口或片外存储器的高8位地址总线,它与端口P0结合形成16位片外存储器单元地址。
(4)
P3.0-P3.7(英尺10-17):
P3港的8级双向输入/输出端口线路。
P3端口用作通用输入/输出端口,每个引脚都有第二个功能。
P3端口也可以作为AT89C51的一些特殊功能端口,如下表所示:
端口引脚替代功能端口引脚替代功能P
3.0RXD(串行输入)
P
3.1TXD(串行输出)
P
3.2/INT0(外部中断0)
P
3.3/INT1(外部中断1)
P
3.4T0(定时器0的外部输入)
P
3.5T1(定时器1的外部输入)
P
3.6/WR(外部数据存储器写选通)
P
3.7/RD(外部数据存储器读取选通脉冲)
P3端口同时接收一些用于闪存编程和程序验证的控制信号。
RST:
重置输入。
当振荡器复位器件时,在两个机器周期内保持RST引脚高电平。
访问外部存储器时,数据锁存器允许的输出电平用于锁存地址的状态字节。
该引脚用于在闪存编程期间输入编程脉冲。
正常情况下,ALE端子以恒定频率周期输出正脉冲信号,该频率周期为振荡器频率的1/6。
因此,它可以用作外部输出脉冲或用于计时目的。
然而,应该注意的是,每当ALE脉冲被用作外部数据存储器时,它将被跳过。
如果要禁用ALE的输出,可以在SFR8EH地址上设置0。
此时,ALE仅在执行MOVX且MOVC指令为ALE时工作。
此外,该引脚被稍稍拉高。
如果微处理器在外部执行状态ALE下被禁用,则该设置无效。
4.2输入输出端口命令控制格式
(1)当P0端口用作通用输入/输出端口时①P0端口用作输入端口P0端口用作输入端口时,可以从端口的锁存器或端口的引脚读取数据,这取决于输入操作是执行“读取锁存器”指令还是“读取引脚”指令。
模式1:
读取引脚。
当中央处理器执行“MOV”类输入指令(例如,MOVA,P0)时,内部产生的操作信号是“读引脚”,引脚P0.X上的数据通过缓冲器2发送到内部总线。
模式2:
读取引脚。
当中央处理器执行“MOV”类输入指令时(例如ANLP0,A),内部产生的操作信号是“读锁存”。
P0.X引脚上的数据通过缓冲器1发送到内部总线,然后与A的内容进行逻辑组合。
结果被发送回P0端口锁存器并出现在引脚上。
除了MOV式指令,其他读端口操作指令都属于这种情况。
(2)
P1端口只能作为通用输入输出端口,其功能与P0端口相同。
(3)P2港①P2港作为通用输入输出端口。
当只有256B片外随机存取存储器需要扩展而不扩展单片机外的程序存储器时,“MOVX@Ri”型指令可以用来访问片外随机存取存储器。
此时,只使用地址的低8位,P2端口不受这些指令的影响,仍然可以用作通用输入/输出端口。
(2)P2港用作地址总线。
当单个芯片的芯片外的程序存储器和扩展的随机存取存储器容量超过256B时,片外程序存储器使用MOVC指令(此时EA=0),并且在读/写芯片外使用“MOVX@DPTR”指令。
(4)
P3港不仅可以作为通用输入输出,而且还具有第二种功能。
此时,对于输入,无论该位用作通用输入端口还是第二功能输入端口,相应的锁存和选择输出功能都应设置为1,该工作在启动或复位时完成。
4.3硬件接线图
第五章软件设计
5.1程序流程图
5.2源程序和注释ORG0000HLJMPMAINORG000BH定时器0中断条目地址LJMPt00ORG0030hmMAIN:
movmod,#02h设置定时器0位操作模式2moveth0,#38h设置0.2ms定时初始值MOVTl0,#38hsetbeea中断设置0定时器0中断设置0定时器0启动定时器0CLR08H清零0.1满标志位MOVR3,#50设置为0.2毫秒计数周期初始值MOVR4,#10mova,#0feeh发送显示初始值lp1:
movr1,#10结束闪烁数LP2:
MOVP1,将显示初始值分配给端口P1JNB08H,$查询0.1s时间到否CLR08H清除标志位movp1,#0fffhjnb08h,$query0.1s时间至否CLR08H清除标志位DJNZR1,LP2闪烁不到10次,继续R1AJNBACC.4,主LJMPLP1ORG0100H表示程序从地址0200H存储t00:
djnzr4,并退出判断定时是否为0.1。
MOVR4,#10复位初始值0.2毫秒周期新西兰R3,退出判断0.1计时至否MOVR3,#50重置0.2毫秒周期的初始值setbinary设置二进位的08H标志位置1退出:
RETI结束第6章使用proteus软件调试模拟指令
1.创建新设计文件时,默认情况下会选择默认模板。
2.设置绘图大小并选择A4绘图。
3.设置网格。
4.用“设计”类型保存设计文件文件”。
5.选择组件,选择所需的组件。
6.放置元件,并将选定的元件放置在合理的位置。
7.编辑组件并设置组件的参数。
8.放置端子.电源和接地等。
9.连接导线以连接选定的元件。
10.添加源程序。
1
1.编辑源程序,编写并保存程序代码。
12.编译源程序,构建并生成“HEX”目标代码文件。
13.加载晶振频率为12兆赫的目标代码文件。
14.模拟。
点击“全速运行”按钮观察模拟结果。
第7章总结和经验.确认该系统以AT89C51芯片为核心部件,根据实际控制量,通过AT89C51芯片实现设置不同照明顺序的功能。
这一次,我们花在软件上的时间最多。
我们寻找信息,并去图书馆尽可能多地了解广告灯光的控制。
通过这个毕业设计,我得到了一个全面系统的练习,用专业知识.专业技能来分析和解决问题。
这使我在单片机.单片机应用系统的基本原理的开发过程中,在掌握通用编程设计思维技巧(尤其是汇编语言)方面,向前迈出了一大步。
通过本次毕业设计,在吴先生的精心指导和严格要求下,我获得了丰富的理论知识,实践能力得到了极大的提高。
单片机领域对我将来进一步学习计算机知识有很大帮助。
在这里,我要感谢吴老师和许多同学的指导和支持。
第8章参考文献
1.李江.蔡骏.王艳春.董泽芳。
单片机原理及应用技术。
清华大学出版社,xx
2.蔡军.单片机实验教学课程。
安徽大学出版社,xx