汽车单片机教案3_第1页
汽车单片机教案3_第2页
汽车单片机教案3_第3页
汽车单片机教案3_第4页
汽车单片机教案3_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课 堂 教 案 教师:刘杨 科目:汽车单片机技术 题目第一章 汽车单片机原理 第四节 第五节班级汽检课型专业基础课教法面授教具板书课时2教学目的目标熟悉微型计算机和单片机的概念,了解MCS-51单片机的组成和引脚,熟悉指令系统,熟悉单片机的中断、定时器/计数器和串行通信。教学重点熟悉单片机的中断、定时器/计数器教学难点串行通信教学内容与程序一、 课前提问二、 引题,新课引入三、 课后小结四、 作业布置作业教材 P538、9教 案 附 页第一章 汽车单片机原理第四节 单片机指令系统一、单片机语言单片机的指令描述形式有两种:机器语言形式和汇编语言形式。1.机器语言由于计算机只能识别二进制数,所以

2、计算机中所有的指令和数据都是用二进制代码来表示。2.汇编语言由于机器语言不便被人们识别、记忆、理解和使用,因此给每条机器语言指令赋予助记符号来表示,这就形成了汇编语言。助记符号多用英文字母和数字组成。3.高级语言除了汇编语言,还有高级语言,如BASIC、PASCAL、C语言等,可以用来对单片机编程。高级语言接近自然语言(英语)和数学语言的算法语言,具有直观、通用等特点。二、MCS-51单片机指令系统1.汇编语言指令格式:指令系统中的指令描述了不同的操作,不同操作对应不同的指令。但结构上,每条指令通常由操作码和操作数两部分组成。汇编语言指令格式如下:格式:标号: 操作码助记符 第一操作数 ,第二

3、操作数 ;注释2.指令常用符号(1) Rn(n=07):表示八个通用寄存器R0R7。(2) Ri(i=0,1):表示两个寄存器R0、R1,它们常在间接寻址中作为8位地址指针。(3) #data:表示8位立即数,即包含在指令中的8位常数,如#30H。(4) #data16:表示16位立即数,即包含在指令中的16位常数,如#2010H。(5) direct:表示片内RAM(含特殊功能寄存器)的直接地址。(6) addr11:表示11位目的地址。(7) addr16:表示16位目的地址。(8) rel:表示带符号的8位地址偏移量 (9) bit:表示位地址。(10) :作为寄存器的前缀,表示间接寻址

4、。(11) ():表示存储器单元的内容。(12) ():表示以X单元的内容为地址的存储器单元内容。(13) :表示将箭头左边内容送入箭头右边。(14) /:表示对该位操作数取反,但不影响该位的原值。 3. 寻址方式(1)立即寻址操作数直接出现在指令中,紧跟在操作码的后面,作为指令的一部分与操作码一起存放在程序存储器中,可以立即得到并执行,故称为立即寻址。汇编指令中,在一个数的前面冠以#符号作前缀,就表示该数为立即寻址。例如指令:MOVA,#30H指令中30H就是立即数。指令的功能是将立即数30H传送到累加器A中。 (2)直接寻址直接寻址是指在指令中直接给出操作数所在存储单元的地址。该指令的功能

5、是从该地址中直接获取操作数。例如指令:MOV A,40H该指令中40H为操作数的直接地址。指令的功能是把片内RAM地址为40H单元的内容送到A中。(3)寄存器寻址寄存器寻址是指把寄存器的内容作为操作数。寄存器可以是通用寄存器R0R7,也可以是ACC、B、DPTR等寄存器。例如指令:MOVA,R0该指令是寄存器寻址。指令的功能是把工作寄存器R0中的内容传送到累加器A中,如R0中的内容为30H,则执行该指令后A的内容也为30H。(4)寄存器间接寻址在寄存器间接寻址中,指令中的一个操作数是加了前缀“”的寄存器,“”表示该寄存器中的内容是操作数的地址。可用于间接寻址的寄存器是R0、R1、DPTR。其中

6、,R0和R1用于8位地址寻址,DPTR用于16位地址寻址。例如:指令:MOV A,R0(5)变址寻址(基址寄存器+变址寄存器)变址寻址是指以寄存器的内容作为基地址,然后在这个基地址的基础上加上地址偏移量形成操作数的地址,并在这个地址中取出操作数。在变址寻址中只能用DPTR和PC作为基址寄存器,累加器A作为偏移量寄存器。变址寻址用于读取程序存储器的数据,常用于查表操作。 例如:指令:MOV A,R0(6)相对寻址相对寻址是将程序计数器PC中的当前值与指令第二字节给出的偏移量rel相加,其结果作为跳转指令的转移地址。相对寻址主要用于转移类指令,寻址范围是程序存储器。偏移量rel是有符号的单字节数。

