北方工业大学单片机课件2

上传人:子 文档编号:51729040 上传时间:2018-08-16 格式:PPT 页数:39 大小:580KB
返回 下载 相关 举报
北方工业大学单片机课件2_第1页
第1页 / 共39页
北方工业大学单片机课件2_第2页
第2页 / 共39页
北方工业大学单片机课件2_第3页
第3页 / 共39页
北方工业大学单片机课件2_第4页
第4页 / 共39页
北方工业大学单片机课件2_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《北方工业大学单片机课件2》由会员分享,可在线阅读,更多相关《北方工业大学单片机课件2(39页珍藏版)》请在金锄头文库上搜索。

1、单元二单元二 MCS-51单片机内部结构2.1 任务一 单灯受控闪烁2.1.1 硬件电路与工作原理 2.1.2 控制程序 2.1.3 源程序编辑、编译、下载 2.1.4 相关知识返回主目录2.1 2.1 单灯受控闪烁单灯受控闪烁学习目标学习目标:过学习任务一的完成方法,熟悉:过学习任务一的完成方法,熟悉mcs-51mcs-51单片机单片机 的内部结构,掌握的内部结构,掌握mcs-51mcs-51单片机各组成部分的功能和特点单片机各组成部分的功能和特点 。 任务描述任务描述: 单片机上电工作时,发光二极管按单片机上电工作时,发光二极管按1HZ1HZ左右频左右频 率闪烁,按键率闪烁,按键S1S1后

2、在原状态基础上停止后在原状态基础上停止5 5秒,再按原频率闪秒,再按原频率闪 动动 。 2.1.1 2.1.1 硬件电路与工作原理硬件电路与工作原理1 1. .硬件电路硬件电路2 2. .工作原理工作原理从图上可以看出,当从图上可以看出,当P1.0P1.0P1.7P1.7中某个引脚输出低中某个引脚输出低电平时,则发光二极管上有电流流过,发光二极管发光,电平时,则发光二极管上有电流流过,发光二极管发光,否则,当对应引脚为高电平时,发光二极管上无电流流过否则,当对应引脚为高电平时,发光二极管上无电流流过,发光二极管熄灭。,发光二极管熄灭。S1S1S4S4由于按键一端接地,当按键按由于按键一端接地,

3、当按键按下时,对应的引脚被拉成低电平。单片机通过查询这几根下时,对应的引脚被拉成低电平。单片机通过查询这几根口线的高低电平状态,就知道对应的按键是否按下。口线的高低电平状态,就知道对应的按键是否按下。 1.1.主程序流程图主程序流程图2.1.2 2.1.2 控制程序控制程序 2.2.控制程序控制程序 ORG 0000H LJMP MAIN ORG 0003H CLR 20H.0 RETI ORG 000BH LJMP DELAY MAIN: SETB 20H.0 MOV TMOD,#01H MOV TL0,#00H MOV TH0,#4CH MOV B,#20 SETB IT0 SETB EA

4、SETB EX0ORG、END等 伪指令将在核 心模块的单元 三、四中详细 讲解 SETB ET0 SETB PX0 MOV P1,#00H SETB TR0 BEGIN:JB 20H.0,SHOW MOV B,#250 CJNE B,#00,$ MOV A,P1CPL A MOV P1,A ;SJMP BEGIN DELAY:MOV TL0,#00H MOV TH0,#4CH DJNZ B,LOOP MOV B,#20 LOOP:RETI END任务中假设单片 机外接的石英晶 体振荡器的频率 为11.0592MHz 2.1.3 2.1.3 源程序的编辑、编译、下载源程序的编辑、编译、下载 1

5、.打开“伟福”模拟仿真软件进行程序的编辑、编译。1、正确选择单片机类型8751或80312、正确选择编译器伟福编译器3、选择模拟仿真功能4、打开或新建文件进行编辑5、编译 2.打开“ISP下载软件”将目标文件下载到ISP-4实验开发 板上的AT89S51单片机芯片,观察程序运行结果。1、编译成功后打开下载软件2、选择好单片机89S51并测试3、打开伟福6000编译生成的.BIN或.HEX文件4、选择自动写完成擦除、写、读、校验过程5、观看运行结果2.1.4 2.1.4 相关知识相关知识 1.1.单片机程序运行的结果如何送给发光二极管?单片机程序运行的结果如何送给发光二极管?从刚才的任务中,我们

