第2章MCS51单片机的指令系统
教学方法讲授法授课时数教学目的12理解MCS51单片机寻址方式熟练掌握并灵活运用单片机的111条指令
教学重点难点对寄存器寻址和寄存器间接寻址的理解指令的灵活运用
20一个有用的例子在单片机中最简单也是最经典的一个例子就是利用单片机进行LED灯的控制如下图所示单片机的P2口分别接在8个发光二极管的阴极发光二极管的阳极通过限流电阻接5V电源
f要利用单片机控制8个发光二极管的亮灭必须有相应的程序来进行控制下面给出两个程序用来实现8个发光二极管亮一段时间后熄灭之后再亮循环不断源程序1ORG00HJMPMAINORG30HMAINMOVA00HMOVP2ALCALLDELAYMOVA0FFHMOVP2ALCALLDELAYJMPMAINDELAYMOVR320D1D2MOVR4200MOVR5248
DJNZR5DJNZR4D2DJNZR3D1RETEND源程序2i
cludereg52hvoiddelaymsu
sig
edi
txmsu
sig
edi
tijforixmsi0iforj110j0j
fvoidmai
while1P20x00delayms1000P20xffdelayms1000其中源程序1采用51单片机的汇编语言实现源程序2由51单片机的C语言实现C语言和汇编语言在单片机开发的时候都有各自的优缺点汇编语言是一种用文字助记符来表示机器指令的符号语言是最接近机器码的一种语言其主要优点是占用资源少程序执行效率高但是不同的CPU其占用资源少程序执行效率高但是不同的占用资源少汇编语言可能有所差异所以不易移植汇编语言可能有所差异所以不易移植C语言是一种结构化的高级语言其优点是可读性好移植容易是普遍使用可读性好移植容易可读性好的一种计算机语言缺点是占用资源较多执行效率没有汇编高占用资源较多执行效率没有汇编高占用资源较多对于目前普遍使用的RISC架构的8bitMCU来说其内部ROMRAMSTACK等资源都有限如果使用C语言编写一条C语言指令编译后会变成很多条使用语言编写机器码很容易出现ROM空间不够堆栈溢出等问题空间不够堆栈溢出等问题而汇编语言一条指汇编语言汇编语言令就对应一个机器码每一步执行什幺动作都很清楚令就对应一个机器码每一步执行什幺动作都很清楚并且程序大小和堆栈调用情况都容易控制调试起来也比较方便用情况都容易控制调试起来也比较方便C语言是一种编译型程序设计语言语言是一种编译型程序设计语言它兼顾了多种高级语言的特点并具备汇编语言的功能C语言有功能丰富的库函数运算速度快编译效率高有良功能丰富的库函数功能丰富的库函数运算速度快编译效率高好的可移植性而且r