项目一蜂鸣器的片单机控制.ppt
《项目一蜂鸣器的片单机控制.ppt》由会员分享,可在线阅读,更多相关《项目一蜂鸣器的片单机控制.ppt(71页珍藏版)》请在三一办公上搜索。
1、项目目标项目任务项目分析项目预备知识项目实施知识点链接,项目一:蜂鸣器的鸣叫控制,项目目标 通过单片机控制蜂鸣器鸣叫,学会分析单片机最小系统的电路结构及各部分的功能,初步学习汇编程序的分析方法,并能熟练运用MOV、LJMP、SETB、CPL、DJNZ、LCALL、RET基本指令。,项目任务 要求应用AT89C51芯片,控制一只蜂鸣器发声。设计单片机控制电路并编程实现此操作。项目分析 本项目是单片机最小系统的简单应用。设计一个单片机的最小系统,利用P1.0引脚输出电位的变化,控制蜂鸣器的鸣叫,P1.0引脚的电位变化可以通过指令来控制。,项目预备知识:CPU的时序,CPU总是按照一定的时钟节拍与时
2、序工作:振荡周期/时钟周期:Tc=晶振频率fosc的倒数状态周期:Ts=2个时钟周期(Tc)(很少用到此概念)机器周期:Tm=6个状态周期(Ts)=12个振荡周期(Tc)指令周期:Ti:执行一条指令所需的机器周期(Tm)数 1个机器周期=12个振荡周期;1个指令周期=1、2、4个机器周期,MCS-51单片机各种周期的相互关系,若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为:振荡周期1/12MHz1/12s0.0833s状态周期1/6s0.167s机器周期1s指令周期14s,指令的表示方式称为指令格式,汇编语言指令格式如下:标号:操作码 目的操作数,源操作数;注释指令中
3、每个部分之间必须用空格分隔,空格数可以不止一个。在用键盘录入程序时,可以使用键将两个部分分开。其中,带 为可选项,可以根据具体指令和编程需要给出。,项目预备知识:汇编语言指令格式,例如 START:MOV A,#20H;把数20H送入累加器A 中,项目预备知识:汇编语言指令格式,标号是语句地址的标志符号,代表该语句指令代码第一个字节的地址。(1)标号由18个ASCII字符组成,但头一个字符必须是字母,其余字符可以是字母、数字或其它特定字符。(2)不能使用本汇编语言已经定义了的符号作为标记,如指令助记符、伪指令记忆符以及寄存器的符号名称等(3)标号后边必须跟以冒号。(4)同一标号在一个程序中只能
4、定义一次,不能重复定义。,1、标 号,2、操作码:表示指令的操作功能。,操作码用助记符表示,它代表了指令的操作功能。,操作码是指令的必需部分,是指令的核心,不可缺少。,3、操作数:参加操作的数据或数据地址。,操作数与操作码之间用空格分隔,操作数与操作数之间用逗号“,”分隔。,操作数可以是数据,也可以是数据的地址、数据地址的地址或操作数的其他信息。,操作数可分为目的操作数和源操作数。,操作数可用二进制数、十进制数或十六进制数表示。,操作数的个数可以是03个。,4、注释:指令功能说明。,注释属于非必需项,是为便于阅读,对指令功能作的说明和注解。,注释必须以“;”开始。,汇编程序在上述每段的开头或结
5、尾使用分界符把各段分开,以便于区分。分界符可以是空格、冒号、分号等。这些分界符在MCS51汇编语言中使用情况如下:(1)冒号(:)用于标号之后。(2)空格()用于操作码和操作数之间。(3)逗号(,)用于操作数之前。(4)分号(;)用于注释之前。,5、分界符(分隔符),寻址就是寻找指令中操作数或操作数所在的地址。所谓寻址方式,就是如何找到存放操作数的地址,把操作数提取出来的方法。通常指源操作数的寻址方式。MCS-51系列单片机寻址方式共有七种:寄存器寻址、直接寻址、立即数寻址、寄存器间接寻址、变址寻址、相对寻址、位寻址。,项目预备知识:寻址方式,1、寄存器寻址 寄存器寻址是指操作数存放在某一寄存
6、器中,指令中给出寄存器名,就能得到操作数。寄存器可以使用寄存器组R0R7中某一个或其它寄存器(A,B,DPTR等)。例如:MOV A,R0;(R0)A MOV P1,A;(A)P1 ADD A,R0;(A)+(R0)A,寄存器,目的地,MOV A,R1,2、直接寻址 在指令中直接给出操作数所在的存储单元的地址,称为直接寻址方式。在8051中,使用直接寻址方式可访问片内RAM的128个单元以及所有的特殊功能寄存器(SFR),对于特殊功能寄存器,既可以使用他们的地址,也可以使用他们的名字。例如:MOV A,3AH;(3AH)A 又如:MOV A,P1;(P1口)A 也可写为:MOV A,90H;9
7、0H是P1口的地址。,XXH,目的地,MOV A,3AH,例如,指令MOV A,3AH执行的操作是将内部RAM 中地址为3AH的单元内容传送到累加器A中,其操作数3AH就是存放数据的单元地址.,3、立即数寻址 指令操作码后面紧跟的是一字节或两字节操作数,用#号表示,以区别直接地址。例如:MOV A,#3AH;3AHA MCS-51系列单片机有一条指令,要求操作码后面紧跟的是两个字节立即数,即 MOV DPTR,#DATA16,目的地,MOV A,#30H,速递快信,4、寄存器间接寻址。寄存器中的内容是一个地址,由该地址单元寻址到所需的操作数.例如:MOV R1,#30H;(R1)立即数30H
8、MOV R1,#0FH;(30H)立即数0FH MOV A,R1;(A)(30H)=#0FH注意:“间接”表示某寄存器中的“内容”只是一个“单元地址”,这个地址单元中存放的数据才是要找的“操作数”。,例如,指令MOV A,R0执行的操作是将R0的内容作为内部RAM的地址,再将该地址单元中的内容取出来送到累加器A中,如图所示。,如图所示:(R0)=65H(65H)=47H,5、变址寻址也称为:基址寄存器+变址寄存器间接寻址 以16位的地址指针寄存器DPTR或 16位的PC寄存器为基址寄存器,以累加器 A 为变址寄存器,两者中的“内容”形成一个16位的“地址”,该“地址”所指的存储单元中的内容才是
9、操作数。用变址寻址方式只能访问程序存储器,访问的范围为64KB,当然,这种访问只能从ROM中读取数据而不能写入。例如:MOVC A,A+DPTR;(A)+(DPTR)A,基址寄存器1000H,变址寄存器,A,1000H+30H,1030H,30,65H,设:A中已存有#30H,DPTR中已存有#1000H MOVC A,A+DPTR;(A)(A)+(DPTR)操作:将30H+1000H=1030H单元中的数放进累加器A,6、相对寻址 相对寻址只出现在相对转移指令中。相对转移指令执行时,是以当前的PC值加上指令中规定的偏移量rel而形成实际的转移地址。这里所说得PC的当前值是执行完相对转移指令后
10、的PC值,一般将相对转移指令操作码所在的地址称为源地址,转移后的地址称为目的地址。于是有:目的地址=源地址+2(相对转移指令字节数)+rel 51单片机指令系统中相对转移指令既有双字节的,也有三字节的。例如:SJMP rel,以当前的PC值加上指令中给出的相对偏移量rel而形成转移目的地址的寻址方式。,2000H+2H+28H,源地址,目的地址,rel,转移指令本身字节数,rel是有符号的8位二进制数,用补码表示。相对偏移在127128字节单元之间。,7、位寻址 采用位寻址方式的指令,操作数是8位二进制数中的某一位。指令中给出的是位地址,是片内RAM某个单元中的某一位的地址。位地址在指令中用b
11、it表示。例:CLR P1.0;(P1.0)0 SETB ACC.7;(ACC.7)1 CPL C;(C)NOT(C)位地址常用下列三种方式表示;(1)直接使用位地址表示。对于20H2FH的16个单元共128位,位地址分布是00H7FH。(2)对于特殊功能寄存器,可以直接用寄存器名字加位数表示,如PSW.3、ACC.5等。(3)对于定义了位名字的特殊位,可以直接用其位名表示,例如:CY、AC等。,寻址方式及对应存储器空间,(1)Rn(n=07)当前选中的工作寄存器R0R7。(2)Ri(i=0,1)当前选中的工作寄存器组中,可作为间址寄存器 的两个工作寄存器R0、R1。(3)#data 8位立即
12、数。(4)#data16 16位立即数。(5)direct 8位片内RAM单元(包括SFR)的直接地址。(6)addr11 11位目的地址,用于ACALL和AJMP指令中。(7)addr16 16位目的地址,用于LCALL和LJMP指令中。(8)rel 补码形成的8位地址偏移量。(9)bit 片内直接寻址位地址。(10)间接寻址方式中,表示间址寄存器的符号。(11)/位操作指令中,表示对该位先取反再参与操作,但 不影响该位原值。(12)(X)表示X中的内容。(13)(X)由X指出的地址单元中的内容。(14)指令操作流程,将箭头左边的内容送入箭头右边的单元。,寻址方式中常用符号注释,练 习,说明
13、下列指令中源操作数采用的寻址方式。,项目预备知识:指令系统,51系列单片机指令系统由111条指令组成。可分为五大类:数据传送指令(28条),算术运算指令(24条),逻辑运算及移位指令(25条),控制转移指令(17条),位操作指令或布尔操作(17条)。,1、数据传送指令 CPU在进行算术和逻辑运算时,总需要有操作数。所以,数据的传送是一种最基本,最主要的操作。在通常的应用程序中,传送指令占有很大的比例。数据传送是否灵活,迅速,对整个程序的编写和执行都起着很大的作用。2、算术运算指令 算术运算指令主要是执行加、减、乘、除法四则运算。另外MCS-51指令系统中有相当一部分是进行加1、减1操作,BCD
14、码的运算和调整等,都归类为算术运算指令。需要指出的是,除加、减1指令外,这类指令大多数都会对PSW(程序状态字)有影响。,3、逻辑运算及移位指令 逻辑运算和移位指令有与、或、异或、求反、左右移位、清0等逻辑操作,有直接寻址、寄存器寻址和寄存器间址寻址等寻址方式。这类指令一般不影响程序状态字(PSW)标志。4、控制转移类指令 控制转移指令用于控制程序的流向,所控制的范围即为程序存储器区间。MCS-51系列单片机的控制转移指令相对丰富,有可对64kB程序空间地址单元进行访问的长调用、长转移指令,也有可对2kB字节进行访问的绝对调用和绝对转移指令,还有在256B范围内相对转移指令及其它无条件转移指令
15、,这些指令的执行一般都不会对标志位有影响。,5、位操作指令 MCS-51系列单片机的硬件结构中有一个位处理器(又称布尔处理器),布尔处理功能是MCS-51系列单片机的一个重要特征,这是出于实际应用需要而设置的。布尔变量也即开关变量,它是以位(bit)为单位进行操作的。MCS-51单片机有一个布尔处理机,它以进位标志位CY做为累加位C,以内部RAM可寻址的128个位为存储位。,数据数据传送类指令一般的操作是把源操作数传送到目的操作数,指令执行后,一般是源操作数不改变,目的操作数修改为源操作数。可以在累加器A、工作寄存器R0R7、内部数据存储器、外部数据存储器和程序存储器之间进行。,1、数据传送指
16、令(MOV),(1).累加器A为目的操作数类指令(4条)这4条指令的作用是把源操作数指向的内容送到累加器A。有直接、立即、寄存器和寄存器间接寻址方式。具体如下:MOV A,direct;直接单元地址中的内容送到累加器A。MOV A,#data;立即数送到累加器A中。MOV A,Rn;Rn中的内容送到累加器A中。MOV A,Ri;Ri内容指向的地址单元中的内容送到累加器A。,【例1】已知A=40H,R0=50H,(40H)=30H,(50H)=10H,请指出每条指令执行后相应单元内容的变化。(1)MOV A,#20H(2)MOV A,40H(3)MOV A,R0(4)MOV A,R0,解:(1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 项目 蜂鸣器 单机 控制
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6034708.html