6、看到发光二极管随着程序的运 行,有规律的闪动,那么,现在我们来看看单片机是怎样 将程序中运行的结果送给发光二极管的。原来,89S51单片机上有4组8位I/O口:P0、P1、P2和 P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输 出口,他们在单片机中,主要承担了和单片机外部设备打 交道的任务,下面我们分别介绍这几个I/O口: (1 1)P0P0和和P2P2口口P0P0口锁存器和缓冲器结构口锁存器和缓冲器结构 P0口除了作普通 的I/O口,直接 和外部设备打交 道外;还用作片外 总线的地址总线 AB0-AB7的低八 位、数据总线。 P2P2口锁存器和缓冲器结构口锁存器和缓冲器结构 P

7、2口除了作普通 的I/O口,直接 和外部设备打交 道外;还用作片外 总线的地址总线 的高八位地址线 AB8-AB15 注意:P0口在作输出入口使用时,由于它无内部上拉电阻,为 了在口线上输出高电平并具有一定的驱动能力,必须外接上拉 电阻。作输入口使用时,为了防止口锁存器对输入口线的输入 信号造成影响,必须先往口锁存器写1。同理,P2口作输入时, 也必须先往口锁存器写1。 (2 2)P1P1口口P1P1口锁存器和缓冲器结构口锁存器和缓冲器结构 P1口只用作普通 输入输出口注意:和P0、P2口一样,为防止口锁存器对输入口线造成影响 ,P1口作输入时,也必须先往口锁存器写1。 (3 3)P3P3口口

8、P3P3口锁存器和缓冲器结构口锁存器和缓冲器结构 P3口除了作普 通的I/O口(功 能和P1口一样 )直接和外部 设备打交道外; 还具有第二功 能。P3.0 串行输入口(RXD) P3.1串行输出口(TXD)P3.2 外中断0(INT0) P3.3 外中断1(INT1) P3.5 定时/计数器1的外部输入口(T1) P3.6 外部数据存储器写选通(WR)P3.4 定时/计数器0的外部输入口(T0) P3.7 外部数据存储器读选通(RD) 2.2.单片机的软件及数据如何存放?单片机的软件及数据如何存放?从前面的任务中,我们还看到要控制灯闪烁,必须编制 程序,还必须将控制灯的相关数据预先存储,那么

9、,在单片 机中的程序和数据是怎样保存的?原来,在单片机内部有程 序存储器和数据存储器,如果内部程序存储器和数据存储器 的容量不够的话,还可以在单片机外部为它扩展,最大我们 可以将程序存储器空间总容量扩大到64K,将数据存储器在 片外再单独扩展64K,这样,以89S51为例,数据存储器的总 容量可达64K(片外)128字节(片内)。MCS-51单片机的存储器组织结构,采用典型的哈佛结构 ,即程序存储器和数据存储器完全独立,拥有各自的寻址系统 ,包括片内数据存储器与片外数据存储器都拥有自己独立的寻 址系统。 程序存储器)(外部K64RAM数据存储器MCS-51MCS-51单片机存储器组织结构单片机

10、存储器组织结构(1 1)程序存储器程序存储器用途: 存放程序及程序运行时所需的常数。寻址范围:0000H FFFFH 容量64KB,即地址长度:16位 ,寻址内部ROM;说明:当PC值超过片内ROM容量时会自动转向 外部存储器 空间。,寻址外部ROM。 说明:8031单片机必须接低电平。程序存储器中6个具有特殊含义的单元0000H 系统复位,PC指向此处;0003H 外部中断0入口000BH T0溢出中断入口 0013H 外中断1入口001BH T1溢出中断入口0023H 串口中断入口(2 2)数据存储器数据存储器用途:存放程序执行的中间结果和过程数据的 。物理上分为两大区域: 00H 7FH

11、即128B用户RAM区。80H FFH即特殊功能寄存器区。R0、R1、R2、R3、R4、R5、R6、R7即可位寻址,又可字节寻址数据缓冲区、堆栈区、工作 单元位寻址区位寻址区位寻址区(20H2FH)16个字节。 16*8=128位,每一位都有一个位地址,范围为:00H7FH, 位地址区也可作为一般的用户RAM使用。(3 3)特殊功能寄存器特殊功能寄存器寄存器 位地址/位定义 地址 F7 F6 F5 F4 F3 F2 F1 F0 B F0H E7 E6 E5 E4 E3 E2 E1 E0 ACC E0 D7 D6 D5 D4 D3 D2 D1 D0 PSW CY AC F0 RS1 RS0 OV

12、 / P D0H BF BE BD BC BB BA B9 B8 IP B8H B7 B6 B5 B4 B3 B2 B1 B0 P3 P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 B0H IE A8H A7 A6 A5 A4 A3 A2 A1 A0 P2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 A0H SBUF 99H 1 1)程序计数器程序计数器PC(program Counter)PC(program Counter) 程序计数器在物理上是独立的,它不属于特殊内部数据 存储器块中。PC是一个16位的计数器,由两个八位

