




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机技术单片机技术 运用实训运用实训主讲人:张旭涛 项 目 一 览w工程一 设计广告灯w 义务1 单片机的最小系统建立w 义务2 显示一位LED灯w 义务3 流水八位LED灯w工程二 设计表决器w工程三 设计计算器w工程四 设计电子时钟w工程五 设计汽车转弯信号灯模拟实验w工程六 设计智能交通灯控制w工程七 设计电子琴模拟实验w工程八 设计直流电机驱动实验工程一工程一 义务义务1 1 单片机的最小系统建立单片机的最小系统建立 教学环节设计教学环节设计 实际环节实际环节1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 一、实际环节二、实验内容及
2、步骤二、实验内容及步骤用用P1P1口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮口做输出口,接八位逻辑电平显示,程序功能使发光二极管从右到左轮番循环点亮。番循环点亮。1.1.运用单片机最小运用系统运用单片机最小运用系统1 1模块。封锁该模块电源,用扁平数据线衔接单片模块。封锁该模块电源,用扁平数据线衔接单片机机P1P1口与八位逻辑电平显示模块。口与八位逻辑电平显示模块。2.2.用串行数据通讯线衔接计算机与仿真器,把仿真器插到模块的锁紧插座用串行数据通讯线衔接计算机与仿真器,把仿真器插到模块的锁紧插座中,请留意仿真器的方向:缺口朝上。中,请留意仿真器的方向:缺口朝上。3.3.翻开
3、翻开Keil uVision2Keil uVision2仿真软件,首先建立本实验的工程文件,接着添加仿真软件,首先建立本实验的工程文件,接着添加P1_A.ASMP1_A.ASM源程序,进展编译,直到编译无误。源程序,进展编译,直到编译无误。4.4.进展软件设置,选择硬件仿真,选择串行口,设置波特率为进展软件设置,选择硬件仿真,选择串行口,设置波特率为3840038400。5.5.翻开模块电源和总电源,点击开场调试按钮,点击翻开模块电源和总电源,点击开场调试按钮,点击RUNRUN按钮运转程序,察看按钮运转程序,察看发光二极管显示情况。发光二极管单只从右到左轮番循环点亮。发光二极管显示情况。发光二
4、极管单只从右到左轮番循环点亮。详细内容参见教材详细内容参见教材二、实际知识链接 1、单片机最小运用系统组成1 MCS-51单片机最小运用系统的构成最小运用系统是指能维持单片机运转的最简单配置系统。它常用作一些简单的控制系统,如开关形状的输入/输出控制、时序控制等。这种运用系统的硬件组成非常简单,对于片内有ROM的单片机(如8051),只需配上时钟电路、复位电路和电源就可以构成最小运用系统。电路衔接原理如以下图所示:二、实际知识链接单片机的时钟电路时钟电路提供时钟给计算机的各个部件,使各个部件按照一定的时序有条不紊的任务。时钟的快慢决议着计算机的任务节拍。下面以8051为例,介绍MCS-5l系列
5、单片机的时钟电路组成方式。8051内部任务时,也可由外部时钟信号提供,这种衔接方式称为外部时钟源方式。原理如以下图所示。此时外部的时钟信号由XTAL2引脚引入,由于TAL2端逻辑电平不是TTL型的,故需外接一上拉电阻。另外,外接信号应为时钟频率低于12MHz的方波信号。二、实际知识链接3单片机的复位电路在单片机运用系统中,除单片机芯片本身需求复位、外部扩展的I/O接口电路等需求复位外,对于单片机程序也必需初试化后才干执行。因此一个单片机系统需求同步复位信号,即单片机复位后,CPU开场任务,此时片外的有关扩展芯片外部时钟也要完成复位操作,以保证CPU有效地对外围芯片进行初始化编程。单片机的复位方
6、式有上电复位和手动按钮复位两种,如以下图 所示。 二、实际知识链接2、MCS-51单片机的外部存储器的扩展(1) MCS-5l系列单片机的片内构造在了解单片机外部存储器扩展知识之前,让我们先认识一下单片机的内部构造。MCS-51系列单片机是双列直插封装方式的集成器件,内部采用模块式的构造,包含了一个独立的微机硬件系统所应具有的各个功能部件和一些重要的功能扩展部件。其构造框图如以下图所示。二、实际知识链接2 MCS-5l系列单片机的片外总线构造 当系统要求扩展时,为了便于与各种芯片相衔接,应把单片机外部连线变为普通微机所具有的三总线构造方式,即地址总线、数据总线、控制总线。MCS-5l系列单片机
7、的片外引脚可构成如以下图所示的三总线构造,一切的外围芯片都将经过这三总线进展扩展。 二、实际知识链接3、单片机常用汇编指令 汇编言语,由标号、操作码助记符、操作数和注释4个字段组成,格式如下: 标号: 操作码助记符 操作数1 ,操作数2 ;注释(1)标号 标号是用户定义的符号,由以字母开场的18个字符(字母或数字)组成,它代表指令的符号地址,通常在程序分支、转移等所需求的地方加上一个标号,并不是每条指令都必需有标号。当将指令转换成机器指令时,指令第一字节(也称首字节)的存储单元地址值赋给该标号。(2)操作码助记符 助记符是一些代表操作含义的英文缩写,普通由25个英文字母组成,如“MOV表示“传
8、送、“ADD表示“加等。操作码助记符对应的机器码是指令的第一字节,也是指令不可短少的部分。(3)操作数 与机器指令格式中的操作数类似。(4)注释 注释是对本指令或本段程序的功能阐明,便于对程序的阅读了解,在转换成机器指令时不予思索。注释的前面需加分号“;。二、实际知识链接4、根据本实验涉及相关指令内容,本节重点引见跳转和转移指令。 1长跳转指令 1)长跳转指令 LJMP addrl6 2)功能 该指令执行时把16位地址中的高8a15a8位送入PCH,低8位a7a0送入PCL中,无条件地转向指定地址。该指令不影响任何标志,转移的范围可达64K字节,故称长转移指令。 (2) 短跳转指令 1)短跳转
9、指令 AJMP addrll 2)功能 该指令的操作数“addrll应是一个十六位二进制数,表示转向的目的地址,其中“addrll表示低11位,阐明转向的目的地址范围由低11位组合决议,故跳转的范围是2K字节。 (3) 相对转移指令 1)相对转移指令 SJMP rel 2)功能 该指令执行时程序计数器指针PC+2后成为PC当前值,并把有符号数“rel值加到PC上,并计算出转向目的地址。 二、实际知识链接(4)条件转移指令 条件转移指令是指满足一定条件时,程序才进展相对转移,假设条件不满足时那么顺序执行下面的指令。测试条件符合转移指令 1)指令与指令代码 指令 :JZ rel;JNZ rel;J
10、C rel;JNC rel;JB bit,rel; JNB bit,rel;JBC bit,rel 2)功能 JZ 假设A为0,那么转移;否那么顺序执行。 JNZ 假设A不为0,那么转移;否那么顺序执行。 JC 假设进位标志CY=1,那么执行转移;否那么顺序执行。 JNC 假设进位标志CY=0,那么执行转移;否那么顺序执行。 JB 假设直接寻址的位值为1,那么执行转移;否那么顺序执行。 JNB 假设直接寻址的位值为0,那么执行转移;否那么顺序执行。 JBC 假设直接寻址的位值为1,那么执行转移,然后直接寻址的位清“0;否那么顺序执行。三、实际练习1硬件实验操作步骤2keil uvision2的
11、软件操作方法3软件操作实验 注:以上内容略 四、随堂思索对于本实验延时子程序对于本实验延时子程序DelayDelay: MOV R6 MOV R6,0 0 MOV R7, 0 MOV R7, 0DelayLoopDelayLoop:DJNZ R6DJNZ R6,DelayLoopDelayLoop DJNZ R7 DJNZ R7,DelayLoopDelayLoop RET RET如运用如运用12MHz12MHz晶振,粗略计算此程序的执行时间为多少?晶振,粗略计算此程序的执行时间为多少? 工程一工程一 义务义务2 2 显示一位显示一位LEDLED灯灯 教学环节设计教学环节设计 实际环节实际环节
12、1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 3、详细操作步骤如下:1运用单片机最小运用系统模块。封锁该模块电源,用导线分别衔接P1.0、P1.1到两个拨断开关,P1.2、P1.3到两个发光二极管。留意,插座与衔接线的槽口是八个,一旦衔接,那么相应单片机端口与其它电路相应接口均接通。2用串行数据通讯线衔接计算机与仿真器,把仿真器插到模块的锁紧插座中,请留意仿真器的方向:缺口朝上。3翻开Keil uVision2仿真软件,首先建立本实验的工程文件,接着添加P1_B.ASM源程序,进展编译,直到编译无误。4进展软件设置,选择硬件仿真,选择串行口
13、,设置波特率为38400。5翻开模块电源和总电源,点击开场调试按钮,点击RUN按钮运转程序,拨动拨断开关,察看发光二极管的亮灭情况。向上拨为熄灭,向下拨为点亮。一、实际环节一、实际环节5、利用keil uvision2的软件调试程序1翻开keil uvision2软件,点击“新建图标 ,在弹出的窗口中输入以上程序,如以下图:2点击“保管图标,出现保管对话框,如以下图所示:二、实际知识链接1、LED灯的显示原理为方便人们察看和监视单片机的运转情况,通常把数码显示器作为单片机的输出设备,用来显示单片机的键输入值、中间信息及运算结果等。在单片机运用系统中,常用的显示器主要有LED(发光二极管显示器)
14、和LCD(液晶显示器)。这两种显示器具有耗电省、本钱低廉、配置灵敏、线路简单、安装方便、耐振动、寿命长等优点。但因其显示内容有限,且不能显示图形,因此其运用有局限性,近年来对某些要求较高的单片机运用系统开场配置简易方式的CRT接口。由于目前运用最广泛的还是数码显示器,所以本节将以LED显示器为例进展引见。1 LED显示器构造与原理 LED显示器是由发光二极管显示字段的显示器件,也可称为数码管。其外形构造如以下图)所示,由图可见它由8个发光二极管(以下简称字段)构成,经过不同的组合可用来显示09、AF及小数点“.等字符。二、实际知识链接数码管通常有共阴极和共阳极两种构造接法,见上图(b)和(c)
15、。本实验所采用的LED显示电路为两组共阳极电路,只不过LED灯不是管形的。图中电阻为外接的,普通共阳极数码管必需外接电阻,共阴极不一定外接电阻。共阴极数码管的发光二极管阴极共地,当某发光二极管的阳极为高电平(普通为+5V)时,此二极管点亮;共阳极数码管的发光二极管是阳极并接到高电平,对于需点亮的发光二极管使其阴极接低电平(普通为地)即可。显然,要显示某字形就应使此字形的相应字段点亮,实践就是送一个用不同电平组合代表的数据至数码管。这种装入数码管中显示字形的数据称字形码。下面以共阳极数码管为例阐明字形与字形码的关系。对照以下图字段,字形码各位定义如下: D7 D6 D5 D4 D3 D2 D1
16、D0 数据线D0与a字段对应,D1与b字段对应,依此类推。参考图1-2-6(a)和(c)可以看出,如要显示“7字形,a、b、c三字段应点亮,所以对应的字形码为lllll000B。如要显示“E,对应的a、f、g、e、d字段应点亮,所以其字形码为10000110B。二、实际知识链接二、实际知识链接二、实际知识链接二、实际知识链接无论是按键或键盘都是利用机械触点的闭合与断开来确认键的输入。由于按键机械触点的弹性作用,在闭合及断开瞬间均伴随有一连串的抖动过程,其波形如以下图所示。抖动时间的长短,与开关的机械特性有关,普通为510ms。按键的稳定闭合期,由操作人员的按键动作所确定,普通为非常之几至几秒。
17、为了保证单片机对按键的一次闭合只作一次键输入处置。必需去除抖动影响。通常去除抖动有硬件和软件两种方法。二、实际知识链接二、实际知识链接3软件去抖除了以上所说的硬件除抖动的方法,也可以用软件去除抖动。如前所述,假设采用硬件去除抖动的电路,那么N个键就必需配有N个去抖电路。因此,当键的个数比较多时,硬件去抖会过于复杂。为理处理这个问题,可以采用软件的方法来去除抖动的影响。当第一次检测到有键按下时,先用软件延时1020ms,然后再确认该键电平能否仍维持闭合形状电平。假设坚持闭合形状电平,那么以为此键确已按下,从而消除了抖动的影响。这种方法由于不需求附加的硬件投入,而被广泛运用,前面的实验就采用了这种
18、方法。当然,是在确定按键能否被按下的根底上,采用延时程序获得键盘信息。详细实现程序如下:LOOP: MOV A, P1 CJNE A, #03H,NEXT AJMP LOOPNEXT: ACALL DELAY二、实际知识链接三、拓展型实际知识三、拓展型实际知识 1、单片机常用汇编指令、单片机常用汇编指令1定位伪指令定位伪指令ORG 格式:格式:ORG nn;nn为十进制或十六进制数。为十进制或十六进制数。nn指出在该伪指令后的指令的汇编地址,即生指出在该伪指令后的指令的汇编地址,即生成的机器指令起始存储地址。成的机器指令起始存储地址。2定义字节伪指令定义字节伪指令 格式:格式:DB X1,X2
19、,Xn; Xi为单字节数据,它为十进制或十六进制数,也可以为一个表为单字节数据,它为十进制或十六进制数,也可以为一个表达式。达式。Xi也可以为由两个单引号括起来的也可以为由两个单引号括起来的 一个字符串,这时一个字符串,这时Xi定义的字节长度等于字符串的长度,每一个字符为一个定义的字节长度等于字符串的长度,每一个字符为一个ASCII码。码。3赋值伪指令赋值伪指令 格式:字符称号格式:字符称号 EQU 数据或汇编符;数据或汇编符;EQU伪指令称为赋值伪指令,用于给它左边的伪指令称为赋值伪指令,用于给它左边的“字符称字符称号赋值。号赋值。4位地址赋值伪指令位地址赋值伪指令 格式:字符称号格式:字符
20、称号 BIT 位地址;位地址;BIT称为位地址赋值伪指令,用于给以符号方式的位地址赋值。称为位地址赋值伪指令,用于给以符号方式的位地址赋值。5汇编终了伪指令汇编终了伪指令 格式:格式:END ;该伪指令指出终了汇编,即使后面还有指令,汇编程序也不作处置。;该伪指令指出终了汇编,即使后面还有指令,汇编程序也不作处置。6短调用指令短调用指令 ACALL addrll;这条指令无条件调用首址由;这条指令无条件调用首址由addrll所指出的子程序。所指出的子程序。7长调用指令长调用指令 LCALL addrl6 ;这条指令无条件地调用位于指定地址的子程序。;这条指令无条件地调用位于指定地址的子程序。8
21、前往指令前往指令2条:条: 前往指令是使前往指令是使CPU从子程序前往到主程序执行的指令。从子程序前往到主程序执行的指令。 从子程序前往指令:从子程序前往指令:1)指令指令 RET,2)功能功能 从堆栈中退出从堆栈中退出PC的高位和低位字节,把堆栈指针的高位和低位字节,把堆栈指针SP-2,并从产生的,并从产生的PC值开场执行程序。值开场执行程序。 从中断前往指令:从中断前往指令: 1)指令指令 RETI,2)功能功能 这条指令除了执行这条指令除了执行RET指令功能外,还去除内部相指令功能外,还去除内部相应的中断形状存放器应的中断形状存放器二、实际知识链接三、实际练习1 1硬件实验操作步骤硬件实
22、验操作步骤2 2keil uvision2keil uvision2的软件操作方法的软件操作方法3 3软件操作实验软件操作实验 注:以上内容略。注:以上内容略。 四、随堂思索 对于本实验,假设按下一个按钮,相应的LED灯亮,并且闪烁,如何设计这个实验。如运用12MHz晶振,闪烁延时为1ms,并予以实验验证。提示:可运用子程序指令进展设计。工程一工程一 义务义务3 3 流水八位流水八位LEDLED灯灯 教学环节设计教学环节设计 实际环节实际环节1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 一、实际环节(2) 流水灯设计程序二 ORG 0000
23、H LJMP START ORG 0030HSTART: MOV A, #0FEH MOV R2,#8OUTPUT: MOV P1,A RL A DELAY: MOV R6,#0 MOV R7,#0DELAYLOOP: ;延时程序 DJNZ R6,DELAYLOOP DJNZ R7,DELAYLOOP DJNZ R2,OUTPUT LJMP START END二、实际知识链接1、数据传送指令在单片机中,数据传送是最根本和最主要操作。数据传送操作可以在片内RAM和SFR内进展,也可以在累加器Acc和片外存储器之间进展。指令中必需指定传送数据的源地址和目的地址,以便机器执行指令时把源地址中内容传送
24、到目的地址中,但不改动源地址中内容。 MCS-51单片机的数据传送指令共有28条,分为内部数据传送指令、外部数据传送指令、堆栈操作指令和数据交换指令等四类。1内部数据传送指令1) 以A为目的操作数的指令这类指令的格式为: MOV 目的操作数, 源操作数 指令与指令代码含义 指令 操作 MOV A,Rn A(Rn) MOV A,direct A(direct) MOV A,Ri A(Ri) MOV A,#data Adata对Rn寻址的指令,其机器码字节的低三位为rrr,对应于8个任务存放器之一,当为000时,表示R0;为001时,表示R1;以此类推。 指令功能 这组指令的功能是把源操作数的内容
25、送入累加器Acc。二、实际知识链接 2以Rn为目的操作数的指令 指令与指令代码含义 指令 操作 MOV Rn,A Rn(A) MOV Rn,direct Rn(direct) MOV Rn,#data Rndata 功能 这组指令的功能是将源操作数的内容送入当前任务存放器区的R0R7中的某一个存放器。 3以直接寻址的单元为目的操作数指令 指令与指令代码含义 指令 操作 MOV direct,A direct(A) MOV direct,Rn direct(Rn) MOV directl,direct2 directl(direct2) MOV direct,Ri direct(Ri) MOV
26、direct,#data directdata 应留意:“MOV directl,direct2指令译成指令代码时,源地址(direct2)在前,目的地址directl在后。 功能 这组指令的功能是把源操作数送入由直接地址指向的存储单元。二、实际知识链接二、实际知识链接二、实际知识链接二、实际知识链接无论是按键或键盘都是利用机械触点的闭合与断开来确认键的输入。由于按键机械触点的弹性作用,在闭合及断开瞬间均伴随有一连串的抖动过程,其波形如以下图所示。抖动时间的长短,与开关的机械特性有关,普通为510ms。按键的稳定闭合期,由操作人员的按键动作所确定,普通为非常之几至几秒。为了保证单片机对按键的一
27、次闭合只作一次键输入处置。必需去除抖动影响。通常去除抖动有硬件和软件两种方法。二、实际知识链接二、实际知识链接3软件去抖除了以上所说的硬件除抖动的方法,也可以用软件去除抖动。如前所述,假设采用硬件去除抖动的电路,那么N个键就必需配有N个去抖电路。因此,当键的个数比较多时,硬件去抖会过于复杂。为理处理这个问题,可以采用软件的方法来去除抖动的影响。当第一次检测到有键按下时,先用软件延时1020ms,然后再确认该键电平能否仍维持闭合形状电平。假设坚持闭合形状电平,那么以为此键确已按下,从而消除了抖动的影响。这种方法由于不需求附加的硬件投入,而被广泛运用,前面的实验就采用了这种方法。当然,是在确定按键
28、能否被按下的根底上,采用延时程序获得键盘信息。详细实现程序如下:LOOP: MOV A, P1 CJNE A, #03H,NEXT AJMP LOOPNEXT: ACALL DELAY二、实际知识链接三、拓展型实际知识三、拓展型实际知识 1、单片机常用汇编指令、单片机常用汇编指令1定位伪指令定位伪指令ORG 格式:格式:ORG nn;nn为十进制或十六进制数。为十进制或十六进制数。nn指出在该伪指令后的指令的汇编地址,即生指出在该伪指令后的指令的汇编地址,即生成的机器指令起始存储地址。成的机器指令起始存储地址。2定义字节伪指令定义字节伪指令 格式:格式:DB X1,X2,Xn; Xi为单字节数
29、据,它为十进制或十六进制数,也可以为一个表为单字节数据,它为十进制或十六进制数,也可以为一个表达式。达式。Xi也可以为由两个单引号括起来的也可以为由两个单引号括起来的 一个字符串,这时一个字符串,这时Xi定义的字节长度等于字符串的长度,每一个字符为一个定义的字节长度等于字符串的长度,每一个字符为一个ASCII码。码。3赋值伪指令赋值伪指令 格式:字符称号格式:字符称号 EQU 数据或汇编符;数据或汇编符;EQU伪指令称为赋值伪指令,用于给它左边的伪指令称为赋值伪指令,用于给它左边的“字符称字符称号赋值。号赋值。4位地址赋值伪指令位地址赋值伪指令 格式:字符称号格式:字符称号 BIT 位地址;位
30、地址;BIT称为位地址赋值伪指令,用于给以符号方式的位地址赋值。称为位地址赋值伪指令,用于给以符号方式的位地址赋值。5汇编终了伪指令汇编终了伪指令 格式:格式:END ;该伪指令指出终了汇编,即使后面还有指令,汇编程序也不作处置。;该伪指令指出终了汇编,即使后面还有指令,汇编程序也不作处置。6短调用指令短调用指令 ACALL addrll;这条指令无条件调用首址由;这条指令无条件调用首址由addrll所指出的子程序。所指出的子程序。7长调用指令长调用指令 LCALL addrl6 ;这条指令无条件地调用位于指定地址的子程序。;这条指令无条件地调用位于指定地址的子程序。8前往指令前往指令2条:条
31、: 前往指令是使前往指令是使CPU从子程序前往到主程序执行的指令。从子程序前往到主程序执行的指令。 从子程序前往指令:从子程序前往指令:1)指令指令 RET,2)功能功能 从堆栈中退出从堆栈中退出PC的高位和低位字节,把堆栈指针的高位和低位字节,把堆栈指针SP-2,并从产生的,并从产生的PC值开场执行程序。值开场执行程序。 从中断前往指令:从中断前往指令: 1)指令指令 RETI,2)功能功能 这条指令除了执行这条指令除了执行RET指令功能外,还去除内部相指令功能外,还去除内部相应的中断形状存放器应的中断形状存放器二、实际知识链接三、实际练习1 1硬件实验操作步骤硬件实验操作步骤2 2keil
32、 uvision2keil uvision2的软件操作方法的软件操作方法3 3软件操作实验软件操作实验 注:以上内容略。注:以上内容略。 四、随堂思索 对于本实验,假设按下一个按钮,相应的LED灯亮,并且闪烁,如何设计这个实验。如运用12MHz晶振,闪烁延时为1ms,并予以实验验证。提示:可运用子程序指令进展设计。工程二工程二 设计表决器设计表决器 教学环节设计教学环节设计 实际环节实际环节1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节1、实验衔接表示 、表决器显示模块 表示图1、实验衔接表示 、表决器显示模块 表示图一、实际环节 一、实际环节二、实际知
33、识链接1、位操作指令在MCS-51系列单片机中,可以以程序形状字存放器的进位位CY(PSW.7)作为累加器C,以数据存储器(RAM)和特殊功能存放器SFR内的位寻址区的位单元作为操作数,进展位变量的传送、修正和逻辑等操作。位变量传送指令 1) 位操作指令 指令 MOV C,bit MOV bit,C 2) 功能 该指令把源位单元中的数据送到目的位单元中,其中一个操作数必需是位累加器C,另一个可以是任何直接寻址的位,也就是说位变量的传送必需经过C。其中位地址可参照书本。 位变量修正指令 1) 指令与指令代码 指令 CLR C CLR bit CPL C CPL bit SETB C SETB b
34、it 2) 功能 这组指令将操作数指出的位清“0、取反、置“1。“CLR是清0,“CPL是取反,“SETB是置“1二、实际知识链接3位变量逻辑与操作指令 1)位变量逻辑与指令 ANL C,bit ANL C,/bit 2) 功能 假设源位的内容为逻辑0,那么CY清0,否那么CY坚持不变。“/bit的斜线表示用位内容的逻辑非为源值,但不影响本身值。)位变量逻辑或操作指令 )位变量逻辑或指令 ORL C,bit ORL C,bit 2) 功能 假设源位的值为1,那么进位标志CY=1,否那么进位标志CY坚持原来形状。斜线“表示逻辑非,但源位本身坚持不变。3、字节逻辑指令1逻辑与指令 指令助记符为“A
35、NL,表示是“AND(与)和“LOG(逻辑)的组合。1) 指令与指令代码 指令 ANL A,Rn ; ANL A,direct;ANL A,Ri; ANL A,#data ANL direct,A ; ANL direct,#data 2) 功能 该组指令将源操作数和目的操作数之间按位进展逻辑与操作,结果存放在目的操作数中。二、实际知识链接 2逻辑或的指令 指令助记符“ORL,由“OR(或)和“LOG(逻辑)的组合。 1) 指令与指令代码 ORL A,Rn ORL A,direct ORL A,Ri ORL A,#data ORL direct,A ORL direct,#data 2) 功能
36、 这组指令将源操作数和目的操作数之间按位进展逻辑或操作,结果存到目的操作数。 3逻辑异或指令 指令助记符“XRL,XR表示异或,比较的两数码,一样出0,不同出1,“L表示“逻辑。 1) 指令与指令代码 指令 XRL A,Rn XRL A,direct XRL A,Ri XRL A,#data XRL direct,A XRL direct,#data 2) 功能 这组指令将源操作数和目的操作数之间执行按位的逻辑异或操作,结果存放到目的操作数中。二、实际知识链接三、实际练习1 1硬件实验操作步骤硬件实验操作步骤2 2keil uvision2keil uvision2的软件操作方法的软件操作方法
37、3 3软件操作实验软件操作实验 注:以上内容略。注:以上内容略。 四、随堂思索1对于本实验,假设八位表决者进展表决,如何设计这个实验程序。并予以实验验证。提示:可运用字节传送指令进展设计。可否将表决者信息用七段码进展表示,设计相应的显示电路。工程三工程三 设计计算器设计计算器 教学环节设计教学环节设计 实际环节实际环节1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 2、计算器的实验操作步骤本实验采用44键盘,16个键依次对应09、“+、“-、“、“、“=和去除键。可以进展小于255的数的加减乘除运算,并可延续运算。当键入值大于255时,将自动
38、清零,可以重新输入。详细步骤如下:1运用单片机最小运用系统模块,P0口接阵列式键盘,P3.6、P3.7衔接串行静态显示模块的DIN、CLK端。2用串行数据通讯线衔接计算机与仿真器,把仿真器插到模块的锁紧插座中,请留意仿真器的方向:缺口朝上。3翻开Keil uVision2仿真软件,首先建立本实验的工程文件,接着添加 计算器.ASM源程序,进展编译,直到编译无误。4进展软件设置,选择硬件仿真,选择串行口,设置波特率为38400。5翻开模块电源和总电源,点击开场调试按钮,点击RUN按钮运转程序。键入值,在延续5个八段数码管上察看运算过程与结果。一、实际环节一、实际环节一、实际环节二、实际知识链接1
39、、44按键电路任务原理行列式键盘是键盘输入的主要方式。键盘按键编码分为独立式键盘和行列式键盘两种编码方式。独立式键盘主要是指直接用I/O线构成的单个键盘电路,每个独立式按键单独占有一根I/O口线,每根I/O口线上的按键任务形状不会影响其它I/O口线的任务形状,如前面表决器输入电路。行列式键盘由行线和列线组成,按键设置在行线和列线的交叉点上,按键的两端分别衔接在行线和列线上。结合实验,重点学习行列式键盘。键盘的任务方式普通有编程扫描方式和中断扫描方式两种。下面重点引见编程扫描方式。编程扫描方式是利用单片机在完成其它任务的空余,调用键盘扫描子程序,来呼应键输入要求。在执行键功能程序时,CPU不再呼
40、应键输入要求。结合实验,键盘电路如下所示:二、实际知识链接 键盘扫描程序普通应具备下述几个功能1判别键盘上有无键按下。其方法为P1.4-P1.7逐列扫描输出“0(即低电平)时,读P1.0-P1.3口形状,假设全为1,那么键盘无键按下,假设不全为“1,那么有键按下。2去除键的抖动影响。方法为软件延时一段时间(普通为10ms左右)后,再判别键盘形状,假设仍为有键按下形状,那么以为有一个确定的键被按下,否那么按键抖动处置。3扫描键盘,得到按下键的键号。按照行列式键盘的任务原理,图3-4中16个键的键值从左上角的数字“0键开场向右下分布。4判别闭合的键能否释放。键闭合一次仅进展一次键功能操作。等键释放
41、后即将键值送入累加器Acc中,然后执行键功能操作。5计算器读键子程序分析: 计算器读键子程序为列扫描方式,详细功能分析如下: KEYTABLE: DB 0EEH,0DEH,0BEH,07EH ;键码定义 DB 0EDH,0DDH,0BDH,07DH DB 0EBH,0DBH,0BBH,07BH DB 0E7H,0D7H,0B7H,077HGETKEY: MOV R6,#10 ;设定内延时循环次数 CALL DELAY ;延时去抖 MOV P0,#0FH ;将键盘列值全置“0 MOV A,P0 ;读取键盘端口形状 CJNE A,#0FH, K12 ;判别键盘端口形状,有动作,跳转到K12 LJM
42、P MLOOP ;键盘无动作,前往主程序,重新检测K12: MOV B,A ;键盘端口值送给B MOV P0,#0EFH ;将键盘第一列置“0 MOV A,P0 ;读取键盘端口形状 CJNE A,#0EFH,K13 ;判别键盘端口形状,有动作,跳转到K13 MOV P0,#0DFH ;将键盘第二列置“0 MOV A,P0 ;读取键盘端口形状 CJNE A,#0DFH,K13 ;判别键盘端口形状,有动作,跳转到K13 MOV P1,#0BFH ;将键盘第三列置“0二、实际知识链接 、七段数码管的显示过程静态串行显示电路原理与程序在前面已讲过,这里不再累述。重点要讲解如何获得显示的数据。本实验允许
43、的数值最多为3位。另外,如何将其转换成十进制,为下面的运算做好预备任务。分析如下相关程序: INC R3 ;按键个数以下均为主程序部分 CJNE A,#0,NEXT1 ;判别能否为数字键“0,为“0转E1,否那么转NEXT1 LJMP E1 ;转数字键处置NEXT1: CJNE A,#1,NEXT2 ;判别能否为数字键“1,为“1转E1,否那么转NEXT2 LJMP E1 NEX10: CJNE A,#10,NEX11 ;判别能否功能键“10,为“10转E2, 否那么转NEXT11 LJMP E2 ;转功能键处置NEX11: CJNE A,#11,NEX12 ;判别能否功能键“11,为“11转
44、E2, 否那么转NEXT12 LJMP E2 NEX15: LJMP E3 ;判别能否功能键“15,为“15转E3E1: CJNE R3,#1,N1 ;判别第几次按键,R3为“1转E11,否那么转N1 LJMP E11 ;跳转E11N1: CJNE R3,#2,N2 ;判别第几次按键,R3为“2转E12,否那么转N2 LJMP E12 ;跳转E12N2: CJNE R3,#3,N3 ;判别第几次按键,R3为“3转E13,否那么转N3 LJMP E13 ;跳转E13N3: LJMP E3 ;第四个数字输入那么溢出E11: MOV R4,A ;输入值暂存R4 MOV 34H,A ;输入值送个位显示
45、缓存 MOV 33H,#10H ;显示键值“零送十位显示缓存 MOV 32H,#10H ;显示键值“零送百位显示缓存 LJMP MLOOP ;前往主程序,等待再次输入E12: MOV R7,A ;个位数暂存R7 MOV B,#10 ;将十赋予B二、实际知识链接、算术运算指令1加法指令加法指令运用助记符“ADD。 1)不带进位的加法指令 指令代码 ADD A,Rn ADD A,direct ADD A,Ri ADD A,#data 功能 将源操作数与累加器Acc的内容相加,其结果放于累加器Acc中。 对标志位的影响 加法运算对程序形状字存放器PSW的各标志位有一定的影响:假设位7有进位输出,那么
46、CY=l,否那么CY=0;假设位3有进位输出,那么AC=1,否那么AC=0;溢出标志位OV=C6C7,假设位6有进位输出而位7没有或者位7有进位而位6没有,那么 OV=1,否那么OV=0;P标志位一直跟踪累加器Acc内“1的个数,假设A中有奇数个“1,那么P=1。留意:程序形状字存放器PSW是非常重要的特殊存放器。它有一个字节组成,字节中的每一位都代表特定的含义:表列出PSW存放器各位功能B7-CY;b6-AC;b5-F0;b4-RSl;b3-RS0;b2-OV;bl- -;bO-P二、实际知识链接 2带进位加法指令 指令代码 ADDC A,Rn ADDC A,direct ADDC A,Ri
47、 ADDC A,#data 功能:这组指令同时把源操作数、进位标志位和累加器Acc的内容相加,结果存放在累加器Acc中 对PSW的影响 假设位7有进位输出,那么进位标志位CY为“1;否那么CY为“0;假设位3有进位输出, 那么标志位AC=1;假设位3无进位输出,AC=0;假设位6有进位输出而位7没有或者位7有进位输出而位6 没有,那么溢出标志位OV=1,否那么OV=0。3增量指令 指令代码 INC A INC Rn INC direet INC Ri INC DPTR 功能 这组指令是把源操作数加1,应留意:当用本指令修正输出口P0P3时,原始口数据的值将 从口锁存器读入,而不是从引脚读入。
48、对标志位影响 假设原来为0FFH,加1后将溢出为00H,对A的操作能够影响P外,不影响任何标志。二、实际知识链接 4十进制调整指令 指令代码 DA A 功能 假设该指令上一条指令是一条加法指令,加数和被加数为十进制BCD码,相加结果不是十进 制的BCD码,所以必需将结果调整为BCD码,该指令自动选择调整值00H、06H、60H、66H,将结 果调整为十进制BCD码。2减法指令 1带进位减法指令 指令代码 SUBB A,Rn SUBB A,direct SUBB A,Ri SUBB A,#data 功能 这组指令功能是从累加器Acc中减去源操作数和进位标志,结果在累加器Acc中。 2减1指令 指
49、令代码 DEC A DEC Rn DEC direct DEC Ri 功能 将源操作数减1,假设原来为00H,减1后为0FFH 二、实际知识链接三、实际练习1 1硬件实验操作步骤硬件实验操作步骤2 2keiluvision2keiluvision2软件操作方法软件操作方法3 3软件操作实验软件操作实验 注:以上内容略。注:以上内容略。 四、随堂思索1对于本实验,如何将计算器各功能模块有机组合起来, 如何设计这个实验程序。并予以实验验证。2能否改动行列式键盘的键值规划,设计相关实验程序。工程四工程四 设计电子时钟设计电子时钟 教学环节设计教学环节设计 实际环节实际环节1 实际知识链接实际知识链接
50、 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 一、实际环节一、实际环节一、实际环节二、实际知识链接1、中断的相关概念单片机在执行某一程序的过程中,由于某种缘由,如外部设备恳求输入、输出操作等,CPU暂时中止当前正在执行的程序,而转去执行相应的处置程序(执行中断效力程序),待处置终了后,再回到原来被中止的程序继续执行的过程,称为“中断。为了实现这一中断技术,计算机有相应的硬件机构和软件支持,称之为中断系统。中断由中断源产生,中断源在需求时可以向CPU提出“中断恳求。“中断恳求通常是一种电信号,CPU一旦对这个电信号进展检测和呼应便可自动转入该中断源的中断效力程序执行,并
51、在执行完后自动前往原程序继续执行,而且中断源不同中断效力程序的功能也不同。因此,中断又可以定义为CPU自动执行中断效力程序并前往原程序执行的过程。二、实际知识链接中断是现代计算机必需具备的重要功能,也是计算机开展史上的一个重要里程碑。 实现一次完好的中断,可分为以下5个步骤: 1中断恳求 一次中断是从某中断源提出有效的中断恳求信号开场的。该外设已做好任务预备后,将中断恳求触发器置“1,当该中断源的中断屏蔽触发器为开放形状时,那么中断恳求信号送到CPU的中断恳求输入端,该信号不断坚持到CPU呼应中断为止。CPU正常情况下每执行完一条指令就去检测各中断源的恳求标志,一旦有中断恳求,满足具备的条件就
52、会中断呼应。 2中断判优 CPU检测到中断恳求信号后,要经中断优先级判别系统进展断定,如没有比它更高级的中断恳求,该中断源的中断恳求信号才能够被CPU呼应,否那么不予处置。 3中断呼应 所谓中断呼应是指从CPU接到中断恳求信号起到进入相应中断效力程序为止的整个过程。 4中断处置 所谓中断处置就是指CPU执行某中断源的中断效力程序。 二、实际知识链接 5中断前往所谓中断前往就是将堆栈中所保管的断点地址送回到PC。它是由一条中断前往指令来实现的,而该指令是放在中断效力程序的最后一条指令。以下图所示为中断呼应过程的流程图,图中虚线部分为可选项。二、实际知识链接中断系统是单片机的重要组成部分,其中断系
53、统构造主要由片内特殊功能存放器组成:中断源存放器TCON及SCON的相关位、中断允许控制存放器IE、中断优先级控制存放器IP及两个不可寻址的优先级形状触发器组成。中断系统总体构造如以下图所示。二、实际知识链接2、单片机定时器任务原理1定时器及计数器的作用1定时用作时间规范2信息传输时的同步3对外部事件进展计数2定时/计数器的构造常见的单片机在片内普通设计了两个定时/计数器T0和T1,采用的是加1计数器。属可编程定时/计数器,其运转和任务受软件控制、切换。如以下图所示为MCS-5l系列单片机的内部定时/计数器的构造框图。二、实际知识链接 3单片机对内部定时/计数器的控制内部定时/计数器的控制主要
54、是经过TCON和TMOD两个特殊功能存放器实现的,另外还有4个8位的计数初值存放器TH0,TL0和THl,TLl。 定时/计数器任务方式控制存放器TMOD TMOD用于定义任务方式及操作方式,其格式如下: TMOD(字节地址89H) 二、实际知识链接3、堆栈指令 在单片机内部RAM中可以设定一个后进先出的堆栈,地址为30H7FH,堆栈指针SP中的内容总是堆栈区中最后一个进栈数据所在的存储单元地址。堆栈操作包括进栈和出栈两种。(1) 进栈指令与指令代码 指令 操作PUSH direct SPSP+1 SPdirect 这条指令首先将堆栈指针SP+1,然后把直接地址里的内容传送到堆栈指针SP指出的
55、内部RAM存储单元中。 (2) 出栈指令与指令代码 指令 操作 POP direct SPdirect SPSP-1 这条指令的功能是将堆栈指针SP指出的内部RAM单元的内容送入直接地址指出的存储单元中,堆栈指针SP减l。出栈指令用于恢复CPU现场。二、实际知识链接 2定时器/计数器初值的计算 定时器/计数器初值X的计算可以经过以下公式进展: 定时方式 式中:M是由任务方式而确定的,即方式0时,M=13;方式l时,M=16;方式2、3时,M=8。当初值X为0时,定时/计数器的定时时间(或计数值)为最大。对于方式0最大定时时间为:(如=6 MHz时最大定时时间为16.384 ms),最大计数值为
56、8192;方式1最大定时时间为: (如=6 MHz时最大定时时间为131.072 ms),最大计数值为65536;方式2、3最大定时时间为: (如=6 MHz时最大定时时间为0.512 ms),最大计数值为256。二、实际知识链接 4单片机内部定时/计数器的任务方式 单片机的定时/计数器,由软件对特殊功能存放器TMOD中的C/设置,可选择定时或计数功能;对相应M1,M0两位的设置,可选择4种任务方式。 1方式0 方式0是一个13位的定时/计数器。2方式1 方式1和方式0的独一差别在于:方式1由TH和TL构成16位计数器,而方式0为13位。3方式2 方式2是能自动重装计数初值的8位定时/计数器。
57、4方式3 方式3只适用于定时/计数器T0。假设T1设置为方式3,那么它会停顿计数,其效果与设置TRl=0一样。5单片机对内部定时/计数器的初始化 1初始化步骤 单片机内部定时器/计数器是可编程序的,其任务方式和任务过程均可由单片机经过程序对它进展设定和控制。因此,单片机在定时器/计数器任务前必需先对它进展初始化。初始化步骤为: 根据标题要求先给定时器方式存放器TMOD送一个方式控制字,以设定定时器/计数器的相应任务方式。(对TMOD 中的MIM0赋值) 根据实践需求给定时器/计数器选送定时器初值或计数器初值,以确实需求定时的时间和需求计数的初值。(对 TH、TL赋初值) 根据需求给中断允许存放
58、器IE选送中断控制字和给中断优先级存放器IP选送中断优先级字,以开放相应中断和设 定中断优先级。 给定时器控制存放器TCON送命令字,以启动或制止定时器/计数器的运转。三、实际练习1 1硬件实验操作步骤硬件实验操作步骤2 2keiluvision2keiluvision2软件操作方法软件操作方法3 3软件操作实验软件操作实验 注:以上内容略。注:以上内容略。 四、随堂思索1对于本实验,定时器的1秒规范时间是如何获得的,当内部时钟的频率变为6MHZ,如何设计这个实验程序。并予以实验验证。工程五工程五 设计汽车转弯信号灯模拟实设计汽车转弯信号灯模拟实验验 教学环节设计教学环节设计 实际环节实际环节
59、1 实际知识链接实际知识链接 2 实际练习实际练习3 随堂思索随堂思索4 一、实际环节一、实际环节 一、实际环节一、实际环节2端口功能分配 结合汽车转弯信号灯模拟实验目的及相应电气原理图,现将各端口的功能列表如下: 汽车转弯信号灯模拟实验中单片机端口功能分配表右尾灯P1。6一、实际环节一、实际环节二、实际知识链接1、分支程序的相关知识常用的程序构造有顺序构造、分支构造和循环构造3种。前面我们的程序很多都具有顺序构造和循环构造。但是在多数情况下,一个问题的求解或一个控制系统的实施,会有多条途径需求选择。这样,在编写程序时就要进展判别,以确定程序的流向,这在程序设计中称为分支程序。 2、单片机端口
60、功能简介本实验运用到单片机的两个端口,所以有必要对单片机的端口作必要的阐明。单片机端口也成并行I/O口输入/输出。经过单片机的外观图可以看到它们的分布情况:二、实际知识链接 从上图中我们可以看到单片机有四组八位I/O端口。这些端口具有特定的功能,详细如下: (1)P0.0P0.7 P0口有8位双向口线。在读写外部存储器时,P0口作为“低8位地址/数据总线运用。即P0口先作地址总线运用,后作数据总线运用,关于三总线的知识前面已引见,这里不再累述。 (2)P1.0P1.7 P1口有8位双向口线。P1.0、P1.1引脚除了可作为普通I/0引脚运用外,还具有第二输入/输出功能:P1.0为定时器T2的计
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CSPSTC 52-2020预制集成外保温墙板应用技术规程
- T/CSMT-YB 003-2022膜式燃气表应用评价规范
- T/CSBME 052-2022虚拟现实产品视觉健康影响评价方法
- T/CNFIA 176-2023柔雅馥合香型白酒
- T/CNCA 028-2022井下巷道失速防护设施碰撞性能试验技术规范
- T/CNCA 022-2022煤矿用可伸缩带式输送机无基础安装装置
- T/CMMA 3-2016镁质胶凝材料制品建筑模壳
- T/CIES 015-2017基于窄带物联网(NB-IoT)的道路照明智能控制系统技术规范
- T/CGCC 57-2021散装即食食品经营操作规范
- T/CERDS 5-2023企业ESG管理体系
- 小型设备购买协议书
- 2025年农村宅基地房屋买卖合同样本
- 难点02:总集篇·十六种阴影部分面积法【十六大考点】-2024年小升初数学典型例题系列(解析版)
- 厂房设备拆除协议书
- 2024年浙江省中考社会试卷真题(含标准答案及评分标准)
- 第五版-FMEA培训教材-新版
- NB-T32036-2017光伏发电工程达标投产验收规程
- 食品安全与日常饮食智慧树知到期末考试答案章节答案2024年中国农业大学
- PE袋化学品安全技术说明书MSDS(聚乙烯塑胶袋)
- 医院检验科实验室生物安全管理手册
- 七人学生小品《如此课堂》剧本台词手稿
评论
0/150
提交评论