机器人控制技术基础.ppt

要求;对实验理解;C语言如何写;; 延时子程序,改变 i, j的值,可以改变延时的时间,从而改变 LED 的闪烁速度速度 void dey(unsigned char j) { unsigned char i; for(;j0;j--) { for(i = 124; i0; i--) {;} } } 延时时间; 指令 寄存器 译码;指令;#include regx52.h void delay(); main() { P0 = 0xFF; P3_7 = 0; P2_7 =0; while(1) { P0_0 =0; delay(); P0_0 = 1; delay(); } } void delay() { unsigned char i = 0,j = 0; do{ do{}while(--j); }while(--i); };看原理图 知道有多少东西可用,关联因素 目标设计 要做什么,如何做,就不用提Why? 选择编程环境,编程 如果是项目 明确目标 选择CPU芯片及相关芯片。预判够用否 开发资料 要读一手资料! ;;先复习一下51单片机信号引脚简介 ;6.1 51单片机的存储空间(家底);;0000H;高128个单元;6.2、8051存储单元;6.2、8051存储单元;6.2、8051存储单元;6.2、8051存储单元;6.2、8051存储单元;6.3、存储模式说明;6.4、特殊功能寄存器(SFR);6.4、特殊功能寄存器(SFR);6.4、特殊功能寄存器(SFR);6.4、特殊功能寄存器(SFR);6.5、可位寻址目标;6.2.2可位寻址目标 ;1.累加器ACC 通常用A 表示,它是一个什么东西呢?我们知道单片机在做运算时它的中间结果需要放在某个地方,这个地方就是累加器,它的名字很特殊,功能也很特殊,几乎所有的运算类指令都离不开它。 2.寄存器B(辅助) B 寄存器在做乘法时用来存放一个乘数,在做除法时用来存放一个除数,不做乘除法时随你怎么用。;3.程序状态字PSW 它是一个很重要的东西,里面放了CPU 工作时的很多状态,知道它就可以了解CPU 当前的工作状 态,它有点象平时看书用的目录,我们浏览它就可以了解一本书的内容。它是一个8 位的寄存器,用到了其中的7 位。 其格式如下: D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P;(1)CY:进位标志位 MCS-51 是一种8 位的单片机,它的运算结果只能表示到28(即0-255),但我们有时候的运算结 果要超过255,怎么办呢?就要用CY 位。 例如:79H+87H01010111)= 1这里的“1”就进到了CY 中去了。 (2)AC:半进位标志位 当D3 位向D4 位进位/借位时,AC=1,通常用于十进制调整???算中。 (3)F0:用户自定义标志位 由编程人员自行决定,什么时候用,什么时候不用。;(4) RS1、RS0:工作寄存器组选择位 RS1 RS0 工作寄存器组 0 0 0 组(00H-07H) 0 1 1 组(08H-0FH) 1 0 2 组(10H-17H) 1 1 3 组(18H-1FH) 前面讲到单片机共有四个工作寄存器组(0 组-3 组),它们就是由RS1,RS0 来控制,这两位就在 这里,它共有四种组合状态。每个工作寄存器组有8 个字节,分别记为R0-R7,当然在某一时刻,CPU 只使用其中的一组。;(5) OV:溢出标志位 (6) P:奇偶检验位 每次运算结束后若A 中二进制数“1”的个数为奇数,则P=1,否则P=0。例:某运算结果是58H ,显然“1”的个数为奇数,所以P=1。 4.DPTR(DPH,DPL):数据指针 数据指针是一个16 位的寄存器,我们可以用它来访问外部RAM,也可以访问外部ROM 中的表格, 具体应用以后再讲。 5.SP堆栈指针 6. PC程序计数器;7 MCS-51的定时器/计数器 两个可编程的定时器/计数器T1、T0。 2种工作模式: (1)计数器工作模式 (2)定时器工作模式 4种工作方式(方式0-方式3)。 7.1 定时器/计数器的结构 TMOD:选择定时器/计数器T0、T1的工作模式和工作 方式。 TCON:控制T0、T1的启动和停止计数,同时包含了 T0、T1的状态。 ;单片机复位时,两个寄存器的所有位都被清0。 7.1.1

文档评论(0)

1亿VIP精品文档

相关文档