单片机原理与应用

上传人:s9****2 文档编号:512868355 上传时间:2022-10-12 格式:DOC 页数:13 大小:51.50KB
返回 下载 相关 举报
单片机原理与应用_第1页
第1页 / 共13页
单片机原理与应用_第2页
第2页 / 共13页
单片机原理与应用_第3页
第3页 / 共13页
单片机原理与应用_第4页
第4页 / 共13页
单片机原理与应用_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《单片机原理与应用》由会员分享,可在线阅读,更多相关《单片机原理与应用(13页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与应用本文由ruyunshui_rys贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。 单片机原理与应用 主 讲:王晓荣 Email: POPO: njwsir TEL : 83587368 要求 1. 2. 3. 4. 课堂上要记笔记 课前提前10分钟进教室 缺课需有请假条 课堂上禁止小声讲话 参考书 李广弟 单片机基础北航出版社 求是科技 单片机典型模块设计实例导航 人民邮电出版社 PROTEL相关书籍 C51相关书籍 1 单片机概述 1.1什么叫单片机 ? 什么叫单片机 英文解释:SCMC(Single Chip MicroComput

2、er) 中文解释:一个单片的微型计算机 (CPU、内存、硬盘、主板等) 1.2单片机的特点 单片机的特点 体积小,价格低,开发成本低 容量小,速度慢 想想看:为什么8位、12M的单片机20多 年来还没有被淘汰? 1.3单片机的应用 单片机的应用 1.4单片机的种类 单片机的种类 生产单片机的公司很多: Motorola公司、 Intel公司、Atmel公司、Philips公司等 每个公司生产的单片机又有很多型号 但很多种类的单片机采用相同的内核 内核相同的单片机软硬件设计方法类似 以MCS-51为内核的单片机全球市场占有量 约为54 ;国内市场占有量约为80 ; 1.5单片机系统设计 单片机系

3、统设计 硬件设计 画电路图 PCB板 硬件电路板 软件设计 汇编语言设计(基础;同微机原理中的学的汇编语言不 同;MCS-51的汇编共111条指令P70) C语言设计(常用;同标准C语言类似但不完全相同) 1.6实例:用8051实现发光二极管的闪烁 实例: 实例 实现发光二极管的闪烁 1.6.1硬件 硬件 89c51(引脚数;引脚标号;电源引脚) 时钟电路(通用电路;4M-12M) 复位电路(通用电路;原理;RESET键) EA引脚(为“1”,则从内部ROM开始执行 程序) 发光二极管(驱动能力问题) 1.6.2软件 软件 LOOP: SETB LCALL CLR LCALL AJMP MOV

4、 MOV DJNZ DJNZ RET P1.0 DELAY P1.0 DELAY LOOP R7, #50H R6, #0e0H R6, D2 R7, D1 DELAY: D1: D2: END 1.6.3其它 其它 编程环境(如E6000) ROM;EPROM;FLASH (编程器) 仿真器 作业 1. 自学单片机概述 2. 8051、80C51、89C51的区别是? 3. 如果采用片内ROM,8051中的/E/A引脚 如何接? 4. 民用级、工业级、军用级的单片机温度范围 是? 5. 单片机的英文简称 6. 用8051实现两个发光二极管轮流发光(硬 件图及汇编程序) 2 单片机芯片的硬件结

5、构 2.1单片机的结构框图 CPU RAM ROM C/T C/T 2.1.1CPU 读取指令、执行指令 2.1.2 256B的RAM 内部RAM共有256个字节(00H0FFH)。 可分为5个区域 通用寄存器区(00H1FH) 位寻址区(20H2FH、80H 、88H 、90H 、 98H 、0A0H 、0A8H 、0B0H 、0B8H 、 0D0H 、0E0H 、0F0H ) 用户RAM区(通常为20H7FH) 专用寄存器区(80H0FFH;仅使用了其中的23 个单元) 堆栈区(自定7FH) 通用寄存器区(00H-1FH) 通用寄存器区 32个存储单元:R0-R7,共4组 哪些指令与通用寄

6、存器区有关?(举例) 如何改变寄存器的组别? (后面会讲到) 用户RAM区(通常为 用户 区 通常为20H-7FH) 通常为 哪些指令与用户 用户RAM区有关? (举例) 用户 区 专用寄存器区(80H-0FFH) 专用寄存器区 共128个单元,但只利用了23个单元,每 个单元都有专门的用途 我们把有专门用途的存储单元叫做专用寄存 器 (参见P21表;共22个) 指令同用户RAM区的指令 介绍几个专用寄存器 程序计数器PC (占2个存储单元) 在专用寄存器区,但没有单元地址 MOV PC,0FFH 1.6例程序代码执行全过程 * MCS-51内核(系列)的单片机只能扩展 64k的ROM 累加器

7、A (0E0H) 哪些指令与A有关? ADD 20H, 30H MOV A, 20H ADD A, 30H MOV 20H, A 程序状态字PSW (0D0H) 位序 位标志 PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0 CY AC F0 RS1 RS2 OV / P CY: 进位标志(自动变化);位累加器 RS1、RS2: 寄存器组选择位 问:如何改变寄存器的组别? 哪些指令与PSW有关? 位寻址区(20H-2FH、部分专用寄存器) 位寻址区 哪些指令与位寻址区有关? CLR 20H 如果将2BH.3位置位,用什么指令? 答:SETB 5BH

8、 如果将3BH.3位置位,用什么指令? 答:MOV A, 3BH ORL A, #08H MOV 3BH, A 作业 1. 2. 3. 4. 内部RAM可分为哪5个区域? CPU的作用是? 单片机复位时,(PC)=? 标出1.6例的每一条语句执行后的PC值。 堆栈区(自定7FH) 堆栈区 堆栈的用途:子程序或中断程序调用时保护 断点(自动)和保护现场 SP工作原理*(举例) 片外RAM(顺便介绍) 片外 (顺便介绍) 如果片内RAM不够,最多可另外扩展64K 的外部RAM 片内RAM和片外RAM地址可重叠(画图) MOV A,30H 是将片内RAM还是片外RAM 中的数据读到A? MOV、MO

9、VX的区别 如何读取片外RAM的内容?* 2.1.3 4KB的片内ROM及外部ROM 作用:存放程序和原始数据 如何读取程序?(前面已经介绍) 如何存放原始数据?(举例) 读取原始数据的指令是? ROM空间分配图* 不提倡片内ROM和片外ROM混用。 如何读取原始数据?(举例) EQU #50H ;顺便介绍伪指令 AJMP MAIN ;原因以后讲 ORG 0030H MAIN: MOV SP, #60H MOV A, DATA ORG 1000H TAB: DB 0C0H, 0F9H, 0A4H DB 90H, 39H, 44H ORG 1100H TAB1: DW 0ABCDH, 3333H

10、, 2222H DW 5555H, 5555H, 7777H END TAB2: DB 0ABH, 39H DATA 2.1.4 2个定时 计数器 个定时/计数器 个定时 实现定时有两种:软件定时和硬件定时 1.6例中的延时子程序为软件定时 用片内定时/计数器定时为硬件定时 如何实现硬件定时以后详细讲 2.1.5 并口 4个并口(P0、P1、P2、P3) 4个并口都可以作为通用I/O口使用 P1口作输入口使用时,应先写“1” 如何读取P1.0引脚(或P1口)的数据? 答: SETB P1.0 MOV C, P1.0 P0口 1.通用I/O口 2.数据线() 3.低8位地址线() 第1功能不能同

11、第2、3功能同时使用 P1口 通用I/O口 P2口 通用I/O口 高8位地址线() 第1功能不能同第2功能同时使用 P3口 通用I/O口 P3.0、P3.1:(串口作通讯用;自学) P3.2 :外部中断0申请;P3.3 :外部中断1 申请(5个中断) P3.4:T0计数输入;P3.5 :T1计数输入(定 时器和计数器) P3.6 (/W/R): 外部RAM写选通(简单介绍) P3.7 (/R/D): 外部RAM读选通(简单介绍) 2.2 时序 时钟电路:通用 晶振可选4M-12M(常用:6M和12M) 执行一条指令要多长时间? 1-4个机器周期 一个机器周期等于晶振的12个振荡周期 晶振为6M

12、时,执行指令MOV R7, 50H 需多长时间?1.6例中软件延时多长时间? 2.3 信号引脚 共40个引脚 并口(32)电源(2)晶振(2) RST/E/A ALE+/P/S/E/N ALE:地址锁存信号;接锁存器 /P/S/E/N:取指信号(/W/R、/R/D) 作业1 作业 1. 某程序中出现MOV SP, #60H语句,请 问该语句的作用是? 2. 简述子程序调用时,堆栈区是如何工作的? 3. 单片机复位时,(SP)=? 4. 按要求预习第三章和第四章 5. 简述MOV、MOVX、MOVC指令的区别 6. 编程将片内RAM 30H单元开始的15个字节 的数据传送到片外RAM3000H开

13、始的单元 中去。 作业2 作业 1. 4个并口除作为通用I/O口之外,还有什么 其他功能? 2. 如果使用12M的晶振,请编一个延时子程 序,使延时时间为40ms。 3. /P/S/E/N、/W/R、/R/D这3个引脚的功 能是? 4. 89C51共有多少个引脚?多少个并口?并口 的位数是? 3 4 指令系统 汇编语言 31 指令 ADD与ADDC 例 MOV A,#0C0H ADD A,#60H (A)=? (CY)=? 答:20H ;1 例 例 SETB MOV ADD ADDC (A)=? C A, 50H A, 50H A, 50H (CY)=? 答:0F0H ;0 INC 例:MOV

14、 A,#33H INC A (A) = ? (CY) = ? 例:MOV A,#0FFH INC A (A) = ? (CY) = ? 例:MOV A,#00H DEC A (A) = ? (CY) = ? DA A 什么叫BCD码?什么叫压缩BCD码? (十 进制) 例:如果30H内容为:10101000B,问A 中值是多少? 压缩BCD码是多少? 执行指令MOV 31H, #50H 后,31H的 压缩BCD码是多少? BCD码的主要用途是为了显示方便 如何进行BCD码的相加呢? DA A (续1) 问:MOV A, MOV R1, ADD A, (A)=? 问:MOV A, MOV R1, ADD A, DA A (A)=? #50H #50H R1 #50H #50H R1 DA A (续2) 例:将30H、31H中BCD码相加结果存在 30H、31H中。 答: MOV A, 30H ADD A, 31H DA A MOV 31H,#00H ADDC 31H ,#00H AJMP、SLMP、LJMP、JMP的区别 直接转移指令(不返回) AJMP addr11:只能在2K的页面内转移 SJ

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

当前位置:首页 > 建筑/环境 > 施工组织

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