7、以补码表示,其偏移范围是-128+127。负数表示从当前地址向前转移,正数表示从当前地址向后转移。所以,相对转移指令满足条件后,转移的地址(目的地址)为: 目的地址 = 指令存储地址 + 指令字节数 + rel(7)位寻址 位寻址是指指令的操作数为8位二进制数的某一位,指令中给出的是操作数的位地址。可用于位寻址的区域是片内RAM 20H2FH单元和部分特殊功能寄存器。二、指令系统1.数据传送类指令数据传送指令把“源操作数”中的数据传送到“目的操作数”中去,而源操作数的内容保持不变。(1)片内RAM数据传送指令(2)片外RAM数据传送指令(3)查表指令(4)交换指令(5)堆栈指令2算术运算指令算

8、术指令包括加、减、乘、除法指令,数据运算功能较强。如表1-5所示。算术运算结果存放在目的操作数所代表的单元内。(1)不带进位加法指令(2)带进位的加法指令(3)带借位减法指令(4)加1指令(5)减1指令(6)乘法指令(7)除法指令(8)十进制调整指令3.逻辑运算指令(1)逻辑与指令(2)逻辑或指令(3)逻辑异或指令(4)清零指令(5)循环移位指令4.控制转移指令(1)无条件转移指令(2)判零条件转移指令(3)减1条件转移指令(4)比较转移指令(5)地址偏移量rel的计算5.位操作指令(1)位修正指令位修正指令包括:位清零指令CLR、位置1指令SETB、位取反指令CPL。(2)位逻辑运算指令位逻

9、辑运算指令与字节逻辑运算指令相似。其中“/bit”表示取反后在进行逻辑运算。(3)位数据传送指令 位数据传送指令与字节数据传送指令相似。(4)位条件转移类指令位条件转移类指令与字节条件转移类指令相似,地址偏移量rel的计算方法相同。6.子程序调用、返回和空操作指令(1)短调用指令 短调用指令ACALL指令的目标地址是11位。在调用子程序时,该指令与AJMP指令类似,要求调用子程序的入口地址与ACALL指令后面指令的第一个字节在同一个2 K页面的程序存储器区域中。 (2)长调用指令 长调用指令LCALL指令的目标地址是16位。可在64 K程序存储器区域范围内调用任何一个子程序。 (3)子程序返回

10、指令 子程序返回指令RET,功能是使CPU从子程序返回到主程序的断点处,使主程序继续执行。 118(4)中断返回RETI中断返回指令RETI,功能是使CPU从中断服务子程序返回主程序的断点处,同时清除相应的中断状态寄存器,开发中断。(5)空操作指令执行空操作指令NOP,除PC内容加1外,不影响任何标志位和其他寄存器。NOP指令常用来产生一个机器周期的延迟。第五节 单片机中断、定时器/计数器、串行通信一、中断1中断的概念所谓中断,就是中断正在进行的工作,转而去处理另一项较为紧急的事情,处理完毕后再转回来继续处理原来的工作。2.中断源引起中断原因的的设备部件,或引起程序中断的事件称为中断源。单片机

11、的中断源分为内部中断源和外部中断源。外部中断源一般是外部设备中断源、控制对象中断源和传感器中断源。3. 中断源优先级及中断嵌套一个单片机系统可能有多个中断源,而单片机CPU在某一时刻只能响应一个中断源的中断请求,当多个中断源同时向CPU发出中断请求时,CPU 通过内部硬件查询,按照“优先级别”顺序确定先响应哪个中断请求。8051单片机的优先级次序为:中断源 同级自然优先级别外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断 串行通信口中断 最低级 4. 中断控制定时器/计数器(T0、T1)中断请求和外部中断(引脚 和)请求由定时/计数器控制寄存器(TCON)控制。串行通信口(TX、

12、RX)中断请求由串行口控制寄存器(SCON)控制。中断允许(源允许、总允许)由中断允许控制寄存器(IE)控制。中断优先级控制由中断优先级控制寄存器(IP)控制。上述控制寄存器可以用数据传送指令进行字节或位设置控制。5.中断请求的响应单片机响应某一中断请求后要进行如下操作:(1) 完成当前指令的操作。(2) 保护断点地址,将PC内容压入堆栈。(3) 屏蔽同级的中断请求。(4) 将中断源入口地址(固定的)送入PC寄存器,自动转入相应中断程序入口地址。(5) 执行中断服务程序。(6) 当执行到RETI指令时即结束中断,从堆栈中自动弹出断点地址到PC寄存器,返回到先前断点处继续执行原程序。 二、定时器

