情境一112电子显示屏的设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《情境一112电子显示屏的设计课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 情境 112 电子显示屏 设计 课件
- 资源描述:
-
1、子情景二 单灯闪烁单灯闪烁项目引入在公共场合,可以看到各种各样的闪灯。单片机控制发光二极管的亮灭。通过8051单片机控制一个发光二极管的亮灭闪烁,点亮时间持续1秒钟。项目要求 项目分析1、单片机简单程序的编写2、延时程序的编写2、单片机与发光二极管的连接 3、二极管闪烁程序项目计划1、设计单片机与二极管的硬件连接图2、编写程序3、运行调试程序1 清清0 0与与取反指令(2 2条)条)取反:取反:CPL A CPL A;/AA/AA例:例:若若A=5CHA=5CH,执行,执行CPL ACPL A 结果:结果:A=A3HA=A3H清清0 0:CLR ACLR A ;0A0AC ComomP Ple
2、ment lement L Logic Operationogic Operation相关知识2 1717条条共有控制程序转移类指令共有控制程序转移类指令(不包括位操作类的转移不包括位操作类的转移指令指令)。此类指令一般不影响。此类指令一般不影响PSWPSW。包括以下类型:包括以下类型:无条件转移和条件转移无条件转移和条件转移相对转移和绝对转移相对转移和绝对转移长转移和短转移长转移和短转移调用与返回指令调用与返回指令 短转移类指令:短转移类指令:AJMP AJMP addr11addr11 长转移类指令:长转移类指令:LJMP LJMP addr16addr16 相对转移指令:相对转移指令:S
3、JMP SJMP relrel 间接转移指令:间接转移指令:JMP JMP A+DPTRA+DPTR(1 1)上面的前三条指令,统统理解成:上面的前三条指令,统统理解成:PCPC值改变,即值改变,即跳转到一个标号处。跳转到一个标号处。那么他们的区别何在呢?那么他们的区别何在呢?v跳转的范围不同。跳转的范围不同。短转移类指令:短转移类指令:AJMP AJMP addr11addr11 长转移类指令:长转移类指令:LJMP LJMP addr16addr16 相对转移指令:相对转移指令:SJMP SJMP relrel转移范围转移范围:2KB2KB64KB64KB-128-128+127+127v
4、指令构成不同。指令构成不同。AJMPAJMP、LJMPLJMP后跟的是后跟的是绝对地址绝对地址,而而SJMPSJMP后跟的是后跟的是相对地址相对地址。v指令长度不同指令长度不同v 原则上,所有用原则上,所有用SJMPSJMP或或AJMPAJMP的地方都可以用的地方都可以用 LJMPLJMP来替代。来替代。间接转移指令:间接转移指令:JMP JMP A+DPTRA+DPTR 这条指令的用途也是跳转,转到什么地方去呢?这条指令的用途也是跳转,转到什么地方去呢?这可不能由标号简单地决定了。这可不能由标号简单地决定了。转移地址由转移地址由A+DPTRA+DPTR形成,并直接送入形成,并直接送入PCPC
5、。指令对指令对A A、DPTRDPTR和标志位均无影响和标志位均无影响。本指令可代替众多的判别跳转指令,又称为本指令可代替众多的判别跳转指令,又称为散散转指令转指令,多用于多分支程序结构中。,多用于多分支程序结构中。(2 2)第四条指令与前三条指令相比有所不同第四条指令与前三条指令相比有所不同例例:MOV DPTRMOV DPTR,#TAB#TAB;将;将TABTAB代表的地址送入代表的地址送入DPTRDPTR JMP A+DPTR JMP A+DPTR ;跳转;跳转TAB:AJMP ROUT0 TAB:AJMP ROUT0 ;跳转;跳转ROUT0ROUT0开始的程序段开始的程序段TAB+2:
6、AJMP ROUT1 AJMP ROUT1 ;跳转;跳转ROUT1ROUT1开始的程序段开始的程序段TAB+4:AJMP ROUT2 AJMP ROUT2 ;跳转;跳转ROUT2ROUT2开始的程序段开始的程序段TAB+6:AJMP ROUT3 AJMP ROUT3 ;跳转;跳转ROUT3ROUT3开始的程序段开始的程序段 .ROUT0ROUT0:.ROUT1ROUT1:.ROUT2ROUT2:.ROUT3ROUT3:执行该段程序后,程序将根执行该段程序后,程序将根据据A A中的内容转移到不同的中的内容转移到不同的程序段去执行程序段去执行-散转。散转。A=0,A=0,转转ROUT0ROUT0A
7、=2,A=2,转转ROUT1ROUT1A=4,A=4,转转ROUT2ROUT2A=6,A=6,转转ROUT3ROUT3条件转移指令是指在满足一定条件转移指令是指在满足一定条件条件时进行时进行相对转相对转移移,否则程序继续执行,否则程序继续执行本指令的本指令的下一条指令。下一条指令。一、判一、判A内容是否为内容是否为0转移指令转移指令(2条)条)JZ JZ rel rel ;如果;如果A=0A=0,则转移,否则顺序执行。,则转移,否则顺序执行。JNZJNZ rel rel ;如果;如果A0A0,就转移。,就转移。转移到相对于当前转移到相对于当前PCPC值的值的8 8位移量的地址去。即:。即:新的
8、新的PCPC值值=当前当前PC+PC+偏移量偏移量relrel我们在编写汇编语言源程序时,可以直接写成:我们在编写汇编语言源程序时,可以直接写成:JZJZ 标号标号 ;即转移到标号处。;即转移到标号处。MOV A MOV A,R0R0 JZ L1JZ L1 MOV R1 MOV R1,#00H#00H AJMP L2 AJMP L2 L1 L1:MOV R1:MOV R1,#0FFH#0FFH L2L2:SJMP L2:SJMP L2 END END 在执行上面这段程序前:如果在执行上面这段程序前:如果R0=0R0=0,结果,结果R1=0FFHR1=0FFH。而如果而如果R0R0 0 0,则结
9、果是,则结果是R1=00HR1=00H。把上面的那个例子中的把上面的那个例子中的JZJZ改成改成JNZJNZ,看看程序执行的,看看程序执行的结果是什么结果是什么?如果如果R0=0R0=0,结果,结果R1=00HR1=00H。如果。如果R0 R0 0 0,结果是,结果是R1R1中的中的值为值为0FFH0FFH。CJNE ACJNE A,#datadata,relrel CJNE ACJNE A,directdirect,relrelCJNE RnCJNE Rn,#datadata,relrelCJNE CJNE RiRi,#datadata,relrel此类指令的功能是将两个操作数比较,如果两者
10、此类指令的功能是将两个操作数比较,如果两者相等相等,就,就顺序执行顺序执行,如果,如果不相等不相等,就,就转移转移。同样地,使用时,我们可以将同样地,使用时,我们可以将relrel理解成标号,即:理解成标号,即:CJNE ACJNE A,#data#data,标号,标号CJNE ACJNE A,directdirect,标号,标号CJNE RnCJNE Rn,#data#data,标号,标号CJNE RiCJNE Ri,#data#data,标号,标号利用这些指令,可以判断两数是否利用这些指令,可以判断两数是否相等相等。但有时还想得知两数比较之后但有时还想得知两数比较之后哪个大哪个大,哪个小哪
11、个小,本条指令也具有这样的功能:本条指令也具有这样的功能:如果两数不相等,则如果两数不相等,则CPUCPU还会用还会用CYCY(进位位)(进位位)来反映哪个数大,哪个数小。来反映哪个数大,哪个数小。如果前面的数大,则如果前面的数大,则CY=0CY=0,否则,否则CY=1CY=1。因此在程序转移后再次利用因此在程序转移后再次利用CYCY就可判断出哪个就可判断出哪个数大,哪个数小了。数大,哪个数小了。MOV A,R0 CJNE A,#10H,L1 MOV R1,#0 ;如R0=10H,则不转移R1=00H;AJMP L3L1:JC L2 ;如CY=1即 R010H,则转移 AJMP L3L2:MO
12、V R1,#0FFHL3:SJMP L3因此最终结果是:本程序执行前,如果R0=10H,则R1=00H;如果R010H,则R1=0AAH;如果R010H,则R1=0FFH。DJNZ RnDJNZ Rn,relrelDJNZ directDJNZ direct,relrelDJNZDJNZ指令的执行过程是这样的指令的执行过程是这样的:它将第一个参数中的值它将第一个参数中的值减减1 1,然后看这个值是否等于,然后看这个值是否等于0 0,如果,如果等于等于0 0,就往下执行,如果,就往下执行,如果不等于不等于0 0,就转移,就转移到第二个参数所指定的地方去。到第二个参数所指定的地方去。例:例:DJN
13、Z 10HDJNZ 10H,LOOPLOOP .LOOP:.LOOP:.例例:MOV 23H,#0AHMOV 23H,#0AH CLR A CLR ALOOP:ADD A,23HLOOP:ADD A,23H DJNZ 23H,LOOP DJNZ 23H,LOOP SJMP$SJMP$上述程序段的执行过程是:上述程序段的执行过程是:将将23H23H单元中的数连续相加,存至单元中的数连续相加,存至A A中,每加一次,中,每加一次,23H23H单元中的数值单元中的数值减减1 1,直至减到,直至减到0 0,共加(,共加(23H23H)次。)次。3 3 空操作指令空操作指令(1条)NOP空操作,就是什么
展开阅读全文