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