广告霓虹灯单片机设计.docx
- 文档编号:30083585
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:28
- 大小:291.30KB
广告霓虹灯单片机设计.docx
《广告霓虹灯单片机设计.docx》由会员分享,可在线阅读,更多相关《广告霓虹灯单片机设计.docx(28页珍藏版)》请在冰豆网上搜索。
广告霓虹灯单片机设计
福建水利电力职业技术院毕业设计
题目:
广告霓虹灯单片机应用系统设计___
专业:
供用电技术____________________________
班级:
供用电0631____________
姓名:
学号:
实验地点:
指导老师:
___________________
成绩:
第一章单片机介绍------------------------------------------------------------------------4
第二章单片机的应用领域-----------------------------------------------------------------5
第三章单片机学习应中的六大重要部分----------------------------------------------7
第四章单片机学习------------------------------------------------------------------------10
第五章设计目的---------------------------------------------------------------------------11
第六章设计要求---------------------------------------------------------------------------12
第七章设计课题---------------------------------------------------------------------------12
第八章系统设计---------------------------------------------------------------------------13
结束语-----------------------------------------------------------------------------------------27
参考文献
广告霓虹灯单片机应用系统设计
第一章单片机介绍
单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。
概括的讲:
一块芯片就成了一台计算机。
它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。
同时,学习使用单片机是了解计算机原理与结构的最佳选择。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可......用它来做一些控制电器一类不是很复杂的工作足矣了。
我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!
......它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板!
但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别!
只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性!
由于单片机对成本是敏感的,所以目前占统治地位的软件还是最低级汇编语言,它是除了二进制机器码以上最低级的语言了,既然这么低级为什么还要用呢?
很多高级的语言已经达到了可视化编程的水平为什么不用呢?
原因很简单,就是单片机没有家用计算机那样的CPU,也没有像硬盘那样的海量存储设备。
一个可视化高级语言编写的小程序里面即使只有一个按钮,也会达到几十K的尺寸!
对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。
单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。
一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。
可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。
不过,这种电脑,通常是指个人计算机,简称PC机。
它由主机、键盘、显示器等组成。
还有一类计算机,大多数人却不怎么熟悉。
这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。
顾名思义,这种计算机的最小系统只用了一片集成电路,即可进行简单运算和控制。
因为它体积小,通常都藏在被控机械的“肚子”里。
它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。
现在,这种单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。
各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。
现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。
究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。
第二章单片机的应用
单片机的应用目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分如下几个范畴:
2.1.在智能仪器仪表上的应用
单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。
采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。
例如精密的测量设备(功率计,示波器,各种分析仪)。
2.2.在工业控制中的应用
用单片机可以构成形式多样的控制系统、数据采集系统。
例如工厂流水线的智能化管理,电梯智能化控制、各种报警系统,与计算机联网构成二级控制系统等。
2.3.在家用电器中的应用
可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭褒、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。
2.4.在计算机网络和通信领域中的应用
现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机,电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。
2.5.单片机在医用设备领域中的应用
单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。
此外,单片机在工商,金融,科研、教育,国防航空航天等领域都有着十分广泛的用途。
第三章单片机学习应中的六大重要部分
3.1.总线
我们知道,一个电路总是由元器件通过电线连接而成的,在模拟电路中,连线并不成为一个问题,因为各器件间一般是串行关系,各器件之间的连线并不很多,但计算机电路却不一样,它是以微处理器为核心,各器件都要与微处理器相连,各器件之间的工作必须相互协调,所以就需要的连线就很多了,如果仍如同模拟电路一样,在各微处理器和各器件间单独连线,则线的数量将多得惊人,所以在微处理机中引入了总线的概念,各个器件共同享用连线,所有器件的8根数据线全部接到8根公用的线上,即相当于各个器件并联起来,但仅这样还不行,如果有两个器件同时送出数据,一个为0,一个为1,那么,接收方接收到的究竟是什么呢?
这种情况是不允许的,所以要通过控制线进行控制,使器件分时工作,任何时候只能有一个器件发送数据(可以有多个器件同时接收)。
器件的数据线也就被称为数据总线,器件所有的控制线被称为控制总线。
在单片机内部或者外部存储器及其它器件中有存储单元,这些存储单元要被分配地址,才能使用,分配地址当然也是以电信号的形式给出的,由于存储单元比较多,所以,用于地址分配的线也较多,这些线被称为地址总线。
3.2.数据、地址、指令
之所以将这三者放在一起,是因为这三者的本质都是一样的——数字,或者说都是一串‘0’和‘1’组成的序列。
换言之,地址、指令也都是数据。
指令:
由单片机芯片的设计者规定的一种数字,它与我们常用的指令助记符有着严格的一一对应关系,不可以由单片机的开发者更改。
地址:
是寻找单片机内部、外部的存储单元、输入输出口的依据,内部单元的地址值已由芯片设计者规定好,不可更改,外部的单元可以由单片机开发者自行决定,但有一些地址单元是一定要有的(详见程序的执行过程)。
数据:
这是由微处理机处理的对象,在各种不同的应用电路中各不相同,一般而言,被处理的数据可能有这么几种情况:
1、地址(如MOVDPTR,#1000H),即地址1000H送入DPTR。
2、方式字或控制字(如MOVTMOD,#3),3即是控制字。
3、常数(如MOVTH0,#10H)10H即定时常数。
4、实际输出值(如P1口接彩灯,要灯全亮,则执行指令:
MOVP1,#0FFH,要灯全暗,则执行指令:
MOVP1,#00H)这里0FFH和00H都是实际输出值。
又如用于LED的字形码,也是实际输出的值。
理解了地址、指令的本质,就不难理解程序运行过程中为什么会跑飞,会把数据当成指令来执行了。
3.3.P0口、P2口和P3的第二功能用法
初学时往往对P0口、P2口和P3口的第二功能用法迷惑不解,认为第二功能和原功能之间要有一个切换的过程,或者说要有一条指令,事实上,各端口的第二功能完全是自动的,不需要用指令来转换。
如P3.6、P3.7分别是WR、RD信号,当微片理机外接RAM或有外部I/O口时,它们被用作第二功能,不能作为通用I/O口使用,只要一微处理机一执行到MOVX指令,就会有相应的信号从P3.6或P3.7送出,不需要事先用指令说明。
事实上‘不能作为通用I/O口使用’也并不是‘不能’而是(使用者)‘不会’将其作为通用I/O口使用。
你完全可以在指令中按排一条SETBP3.7的指令,并且当单片机执行到这条指令时,也会使P3.7变为高电平,但使用者不会这么去做,因为这通常这会导致系统的崩溃。
3.4.程序的执行过程
单片机在通电复位后8051内的程序计数器(PC)中的值为‘0000’,所以程序总是从‘0000’单元开始执行,也就是说:
在系统的ROM中一定要存在‘0000’这个单元,并且在‘0000’单元中存放的一定是一条指令。
3.5.堆栈
堆栈是一个区域,是用来存放数据的,这个区域本身没有任何特殊之处,就是内部RAM的一部份,特殊的是它存放和取用数据的方式,即所谓的‘先进后出,后进先出’,并且堆栈有特殊的数据传输指令,即‘PUSH’和‘POP’,有一个特殊的专为其服务的单元,即堆栈指针SP,每当执一次PUSH指令时,SP就(在原来值的基础上)自动加1,每当执行一次POP指令,SP就(在原来值的基础上)自动减1。
由于SP中的值可以用指令加以改变,所以只要在程序开始阶段更改了SP的值,就可以把堆栈设置在规定的内存单元中,如在程序开始时,用一条MOVSP,#5FH指令,就时把堆栈设置在从内存单元60H开始的单元中。
一般程序的开头总有这么一条设置堆栈指针的指令,因为开机时,SP的初始值为07H,这样就使堆栈从08H单元开始往后,而08H到1FH这个区域正是8031的第二、三、四工作寄存器区,经常要被使用,这会造成数据的浑乱。
不同作者编写程序时,初始化堆栈指令也不完全相同,这是作者的习惯问题。
当设置好堆栈区后,并不意味着该区域成为一种专用内存,它还是可以象普通内存区域一样使用,只是一般情况下编程者不会把它当成普通内存用了。
3.6.单片机的开发过程
这里所说的开发过程并不是一般书中所说的从任务分析开始,我们假设已设计并制作好硬件,下面就是编写软件的工作。
在编写软件之前,首先要确定一些常数、地址,事实上这些常数、地址在设计阶段已被直接或间接地确定下来了。
如当某器件的连线设计好后,其地址也就被确定了,当器件的功能被确定下来后,其控制字也就被确定了。
然后用文本编辑器(如EDIT、CCED等)编写软件,编写好后,用编译器对源程序文件编译,查错,直到没有语法错误,除了极简单的程序外,一般应用仿真机对软件进行调试,直到程序运行正确为止。
运行正确后,就可以写片(将程序固化在EPROM中)。
在源程序被编译后,生成了扩展名为HEX的目标文件,一般编程器能够识别这种格式的文件,只要将此文件调入即可写片。
在此,为使大家对整个过程有个认识,举一例说明:
ORG0000H
LJMPSTART
ORG040H
START:
MOVSP,#5FH;设堆栈
LOOP:
NOP
LJMPLOOP;循环
END;结束
第四章单片机学习
目前,很多人对汇编语言并不认可。
可以说,掌握用C语言单片机编程很重要,可以大大提高开发的效率。
不过初学者可以不了解单片机的汇编语言,但一定要了解单片机具体性能和特点,不然在单片机领域是比较致命的。
如果不考虑单片机硬件资源,在KEIL中用C胡乱编程,结果只能是出了问题无法解决!
可以肯定的说,最好的C语言单片机工程师都是从汇编走出来的编程者因为单片机的C语言虽然是高级语言,但是它不同于台式机个人电脑上的VC++什么的单片机的硬件资源不是非常强大,不同于我们用VC、VB等高级语言在台式PC上写程序毕竟台式电脑的硬件非常强大,所以才可以不考虑硬件资源的问题。
4.1.电源
⑴VCC-芯片电源,接+5V;
⑵VSS-接地端;
注:
用万用表测试单片机引脚电流一般为0v或者5v,这是标准的TTL电平,但有时候在单片机程序正在工作时候测试结果并不是这个值而是介于0v-5v之间,其实这之是万用表反映没这么快而已,在某一个瞬间单片机引脚电流还是保持在0v或者5v的。
4.2.时钟:
XTAL1、XTAL2-晶体振荡电路反相输入端和输出端4.3.控制线:
控制线共有4根
⑴ALE/PROG:
地址锁存允许/片内EPROM编程脉冲
①ALE功能:
用来锁存P0口送出的低8位地址
②PROG功能:
片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。
⑵PSEN:
外ROM读选通信号。
⑶RST/VPD:
复位/备用电源。
①RST(Reset)功能:
复位信号输入端。
②VPD功能:
在Vcc掉电情况下,接备用电源。
⑷EA/Vpp:
内外ROM选择/片内EPROM编程电源。
①EA功能:
内外ROM选择端。
②Vpp功能:
片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。
4.4.I/O线
80C51共有4个8位并行I/O端口:
P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)
第五章设计目的
5.1.通过设计巩固和加深学生对本专业课程有关内容的理解与掌握。
5.2.使学生建立正确的设计思路,掌握MCS-51系列单片机的概念、各引脚的功能,熟悉MCS-51系列单片机指令系统以及汇编语言程序设计方法。
5.3.通过对MCS-51系列单片机汇编语言的认识,使学生能够独立分析已给命题,设计解决步骤和方法并编写汇编语言程序。
5.4.使学生深入认识单片机的应用,让学生通过运用所学综合理论基础知识、专业知识解决本专业范围内的相关实际问题。
5.5.培养学生独立思考问题,分析问题,自我设计程序语言的能力。
5.6.培养学生开阔思维,严谨求实,开拓创新能力。
第六章设计要求
6.1学生根据所选课题,按要求设计并完成单片机应用系统的外部接线电路,编写汇编语言程序并调试成功,完成设计说明书。
6.2学生要独立完成设计,并具备识图与制图能力。
要会查阅手册、具备信息资料检索的能力和一定的文字表达能力。
6.3通过设计进一步培养学生自我能力和分析问题、解决问题的能力。
6.4要按规定的进度及时完成相应的设计任务,设计期间遵守有关的规章制度。
第七章设计课题
广告霓虹灯单片机应用系统设计
7.1.课题内容:
已知某大楼要求布置夜景,提出广告灯设计。
设计时单片机实验仿真仪可提供8路小灯,每路小灯可代表大楼现场的霓虹灯,本设计取单横排广告灯为例。
7.2.设计要求如下:
(1)当启动广告灯时要求广告灯按顺序从左边第一盏霓虹灯开始左移2次。
(2)完成
(1)左移两次以后,要求广告灯按顺序从右边第一盏霓虹灯开始右移2次。
(3)完成
(2)右移两次以后,要求所有广告霓虹灯闪烁4次(延时0.2秒)
7.3.要求完成:
1、广告霓虹灯系统实验电路图
2、汇编语言程序流程图
3、延时程序
4、汇编程序
5、完成广告霓虹灯系统模拟接线
7.4.机动完成:
在完成上述设计要求的前提下,可作适当的电路板焊接工作,使学生通过自己焊接的电路板来调试程序,验证电路板环节的正确性,培养学生手动能力。
第八章系统设计
8.1.系统的硬件设计
8.1.180C51单片计算机的组成原理
8.1.1.1组成框图及内部总体结构
80C5l内部组成方框图如图1所示,内部总体结构框图如图2所示。
图180C51单片机组成方框图
80C51主要包括算术/逻辑部件ALU、累加器A(有时也称ACC)、只读存储器ROM、随机存储器RAM、指令寄存器IR、程序计数据PC、定时器/计数据、I/O接口电路、程序状态寄存器PSW、寄存器组,此外,还有堆栈寄存器SP、数据指针寄存器DPTR等部件。
这些部件集成在一块芯片上,通过内部总线连接,构成完整的微型计算机。
下面按其部件功能分类予以介绍。
图280C51总体结构框图
8.1.1.2寄存器和存储器
微处理器中的寄存器是学习指令系统和程序设计中常会接触到的、寄存器是由触发器组成的,8位寄存器由8个触发器组成,16位寄存器由16个触发器组成。
MCS—51中的寄存器较多,大体可分为通用寄存器和专用寄存器两类。
图3微处理器存储器结构
MCS—51存储器配置:
微型计算机必须配置一定数量的存储器,但不同的微型计算机存储器的配置不同。
一种是程序与数据共用一个存储器,如图3(a)所示。
一般的通用计算机都采用此种形式。
另一种是将程序与数据分别放在两个存储器内,一个称程序存储器,另一个称数据存储器,如图3(b)所示。
MCS—5l单片机属于此类。
这是由单片机的应用特点所决定的,因为单片机往往是为某个特定对象服务的,这是与通用计算机不同的一个显著特点。
它的程序设计调试成功后,一般是固定不变的,因而程序(包括常数表)可以而且也应该一次性地永久放到单片机内。
这样不仅省去了每次开机后台程序重新装入步骤,还可以有效地防止围掉电和其它干扰而引起的程序丢失的错误。
MCS—51片内集成有一定容量的程序存储器(8031/80c31/8032除外)和数据存储器并具有较大的外部存储器扩展能力。
物理上,MCS—51有4个存储器空间:
片内程序存储器、片外程序存储器,片内数据存储器、片外数据存储器。
图5给出了访问程序存储器时,程序取指所涉及到的信号和时序。
如果程序存储器是外部的,则程序存储器读选PSEN一般是每个机器周期两次有效,如图4(a)所示,如果是访问外部数据存储器,如图4(b)所示,则要跳过两个PSEN,因为地址和数据总线正在用于访问数据存储器。
应该注意的是,数据存储器总线周期为程序存储器总线周期的2倍,图4给出了端口0和端口2所发送的地址ALE和PSEN的相对时序。
ALE用于将P0的低位地址字节锁存到地址锁存器中。
图4MCS-51执引外部程序存储器中指令码时的总线周期
8.1.1.3单片机各口及其负载能力、接口要求
MCS—51单片机有4个口,共32根I/O线。
所有4个端口都是双向口,每口都包含一个锁存器,即专用寄存器P0--P3,一个输出驱动器和输入缓冲器。
为了方便起见,我们把4个端口和其中的锁存器(即专用寄存器)都笼统地表示为P0—P3。
MCS-51在访问外部存储器时,地址由P0、P2口送出,数据则通过P1口传送,这时P0口是分时多路转换的双向总线。
无外部存储器的系统中,所有4个端口都可以作为准双向口使用。
P0口是8位双向三态输入/输出接口,如图5(a)所示。
P0口既可作地址/数据总线使用.又可作通用I/O口用。
连接外部存储器时,P0口一方面作为8位数据输入/输出
口,另一方面用来输出外部存储器的低8位地址。
作输出口时,输出漏极开路,驱动NMOS电路时应外接上拉电阻;作输人口之前,应先向锁存器写1,使输出的两个场效应管均关断,引脚处于“浮空”状态,这样才能做到高阻输入,以保证输人数据的正确。
正是由于该端口用作I/O口,输入时应先写l,故称为准双向口。
当P0口作地址/数据总线使用时,就不能再把它当通用I/O口使用。
P1口是8位准双向口,作通用输入/输出口使用,如图5(b)所示。
在输出驱动器部分,Pl口有别于P0口,它接有内部上拉电阻。
P1口的每以一位可以独立地定义为输人或者输出,因此,P1口既可作为8位并行输入/输出口,又可作为8位输入/输出端。
CPU既可以对P1口进行字节操作,又可以进行位操作。
当作输入方式时,该位的锁存器必须顶写1。
P2口是8位准双向输入/输出接口,如图5c)所示。
P2口可作通用I/0口使用与P1口相同。
当外接程序存储据时,P2口给出地址的高8位,此时不能用作通用,I/O口。
当外按数据存储器时,若RAM小于256KB,用R0、R1作间址寄存器,只需要P0口送出地址低8位,P2口可以用作通用I/O;若RAM大于256KB,必须用16位寄存器DPTR作间址寄存器.则P2口只能在一定限度内作一股I/O口使用。
P3口也是一个8位的准双向输入/输出接口,如图5(d)所示。
它具有多种功能。
一方面与P1口一样作为一般准双向输入/输出接口,具有字节操作和位操作二种工作方式;另一方面8条闲人/输出线可以独立地作为串行输入/输出口和其它控制信号线。
P0—P3端口的负载能力及接口要求
P0口的输出级与P1-P3口的输出级在结构上是不同的,因此它们的负载能力和接口要求也各不相同。
P0口的每一位输出可驱动8个LSTTL输入,但把它当通用口使用时,输出级是开漏电路,故用它驱动NM0S输入时需外接上拉电阻;把它当地址/数据总线时,则需接外部上拉电阻。
P1—P3口的输出级接有内部上拉电阻,它们的每一位输出可驱动4个LSTTL输入。
CHMOS端口只能提供几毫安的输出电流,故当作为输出口去驱动一个普通晶体管的基极时,应在端口与晶体管基极间串联一个电阻,以限制高电平输出时的电流。
I/O口的读一修改一写特性由图5可见,每个I/O端口均有两种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 广告 霓虹灯 单片机 设计