- 125
- 0
- 约1.58万字
- 约 98页
- 2019-04-14 发布于浙江
- 举报
单片机功能体验——LED灯的“眨眼”节奏控制 4.延时程序参数的变化对“眨眼”节奏的影响 教师改变延时子程序DELAY中的R6或R7的参数,观察二极管“眨眼”节奏的变化情况。注意,R6和R7的值不能超过255或0FFH(为什么?),若想增加延时时间,可以再加一层延时循环。 单片机功能体验——LED灯的“眨眼”节奏控制 图1-24 “眨眼”电路的实训效果图 小 结 本学习任务详细介绍了单片机的存储结构、端口结构、指令语言、程序设计流程等基础知识,结合任务实施,介绍了单片机指令系统的构成、指令的寻址方式及各类指令的格式、功能和使用方法。 51系列单片机共有7种寻址方式,即立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。寻址方式的不同主要表现为取操作数的方法和寻址范围。 小 结 51系列单片机指令按功能分为5大类111条,对于具体的指令,应结合寻址方式找出规律来记忆。累加器A是在指令中出现最频繁的一个特殊功能寄存器,除了位操作类指令和DJNZ指令与它无关,其余指令组中都有它。算术运算指令执行时通常会对进位标志CY、半进位标志AC、溢出标志OV及奇偶校验标志P产生影响,其余各类指令执行时一般不影响标志位,涉及累加器A或进位标志位CY的指令操作会影响P标志位及CY标志位。 华腾教育——机电系列课程教学资源 * * * * * * * * * * * * * * * * * 五、单片机编程语言 2)直接寻址方式 指令中直接给出操作数的单元地址,该单元地址中的内容就是操作数,直接的操作数单元地址用“direct”表示。 例如,OVA,direct,“direct”为操作数的单元地址。具体指令为MOV A,40H,表示把内部RAM 40H单元(direct)的内容传送到A。指令中源操作数(右边的操作数)采用的是直接寻址方式。 五、单片机编程语言 指令中两个操作数都可由直接寻址方式给出。 例如,MOVdirect1,direct2,具体指令为MOV42H,62H,表示把片内RAM中62单元的内容送到片内RAM中的42H单元中。 直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式。 五、单片机编程语言 3)寄存器间接寻址方式 寄存器中存的是操作数地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。 为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方式中,应在寄存器名称前面加前缀标志“@”。例如,MOV A,@Ri ;i=0或1。其中Ri的内容为40H,即把内部RAM 40H地址单元中的内容传送给A。 五、单片机编程语言 4)立即数寻址方式 直接在指令中给出操作数,也称立即数。为了与直接寻址指令中的直接地址加以区别,需在操作数前加前缀标志“#”。 例如,MOV A,#40H。第一个字节是操作码,第二字节是立即数,就是放在程序存储器内的常数。 五、单片机编程语言 5)基址寄存器加变址寄存器间接寻址方式 以DPTR或PC作为基址寄存器,以累加器A作为变址寄存器,以两者内容相加形成的16位地址作为目的地址进行寻址。 例如,MOVC A,@A+DPTR。其中,(A)=05H,(DPTR)=0400H,指令执行结果是把程序存储器0405H单元的内容传送给A。 五、单片机编程语言 本寻址方式的指令有以下3条。 MOVC A,@A+DPTR MOVC A,@A+PC JMP A,@A+DPTR 前两条指令适用于读程序存储器中固定的数据。 第3条为散转指令,A中内容为程序运行后的动态结果,可根据A中不同内容实现跳向不同程序入口的跳转。 五、单片机编程语言 6)相对寻址方式 相对寻址是以该转移指令的地址(PC值)加上它的字节数,再加上相对偏移量(rel),形成新的转移目的地址,从而将程序转移到该目的地址。转移的目的地址用下式计算。 目的地址=转移指令所在的地址+转移指令字节数+rel 其中,偏移量rel是带符号8位二进制补码数,其值为-128~+127。 程序转移范围是以转移指令的下条指令首地址为基准地址,相对偏移为-128~+127。例如,LJMP rel。 五、单片机编程语言 程序要转移到该指令的PC值加3再加上rel的目的地址处。编写程序时,只须在转移指令中直接写要转向的地址标号即可。 例如,LJMP LOOP,“LOOP”为目的地址标号。汇编时,由汇编程序自动计算和填入偏移量,但手工汇编时偏移量的值由手工计算。 五、单片机编程语言 7)位寻址方式 对内部RA和特殊功能寄存器具有位寻址功能的某位内容进行置1和清零操作。位地址一般以直接
原创力文档

文档评论(0)