13、/计数器MCS-51单片机内带有两个16位定时器/计数器T0和T1,用于定时和计数控制。1. 定时器/计数器的结构图1-20是MCS-51单片机定时器/计数器逻辑结构图,内带有两个16位定时器/计数器T0和T1;定时器方式寄存器(TMOD)和定时器控制寄存器(TCON)。(1)16位加法器定时器/计数器的核心是16位加法计数器,图中用特殊功能寄存器TH0、TL0及TH1、TL1表示。TH0、TL0是定时器/计数器T0加法计数器的高8位和低8位,TH1、TL1是定时器/计数器T1加法计数器的高8位和低8位。加法计数器的初值可以由程序设定,设置的初值不同,计数值或定时时间就不同。在定时器/计数器的

14、工作过程中,加法计数器的内容可用程序读回CPU。(2)定时器方式寄存器(TMOD)定时器/计数器T0、T1都有四种工作方式,可通过程序对TMOD设置来选择。TMOD的低4位用于定时器/计数器T0,高4位用于定时器/计数器T1。C/:定时或计数功能选择位,当C/=0时为定时方式;当C/ =1时为计数方式。GATE:门控位,用于控制定时器/计数器的启动是否受外部中断请求信号的影响。2定时器控制寄存器TCONTCON是一个8位寄存器,用于控制定时器的启动/停止以及标志定时器溢出中断申请。TCON的地址为88H,既可进行字节寻址又可进行位寻址。复位时所有位被清零。各位功能如图1-22所示。图中TR0和

15、TR1分别用于控制T0和T1的启动与停止,TF0和TF1用于标志T0和T1是否产生了溢出中断请求。低4位用于中断系统的控制。3. 定时器/计数器的工作原理定时器/计数器T0和T1是在定时器方式寄存器TMOD和定时器控制寄存器TCON联合控制下进行定时或计数工作的。 三、串行通信80C51单片机的串行接口是一个全双工串行通信接口,具有同时发送和接受的功能。它可以作为UART(通用异步接受和发送器)使用,也可以作为同步移位寄存器使用。单片机的串行通信功能是车载电控单元网络通信的基础。1.串行通信基础知识通信分为并行通信和串行通信。并行通信是指构成信息的二进制字符的各位数据同时传送的通信方法, 串行

16、通信又分为两种基本通信方式,即异步通信和同步通信。(1)串行异步通信在串行异步通信中,被传送的信息通常是一个字符代码或一个字节数据,它们都以规定的相同传送格式(字符帧格式)一帧一帧地发送或接收。 字符帧格式由四部分组成:起始位,数据位,奇偶校验位和停止位。起始位:在没有数据传送时,通信线上处于逻辑“1”状态。起始位是逻辑“0”。数据位:在起始位之后,发送端发出(接收端接收)的是数据位,数据的位数没有严格限制,如5位、6位、7位或8位(D0D7)等。由低位到高位逐位传送。奇偶校验位:数据位发送完(接收完)之后,可发送奇偶校验位,它只占帧格式的一位,用于传送数据的有限差错检测或表示数据的一种性质,

17、是发送和接收双方预先约定好的一种检验(检错)方式。 停止位:字符帧格式的最后部分为停止位,逻辑“1”电平有效,位数可以是1位、1/2位或2位。表示一个字符帧信息的结束,也为发送下一个字符帧信息做好准备。在串行异步通信中,字符信息可以一帧一帧连续传送,也可以出现间隙,即空闲状态,此时通信线上处于逻辑“1”状态。串行异步通信的发送设备和接收设备是相互独立、互不同步的,双方各用自己的时钟源来控制发送和接收。(2)串行同步通信串行同步通信传送数据块的格式如图1-27所示。在发送数据块时,首先发送12个同步字符,接收端接收同步字符后,用同步字符脉冲调整自身的时钟脉冲,使自身时钟脉冲与同步字符脉冲同步后,

18、开始接收数据块。串行同步通信的特点发、收双方的时钟脉冲是同步的,所传送的数据可以是任意位的,所以传输效率高。缺点是实现同步的硬件设备复杂。 在串行通信中,无论是异步通信还是同步通信,发送和接收双方使用的字符帧格式或同步字符必须相同,可由用户自己确定,也可以采用统一的标准格式。(3)波特率和传输速率 在串行通信中,通信设备发送数据的速度和接收数据的速度必须相同,才能保证被传送数据的成功传送。 波特率(Baud rate)又称调制速率,指单位时间内通信设备发送或接收的数据量,在二进制数据通信中,单位常用位/秒或比特/秒(bit/s)。传输速率又称传输速度,指单位时间内通信线路(含中间设备)传送的数