13、寄存器PCH和PCL 组成,用于存放一条要执行的指令地址,寻址范围为64kB, PC有自动加1功能,即完成了一条指令的执行后,其内容自 动加1。PC本身并没有地址,因而不可寻址,用户无法对它进行 读写,但是可以通过转移、调用、返回等指令改变其内容, 以控制程序的执行顺序。 2 2)累加器累加器ACC(Accumulator)ACC(Accumulator)累加器A是一个最常用的专用寄存器,大部分单操 作指令的一个操作数取自累加器,很多双操作数指令中 的一个操作数也取自累加器。加、减、乘、除法运算的指令,运算结果都存放于 累加器A或寄存器B中。大部分的数据操作都会通过累加器A进行,它形象 于一个

14、数据运输中转站,在数据传送过程中,任何两个 不能直接实现数据的传送单元之间,通过累加器A中转 ,都能送达目的。3 3)寄存器寄存器B B在乘除法指令中,乘法指令中的两个操作数分别取自 累加器A和寄存器B,其结果存放于AB寄存器对中。除法指 令中,被除数取自累加器A,除数取自寄存器B,结果商存 放于累加器A,余数存放于寄存器B中。 4 4)程序状态字程序状态字(Program Status Word)(Program Status Word)位序PSW.7PSW.6PSW.5PSW.4PSW.3PSW.2PSW.1PSW.0位标标志CYACF0RS1RS0OV-PCY 进位/借位标志;位累加器。

15、 AC 辅助进/借位标志;用于十进制调整。 F0 用户定义标志位;软件置位/清零。 OV 溢出标志; 硬件置位/清零。 P 奇偶标志;A中1的个数为奇数 P = 1;否则 P = 0。5 5)数据指针数据指针(DPTR)(DPTR) 数据指针为16位寄存器,编程时,既可以按16位寄存 器来使用,也可以按两个8位寄存器来使用,即高位字节 寄存器DPH和低位字节DPL。DPTR主要是用来保存16位地址,当对64kB外部数据存 储器寻址时,可作为间址寄存器使用,此时,使用如下两 条指令:MOVX A, DPTRMOVX DPTR, A在访问程序存储器时,DPTR可用来作基址寄存器, 采用基址+变址寻址方式访问程序存储器,这条指令常用 于读取程序存储器内的表格数据。MOVC A, A+DPTR6 6)堆栈指针堆栈指针SP(Stack Pointer)SP(Stack Pointer)指明栈顶元 素的地址,8 位,可软件 设置初值, 复位时SP = 07H。7 7)I/OI/O口专用寄存器口专用寄存器(P0(P0、P1P1、P2P2、P3)P3)I/O口寄存器P0、P1、P2和P3分别是M

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号