《项目循环彩灯的设计仿真与制作.ppt》由会员分享,可在线阅读,更多相关《项目循环彩灯的设计仿真与制作.ppt(60页珍藏版)》请在三一办公上搜索。
1、项目1 循环彩灯的设计、仿真与制作,1.1工作任务1.2理论基础1.3工作过程1.4能力拓展,1.1 工作任务,本项目的工作任务是设计一个单片机最小应用系统,使得单片机控制8个发光二极管,实现日常生活中的需要的某种效果。具体要求如下:本项目的硬件电路使用一片ATMEL公司的89551芯片,一块晶振,8个发光二极管进行搭接。要求按一定时间间隔依次点亮发光二极管,实现流水灯控制,展现简单流水灯效果。,返回,1.2 理论基础,1.2.1 51系列单片机内部结构和引脚AT89 S51单片机的芯片实物图如图1一1所示。1.51系列单片机结构51系列单片机的内部结构框图如图1-2所示。51系列单片机由8大
2、部分组成(1)中央处理器(CPU)CPU是单片机的核心,用来完成运算和控制功能。运算由以算术逻辑单元(ALU)为主的“运算器”完成。而控制则由包括时钟振荡器在内的“控制器”完成,其主要功能是对指令码进行译码,然后在时钟信号的控制下,使单片机的内外电路能够按一定的时序协调有序地工作,执行译码后的指令。,下一页,返回,1.2 理论基础,(2)内部RAM(3)内部 PROM(4)定时器/计数器(5)并行口(6)串行口(7)中断(8)CPU内部总线和外部总线当单片机最小系统不能满足系统功能的要求时,就需要进行扩展。为了使单片机能方便地与各种扩展芯片连接,常将MCS一51单片机的外部连线变为一般的微型计
3、算机三总线结构形式,其三总线由下列通道口的引线组成。,上一页,下一页,返回,1.2 理论基础,总线包括:地址总线、数据总线、控制总线。2.89 S51单片机的引脚80551单片机采用40引脚双列直插封装(DIP)形式。图1一3为其引脚图,下面介绍各引脚名称及功能。(1)电源引脚Vcc和Vss(2)时钟电路引脚XTALl和XTAL2XTALl:接外部石英晶体和微调电容的一端。在片内它是振荡器的反相放大器的输入当使用外部时钟时,对于HMOS单片机,该引脚必须接地;对于CHMOS单片机,该引脚作为驱动端。,上一页,下一页,返回,1.2 理论基础,XTAL2:接外部石英晶体和微调电容的另一端。在片内它
4、是振荡器的反相放大器的输出端,振荡电路的频率是晶体振荡频率。当使用外部时钟时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。(3)控制信号引脚ALE,PSEN,EA和RST(4)输入/输出引脚P0P3是4个寄存器,也称为4个端u,是80051单片机与外界联系的4个8位双向并行I/O口。由于在数据的传输过程中,CPU需要对接u电路中输入输出数据的寄存器进行读写操作,所以在单片机中对这些寄存器要像对存储单元一样进行编址。通常把接口电路中这些已编址并能进行读写操作的寄存器称为端口(PORT)或简称口。P3口的 引脚具有第二功能(见表1-1).,上一页,下一页,返回,
5、1.2 理论基础,单片机的最小系统1.单片机时钟电路及时钟信号80C51单片机的时钟系统是一个内含振荡电路、外接谐振器与可关断控制的时钟系统,如图1一4所示。(1)时钟振荡器。时钟振荡器是一个在片上的并联谐振电路,谐振器为石英振子或陶瓷振子。(2)时钟振荡器通过引脚XTAL2,XTAL1与外接谐振器、振荡电容C1、C2相连。C1和C2一般取30pF左右,振荡频率范围是1.212MHz。(3)80C51的时钟系统具有可关断功能。通过IDL端可关闭CPU的时钟;通过PD端可关闭时钟振荡器。时钟系统的关断功能主要用于单片机的功耗管理。,上一页,下一页,返回,1.2 理论基础,谐振器的振荡信号从XTA
6、L2端送到内部时钟电路上,它对振荡信号二分频,并向CPU提供两相时钟信号P1和P2。时钟信号的周期称为状态时间,它是振荡周期的2倍,在每个状态的前半周期,P1信号有效;在每个状态的后半周期,P2信号有效。CPU就以两相时钟P1和P2为基本节拍指挥单片机各部分协调工作。以上所述为内部时钟方式。在由多片单片机组成的系统中,为了各单片机之间时钟信号的同步,常采用外部时钟方式,引入唯一公用的外部时钟信号作为各单片机的振荡脉冲。此时,外部信号接入XTAL1端,XTAL2端悬空不用,对外部时钟信号的占空比没有要求,高低电平持续时间应不小于20ns。,上一页,下一页,返回,1.2 理论基础,单片机的基本操作
7、周期称为机器周期。为了便于分析CPU的时序,介绍以下四种周期信号。振荡周期。时钟周期。机器周期。指令周期。图1-5给出了80051单片机取指和执行指令的定时关系。下面对几种典型指令的取指时序进行说明。单字节单周期指令(例如INC A)。双字节单周期指令(例如ADD A,#data)。单字节双周期指令(例如INC DPTR)。,上一页,下一页,返回,1.2 理论基础,对于指令MOVX A,C DPTR,如图1-5所示,这类指令访问片外数据存储器,与其他单字节双周期指令有所不同。上述时序图只表现了取指令的过程,而没有表现执行指令的过程。实际上,执行指令的操作是紧随取指今之后进行的,不同指今的操作时
8、序是不同的。2.单片机复位电路及复位状态计算机在启动运行前需要复位,使中央处理器和系统中其他部件都处于一个确定的初始状态,单片机从这个状态开始工作。,上一页,下一页,返回,1.2 理论基础,80051单片机的复位输入引脚PST提供了初始化的手段,在80051单片机时钟电路下作之后,只要保证在PST引脚上出现2个机器周期以上的高电平,就能确保单片机可靠复位(1)复位后各寄存器的初始状态复位后各寄存器的初始状态见表1一2。(2)复位电路80051系统在刚通电(上电)后,必须复位。复位是由外部复位电路来实现的,按功能可分为以下几种方式。上电自动复位上电复位电路如图1一6所示。,上一页,下一页,返回,
9、1.2 理论基础,人工复位“看门狗”复位。图1-7(a)为采用MAX705芯片的多功能复位电路。MAX705是一种多功能的复位芯片,如图1一7(b)所示。单片机中存储器结构单片机存储器结构有两种类型:一种程序存储器和数据存储器统一编址,属于普林斯顿结构;另一种程序存储器和数据存储器分开编址的哈佛结构。MCS-51采用的是哈佛结构。80C51单片机在物理上有4个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器,其结构如图1一8所示。,上一页,下一页,返回,1.2 理论基础,1.单片机中程序存储器空间程序存储器是用于存放数据和表格常数的。程序存储器的操作有:程序指令的自主操
10、作。程序按照PC指针顺序操作或转移操作。表格常数的查表操作。2.单片机中数据存储器空间数据存储器用于存放运算的中间结果,进行数据暂存以及数据缓冲等。(1)片内数据存储器片内数据存储器的配署见图1一9所示。,上一页,下一页,返回,1.2 理论基础,通用寄存器区。在低128字节中,32个工作寄存器占用00 H1FH单元,分为4组,构成通用寄存器区,每组由8个通用工作寄存器(R0R7)组成。工作寄存器地址如表1一3所示。位寻址区。内部RA M的20 H2FH为位寻址区,如表1一4所示。这16个字节单元既可以进行位寻址操作,也可以进行字节寻址操作。用户RAM区。用户RAM区设在30H 7FH地址空间,
11、堆栈区也可以设在这里。这个区域只能用字节地址寻址。特殊功能寄存器区。特殊功能寄存器也称专用寄存器,专用于控制及管理片内算术逻辑部件、并行I/0口、串行I/0口、定时器/计数器、中断系统等功能单元的工作。用户在编程时可以置数设定,而不能自由地移作他用。,上一页,下一页,返回,1.2 理论基础,在SFR区中,访问没有定义的单元得到的是一个随机数。表1-5为特殊功能寄存器一览表。在21个特殊功能寄存器中,字节地址能被8整除的特殊功能寄存器具有位寻址能力,共包括11个字节,83位。表1-6列出了访问不同存储器与所用指令及其寻址方式的对应关系。单片机的指令及指令书写1.单片机中数的表示计算机内部采用二进
12、制表示各种数据,对于单片机而言,其主要的数据类型分为数值数据和逻辑数据两种。下面分别介绍数值的概念和各种数据的机内表示、运算等知识。,上一页,下一页,返回,1.2 理论基础,按进位的原则进行计数,称为进位计数制,简称数制。数制有多种,在计算机中常使用的有二进制、八进制、十进制、十六进制。计算机中实际的数值是带有符号的,既可能是正数,也可能是负数。于是在计算机中就存在着如何表示正、负数的问题(1)带符号数的表示方法通常规定一个有符号数的最高位为符号位,即数的符号在机器中一也数码化了。把一个数放在计算机中的表示形式叫机器数,而这个数本身就称为这个机器数的真值。一个有符号数,由于编码不同,可以有几种
13、机器数。反之,一个机器数,由于解释方法不同,又可代表几种真值,见表1一7。,上一页,下一页,返回,1.2 理论基础,由于计算机只能识别0和1,因此,在计算机中通常把1个二进制数的最高位作为符号位,以表示数值的正与负,,并用0表示“+”,用1表示“-”。具体而言,带符号的二进制数,在计算机中有三种表示方式,即为原码、反码和补码。它们的共同特点都是通过符号位来表示数的正负,但是数值大小的表示方法是不同的。原码如上所述,正数的符号位用0表示,负数的符号位用1表示,符号位之后表示数值的大小,这种表示方法称为原码。,上一页,下一页,返回,1.2 理论基础,反码正数的反码与原码相同。最高位一定是0,代表符
14、号“+”。其余位为数值位。负数的反码其符号位为1,与原码相同,数值位则将该负数的原码数值位按位取反。补码正数的补码表示与原码相同,即最高位为符号位,用“0”表示正,其余位为数值位。而负数的补码为其反码加1形成。(2)计算机常用编码由于计算机只能识别二进制数,所以,字符一也由几位组合的二进制代码来表示,这就是二进制编码。常见的编码有BCD码、ASCII码等。,上一页,下一页,返回,1.2 理论基础,二一十进制编码(BCD码)BCD码就是以二进制数表示十进制数的一种编码,它实质是一种用二进制编码的十进制数。BCD码用标准8421码的16个状态中的10个来表示09。字母和符号的编码在计算机内,任何信
15、息都是用代码表示的,因此,这些符号也必须要有自己的编码。ASCII码(美国信息标准代码)是一种国际通用文字符号代码。,上一页,下一页,返回,1.2 理论基础,2.MCS-51单片机的指令系统单片机要执行某种操作或运算时,要先向CPU输入以二进制数为代码(机器码)的操作命令,这种操作命令就称为指令。指令是组成程序的基本元素。MCS一51指令系统即是指MCS一51提供的全部指令的集合。指令系统与微处理器型号有关,各类型的CPU都有一套适用于它本身的指令系统。MCS一51指令系统共拥有各种指令111条。其特点如下:指令执行时间快;指令短,约有一半的指令为单字节指令;用一条指令即可实现两个1字节的相乘
16、或相除;具有丰富的位操作指令;可直接用传送指令实现端口的输入/输出操作。,上一页,下一页,返回,1.2 理论基础,按指令机器码的长度,MCS-51单片机指令可分为单字节指令(单字节指令格式由8位二进制编码表示)、双字节指令(双字节指令格式由两个字节组成,即操作码和操作数)、三字节指令(三字节指令格式中,第一个字节为操作码,后两个字节为操作数)。指令的字节越少,所占用的程序存储器空间一也越少,所以编程时尽可能选用字节少的指令。按指令功能,MCS一51指令系统又可分为数据传递与交换、算术运算、逻辑运算、位操作、控制转移5大类指令可从以下几个方面认识MCS-51指令系统:(1)指令格式在MCS一51
17、指令中,一条指令主要由操作码、操作数两部分组成。,上一页,下一页,返回,1.2 理论基础,操作码在前,规定指令所完成的功能,指明执行什么性质和类型的操作。例如,数的传送、加法、减法等。操作数规定操作的对象,操作数可以是一个具体的数(立即数),也可以是这个数据所在的地址。(2)指令中常用符号应说明的是,凡指令表上标明符号的地方,在使用时必须根据符号要求,选用具体数值,不能直接写成上述符号。例如不能有“MOV A,Rn”这种写法。(3)寻址方式所谓寻址方式,就是指某一个CPU指令系统中规定的寻找操作数所在地址的方式,或者说通过什么样的方式找到操作数。在用汇编语言编程时,数据的存放、传送、运算都要通
18、过指令来完成。,上一页,下一页,返回,1.2 理论基础,在MCS一51单片机指令系统中,有7种寻址方式 立即寻址在这种寻址方式中,操作数以数字形式直接出现在指令中,它紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器内,可以立即得到并执行,不需要另去寄存器或存储器等处寻找和取数,故称为立即寻址。该操作数称为立即数,并在其前冠以“#”号作前缀,以表示并非地址。立即数可以是8位或16位,用十六进制数表示。直接寻址若在指令中直接给出操作数的地址,这种寻址方式就属于直接寻址方式。在这种方式中,指令的操作数部分是操作数的地址。在MCS-51单片机指令系统中,直接寻址方式中可以访问3种存储器
19、空间:,上一页,下一页,返回,1.2 理论基础,a.内部数据存储器的低128个字节单元(00 H一7FH)ob.特殊功能寄存器。特殊功能寄存器只能用直接寻址方式进行访问。对特殊功能寄存器直接寻址可以用字节地址,也可用特殊功能寄存器。c.位地址空间。寄存器寻址选定某寄存器,在该寄存器中读取或存放操作数,以完成指令规定的操作,称为寄存器寻址。在该寻址方式中,操作数中有一个是寄存器名称。寄存器一般指8个工作寄存器R0R7,还包括累加器A、数据指针DPTR和布尔处理器的位累加器C。实际上寄存器寻址也可以看做是一种直接寻址。,上一页,下一页,返回,1.2 理论基础,寄存器间接寻址在这种寻址方式中,寄存器
20、的内容为操作数的地址。间接寻址的存储器空间包括内部数据RAM和外部数据RAM。这里要强调的是这种寻址方式中,寄存器的内容不是操作数本身,而是操作数地址。寄存器间接寻址符号为“”。基址寄存器加变址寄存器间接寻址这种寻址方式常用于访问程序存储器中的数据表格,它以基址寄存器DPTR或PC的内容为基本地址,加上变址寄存器A的内容作为操作数的地址。两者的内容相加形成16位程序存储器地址,该地址就是操作数所在地址。变址寻址只能对程序存储器中数据进行操作。,上一页,下一页,返回,1.2 理论基础,相对寻址相对寻址是以当前程序计数器PC的内容为基本地址,加上指令中给定的偏移量(rel)作为转移地址,而构成实际
21、操作数地址的寻址方法。位寻址在该种寻址方式中,操作数是内部PRAM单元中某一位的信息。MCS一51系列单片机具有位寻址的功能,即在指令中直接给出位地址,可以对内部数据存储器PRAM中的128位地址和特殊寄存器SFR中的83位地址进行寻址,而且位操作指令可对地址空间的每一位进行传送及逻辑操作。综上所述,在MCS-51系列单片机的存储空间中,指令究竟对哪个存储器空间进行操作是由指令操作码和寻址方式确定的。7种寻址方式及其寻址空间如表1-8所示。,上一页,下一页,返回,1.2 理论基础,2.5与本项目相关的指令1.汇编语言伪指令(1)定义字节ORG其格式为:ORG 16位地址或标号该伪指令的功能是规
22、定其后面目标程序的起始地址。它放在一段源程序(主程序、子程序)或数据块的前面,说明紧跟在其后的程序段或数据块的起始地址就是指令中的16位地址(4位十六进制数)。此后的源程序或数据块就依次连续存放在以后的地址内,直到遇到另一个ORG指令为止。,上一页,下一页,返回,1.2 理论基础,(2)结束汇编伪指令END格式:标号:ENDEND是汇编语言源程序的结束标志,表示汇编结束。在END后所写的指令,汇编程序都不予以处理。一个源程序只能有一个END命令。在同时包含有主程序和子程序的源程序中,一也只能有一个END命令,并放到所有指令的最后,否则就有一部分指令不能被汇编。2.数据传送类指令数据传送指令是单
23、片机中最常用的指令,大概可分为数据传送、数据交换与堆栈操作3类。,上一页,下一页,返回,1.2 理论基础,3.跳转指令单片机的指令通常是顺序执行的,但有时候,需要将程序跳转至某处执行。如调用某一子程序,这时就需要用到转移控制类指令。转移控制类指令分为无条件转移指令、条件转移指令和返回及调用指令,共17条。,上一页,返回,1.3 工作过程,1.3.1构思学生查阅该项目相关资料,如教材、参考书目、图书、网络资源等,收集发光二极管的信息,包括发光二极管的应用场合、发光二极管的发展现状、发光二极管的应用前景等;教师采用多媒体课件讲授该项目理论知识相关内容,为学生制作信号灯奠定理论基础;教师带领学生走访
24、、参观单片机工作现场,通过观看、提问获取单片机实际应用的知识,通过与指导教师和单片机工作人员交谈,解决该项目设计和制作的疑难问题。最终完成学生工作页(表1-9)的填写。,下一页,返回,1.3 工作过程,1.3.2 设计1.单片机选型本项目选用ATMEL公司生产的AT89 SS 1单片机2.信号灯硬件设计本项目选用8只发光二极管,使发光二极管工作在通过电流为410mA状态下。由于此时通过二极管的正向导通电压为1.8V,显然不能直接用单片机的u驱动,因此需在电路中串联限流电阻。由于单片机I/O口的低电平驱动能力较强,可用低电平使发光管点亮,高电平使发光管熄灭。信号灯的硬件电路图如图1-10所示。,
25、上一页,下一页,返回,1.3 工作过程,3.软件程序设计要求用P 1口的8位(P1.0P1.7)分别驱动8只LE D(发光二极管),使小灯依次打开与关断。4.信号灯的系统仿真系统仿真调试过程和步骤请参见绪论,这里不再赘述。系统仿真电路图如图1一11所示。1.3.3项目实施1.制作信号灯的电路板,上一页,下一页,返回,1.3 工作过程,在确保设备、人身安全的前提下,学生按计划分工进行单片机系统的制作和生产工作。首先进行PCB制板,如学过制板课程,可自行制板;如没有学过,可向教师索要提前准备好的板或采用万能板制作均可。列出所需元件清单,如表1一10所示。准备好所需元件及焊接工具(电烙铁,焊锡丝,镊
26、子,斜口钳,万用表等),开始制作硬件电路板,如图1一12所示。焊接完成后,要进行硬件电路的测试。测试单片机的电源和地是否正确连接;测试单片机的时钟电路和复位电路是否正常;测试EA引脚是否与电源相连;测试LED数码管动态显示电路是否正确;,上一页,下一页,返回,1.3 工作过程,测试下载口界限是否正确。小组反复讨论、分析,调试好单片机系统的硬件。2.联机调试将已通过仿真的软件程序下载到单片机中,运行程序,观察结果,看是否运行正常,如不正常,查找原因,解决问题。按照操作过程,分析讲解具体操作过程中各个环节出现的现象,并记录正确的结果。同时学生提问,教师解决学生实施过程中出现的各种问题,并强调注意事
27、项。教师督促学生自主完成项目并同时完成项目报告。,上一页,下一页,返回,1.3 工作过程,项目评价以教师为主,通过教师评价、学生自评、学生互评、成果评定等四个方面对学生的项目完成情况进行综合评价;同时对项目报告进行评价,即按项目的技术指标进行评价;对实施记录和实训报告进行评价;以及对学生过程中的学习态度、工作态度、团结协作精神、出勤率、敬业爱岗和职业道德进行评价。以专兼教师为主,按以下几个方面对学生完成项目的整个过程进行评价,项目考核具体内容见表1-11所示。,上一页,返回,1.4 能力拓展,1.在上述信号灯设计的基础上,大家可以考虑如何编程点亮1,3,5,7发光二极管,然后点亮2,4,6,8
28、发光二极管2.大家可以在上述信号灯设计的基础上考虑增加按键控制功能。即每按一下按键,使信号灯点亮的顺序变化一次。,返回,图1一1 AT89S51芯片,返回,图1一2 AT89S51内部结构,返回,图1-3 AT89S51单片机引脚图,返回,表1-1 P3口线第二功能表,返回,图1-4 80C51单片机时钟系统,返回,图1-5 80C51单片机典型指令的取指操作,返回,表1-2 80C51单片机复位后各内部寄存器的状态,返回,图1-6 上电与按钮复位电路,返回,图1一7 多功能复位电路,返回,(a)多功能复位电路;(b)MAX705引脚图,图1-8 80C51单片机存储器配置图,返回,图1一9 片内数据存储器的配置,返回,表1-3 工作寄存器地址表,返回,表1-4 RAM位寻址区位地址表,返回,表1-5 80C51特殊功能寄存器(SFR)一览表,返回,表1-5 80C51特殊功能寄存器(SFR)一览表续表,返回,表1-6 访问不同存储器与所用指令及其寻址方式对应关系表,返回,表1-7 数的表示方法,返回,表1-8 寻址方式及其寻址空间,返回,表1-9 学生工作页,返回,图1一10 信号灯的硬件电路图,返回,图1一11 信号灯仿真电路图,返回,表1一10 元件清单,返回,图1一12 信号灯实物,返回,表1-11 项目考核表,返回,