19、据量,在二进制数据通信中,单位与波特率的单位相同。通信线路(双绞线、同轴电缆、光纤等)的物理特性和长度等因素直接影响传输速率。通信系统的波特率和传输速率要相匹配。波特率和传输速率的单位还有K bit/s和M bit/s等,1M bit/s103K bit/s106bit/s。 串行异步通信传输速度较低,一般为509600bit/s;串行同步通信传输速度较高,一般可达80 000 bit/s。2.串行通信制式在串行通信中,将串行通信分为单工制式、半双工制式和全双工制式。 (1)单工制式(2)半双工制式(3)全双工制式3.串行通信数据的校验 串行通信适用较长距离的通信,往往易受环境电磁干扰,为了保

20、证数据准确无误传送,需要对传送的数据进行校验。(1)奇偶校验奇偶校验的特点是按字符校验,即在数据发送时,在每一个字符的最高位之后都附加一个奇偶校验位“1”或“0”,使被传送字符(包括奇偶校验位)中含“1”的位数都为偶数(偶校验)或都为奇数(奇校验)。 接收端按照发送端所确定的奇偶性,对接收的每一个字符进行校验。奇偶性一致则传输正确;不一致则为传输错误。147(2)和校验和校验是针对数据块的校验。发送端在发送数据块时,对块中的数据(字节数)算术求和,然后将产生的单字节的算术和作为校验字符(和校验)附加到数据块的结尾传给接收端。接收端对收到数据块按与发送端相同的方法求算术和,其结果与接收到的校验字

21、符比较,相同表示传输正确,不同则传输出错。(3)循环冗余码校验(CRC)CRC检验是对一个数据块校验一次,它被广泛地应用于同步串行通信方式中,例如对磁盘信息的读/写,对ROM或RAM存储区的完整性的校验等。除此之外,还有其它的校验方法。4.串行通信接口控制MCS-51单片机内置一个全双工的串行通信接口,可以作通用异步发送/接收器(UART),用于网络通信。其帧格式可有8位、10位和11位,能设置多种波特率。 (1)串行接口的结构及功能 MCS-51单片机串行口的结构框图如图1-29所示,主要由发送器、接收器和串行控制寄存器、通信脉冲电路组成。发送器主要由发送缓冲寄存器SBUF(字节地址99H)

22、、发送移位寄存器和发送控制器组成。发送串行数据从TXD引脚(P3.1)输出。接收器主要由接收缓冲寄存器SBUF(字节地址99H)、接收移位寄存器和接收控制器组成。接收串行数据从RXD引脚(P3.0)输入。发送缓冲寄存器SBUF和接收缓冲寄存器SBUF占用同一字节地址99H,可以同时发送和接收数据。发送SBUF只能写入数据,接收SBUF只能读出数据,二者用读、写指令区别。(2)串行口控制寄存器5. 串行口通信方式与原理(1)发送数据串行口有四种工作方式,方式0的功能是同步移位寄存器;方式1、2、3的功能均为串行异步通信,基本原理相同。方式1为10位异步通信。一帧10位信息中,8位数据位,1位起始

23、位,1位停止位;其波特率是可变的。发送数据时,发送控制器自动将起始位0和停止位1分别加到8位数据的前后。当发送中断标志位TI = 0时,CPU执行一条写SBUF的指令,如 MOV SBUF, A; 就起动了发送过程。8位数据(一帧)发送完毕后,发送控制器停止发送脉冲,且由硬件将发送中断标志位TI置1,向CPU申请中断。如要再次发送数据,必须用软件将TI清零,并再次执行写SBUF指令。 串行数据脉冲被发送到输出引脚TXD上。 (2)接收数据允许接收位REN被置1时,接收器就开始采样串行数据输入端RXD引脚上的电平。由于RXD引脚线在无信号时是高电平1,当采样到从1到0的负跳变时,就确定是输入数据的起始位0,开始接收数据。接收控制器发出内部移位脉冲将RXD上的数据逐位移入接收移位寄存器,当8位数据及停止位全部移入后,根据以下状态,确定接收是否有效: 如果RI=0 SM2=0或停止位为1在满足以上两个条件后,8位数据装入接收缓冲器SBUF,停止位1装入RB8,并置接收中断标志位RI=1,向CPU申请中断。如果不能满足以上两个条件,所接收的数据不装入SBUF,数据将会丢失。无论出现哪一种情况,接受器将继续采样RXD引脚的负跳变,以便接收下一帧信息。(3)波特率设置串行

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论