版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、全国高职骨干教师暑期培训单片机原理及运用电子实验中心 习友宝2007.7.12.主要内容:1、单片机的概述2、8051的根本原理3、根本汇编及编程4、c言语编程根本方法5、C8051F020简介6、单片机运用举例.1、 微型计算机概述 微处置器 CPU芯片 微处置器的硬件构造 微处置器的体系构造运算器、控制器、存放器、总线接口单元复杂指令集 CISC Complex Instruction Set Computer 以Intel公司为代表的CPU,例 MCS-51 芯片精简指令集 RISC Reduced Instruction Set Computer 以IBM公司为代表的CPU,例 POW
2、ER PC 芯片.1、 微型计算机概述 单板微型计算机 单片微型计算机 微型计算机系统 CPU、存储器、I/O接口集成在一个芯片上 运用广泛,重点讲解MCS 51的原理 CPU、存储器、I/O接口集成在一张印刷板上 用于工业控制器、家用电器、手机等 更完备CPU、存储器、I/O接口 PC机 微型计算机的骄傲 .单片微型计算机、微控制器 单片微型计算机 SCMSingle Chip Microcomputer 微控制器 MCUMicro Control Unit 注:称谓不同、功能一样.单片微型计算机、微控制器 CPU MCUCPUROMRAMI/O接口外部设备CBDBABMCU.单片微型计算机
3、微控制器MCU 单片机的特点 片内存储器的类型特点 存储器系统的可扩展性 片内ROM 程序指令机器码存放区 片内RAM 运转中随机数据存放区 I/O 接口引脚功能的多样性 位寻址和位处置功能 .单片微型计算机微控制器MCU 通用型单片机 硬件电路设计简单,软件开发容易 用芯片就可完成系统设计,调试及运用 设计参考资料丰富 如 Intel MCS-51系列.单片微型计算机微控制器MCU 公用型单片机 根据特殊要求而设计的单片机 在单片中参与更强的数据处置才干如 DSP 常用芯片 TI公司用于信号处置单片机 TMS320 系列 AD公司用于信号处置单片机 ADSP2106 系列 .单片微型计算机微
4、控制器MCU 单片机的运用 机电一体化设备的控制中心 数据采集系统的前端采集单元 分布式控制系统的前端控制单元 智能化仪器仪表的控制机芯 家电及消费类电子产品的控制机芯 终端及外部设备的控制机芯 .常用的单片机 目前,国内单片机运用呈现百花齐放之势,很多不同类型的单片机逐渐进入中国,这给我们添加了选择余地。因此,可首先选择主流单片机进展学习,在熟习以后,喜好者可以根据实践情况,选择进一步学习另一种或多种单片机。.8051类单片机最早由Intel公司推出的8051/31类单片机,也是世界上用量最大的几种单片 机之一。由于Intel公司在嵌入式运用方面将重点放在X86、奔腾等与PC类兼容的高档芯片
5、的开发上,8051类单片机主要由Philips、三星、华邦等公司接产。这些公司都在 坚持与8051单片机兼容的 根底上改善了8051许多特性(如时序特性)。提高了速度、降低了时钟频率,放宽了电源电压的动态范围,降低了产品价钱。开展动态:1、以8051内核开展出各种系列 ATMEL AT89CXX;WINBOND 51系列;PHILIPS 80C51系列单片机2.开展成为SOC (如:LCD控制, A/D, D/A ,USB,网络接口 等 3. 低功耗:如 TI MSP430系列等4. 高速和DSP结合。嵌入式处置器ARM系列.基于51内核的单片机依然是国内运用最多的,目前国内较常见的有以下几种
6、:PHILIPS:1基于80C51内核的微控制器,每个机器周期只需6个时钟周期,比规范51快一倍。2该系列芯片适用于大批量、低本钱、低功耗的运用,如电子门禁系统、倒车雷达、里程表等。3主要型号:如 P89C51,P89C52, P89C54,P89C58等.ATMEL公司ATMEL单片机:1ATMEL公司目前的产品主要FLASH,EEPROM,还有可编逻辑器件PLD,门阵列,场可编门阵列FPGA,8051兼容的闪速单片机(FLASH Microcontroller),以及智能卡(Smart Card)。2为了介入单片机市场,ATMEL公司以EEPROM技术和Inte1公司的8031单片机中心技
7、术进展交换,从而获得8031核的运用权。ATMEL公司把本身的优势即先进的Flash技术和8031核相结合,从而消费出了Flash单片机89C51等系列。3主要型号:AT89C51,AT89C52,AT89C1051,AT89C2051.Motorola单片机Motorola是世界上最大的单片机厂商。种类全、选择余地大、新产品多是其特点,在8位机方面有68HC05和晋级产品68HC08, 8位加强型单片机68HC11。晋级产品有68HC12 ,16位机68HC16。Motorola单片机特点之一是在同样速度下所用的时钟频率较Intel类单片机 低很多,因此使得高频噪声低,抗干扰才干强,更适宜用
8、于工控领域及恶劣的环境。.Infineon XC800系列XC866基于与工业规范8051兼容的内核,每个机器周期只需2个时钟周期,规范51需12个时钟周期。高度集成片内器件,例如片内振荡器、嵌入式电压调理器(可由3.3V或5.0V的单电源供电),有许多加强功能。存储器维护战略为用户知识产权(IP提供读维护,同时Flash编程和擦除维护用来防止数据破坏。 多闪存组(Flash Bank构造支持在运用编程IAP,运转某bank 中的用户程序可编程擦除另一BANK中的内容。可进展在系统编程ISP,经过PC对嵌入式FLASH方便的编程或擦除。具有用来产生脉宽调制信号、带有电机控制公用方式的捕获/比较
9、单元.功能扩展的10位模数转换器ADC,具有如自动扫描和结果累加(用于抗混迭滤波或结果平均)等特性;功能扩展的通用异步收发器UART,支持本地互连网络LIN)运用,为许多器件提供LIN的底层驱动软件; LIN是一种机动车内部网络互连的整体通讯概念。提供不同的省电方式选择,以满足低功耗运用扩展了控制片内外设功能的特殊功能存放器(SFR)的地址范围。 .内部构造.Cygnal公司C8051F系列该系列单片机大部份指令只需一个时钟周期即可完成(89C51的一条指令最少为12个时钟周期),因此该系列单片机的运转速度大大加快。其他改良包括加多了中断源、复位源,带有JTAG接口,可在系统编程调试,可实现捕
10、捉、高速输出、PWM功能等,是51系列单片机中的高端产品。该系列单片机由新华龙电子代理,xhl.MicrochipMicrochip单片机是市场份额增长最快的单片机,抗干扰才干强,系列种类齐全,其OTP(一次性可编程)产品大批量用于家电控制等场所,某些内置FLASH ROM的型号用于工业控制也很适宜。主要产品是16C系列8位单片机,CPU采用RISC构造,仅33条指令,Microchip强调理约本钱的最优化设计,适于用量大、档次低、价钱敏感的产品。初档8位单片机:PIC12C5XXX16C5X系列中档8位单片机:PIC12C6XX/PIC16CXXX系列高档8位单片机:PIC17CXX系列 中
11、文网站 microchip.德州仪器公司 TI MSP430系列通用型单片机,1996年推向市场.MSP430系列单片机均为工业级器件,运转温度 4085 摄氏度。该单片机最大的特点是用电极省。该系列单片机主要用于各种智能仪表、测试丈量系统,便携的设备如U盘,MP3播放器,手持式仪表,玩具等。.MSP430系列特点 16位的RISC(精简指令集)构造,1时钟周期/机器周期传统MCS51为12时钟周期/机器周期,所以在8M的主频的情况下,其性能远远优于12M主频的传统MCS51单片机。某些型号具有类似于DSP内的硬件乘法器,硬件乘加功能,DMA等,便于快速的实现数字信号处置的一些算法。开发环境:
12、PC 集成开发环境的软件IAR Workbench V2.10 JTAG下载线 运用者硬件.Epson单片机Epson公司以擅长制造液晶显示器著称,故Epson单片机主要为该公司消费 的LCD配套。其单片机的特点是LCD驱动部分做得特别好。在低电压、低功耗方面也很有特 点。.国家半导体公司 NS 单片机COP8单片机是美国国家半导体公司的产品,该公司以消费先进的模拟电路著称。能消费高程度的数字模拟混合电路。COP8单片机片内集成了16位A/D,这是单片机中不多见的。COP8单片机,在看门狗电路以及STOP方式下单片机的唤醒方式上都有独到之处。此外,COP8的程序加密控制也做得比较好。.SST公
13、司的SST89C54, SST89C58等具有在运用中编程( IAP)功能、在系统可编程(ISP)功能,不占用户资源,串口下载,无需编程器、仿真机,芯片可具有仿真机的功能。.AD公司的AduC812, AduC824 AD公司是著名的模拟器件消费公司,这两款单片机是AD公司结合其模拟技术专长而推出的基于51内核的单片机。Aduc812内部集成有8K FLASH ROM, 640字节EEPROM,256字节RAM,8通道12位A/D , 2通道12位D/A,另有监控电路、温度传感器、SPI和I2C总线接口等丰富资源。Aduc824内部更是集成了两路24位/16位A/D,这是另一类51高端芯片,该
14、芯片适宜用于各类智能仪表、智能传感器、变送器和便携式仪器等领域。.资料及网上讨论.网上交流 1、21icbbs (21icbbs) 中国电子工程师网站:21ic是目前国内最抢手的电子技术社区,注册工程师超越7万人,同时该站也是电子类网站中关注单片机最多的一个论坛,该论坛设有综合技术交流、嵌入式系统等数十个栏目。.2、C51bbsc51bbs 是国内最为胜利的单片机类个人网站之一,人气旺盛,提出的各类问题会得到及时的回答,尤其是Keil C方面的问题,是目前国内关于Keil C方面的权威网站。.3、水木清华是国内著名的BBS站点之一,该站设有许多栏目,其中电路设计与调试、嵌入式系统等与单片机运用
15、与开发有关有一些有适用价值的贴子。其它一些BBS如电子喜好者网站etuni电子报网络版 netdzb周立功网站 zlgmcu.网上找资料 1、力源网站 该网站目前录入有全球92家IC厂商的器件可供查询;录入有39543个PDF文件可供下载;全球671家IC厂商可查询其网址及分支机构等情况;316个IC媒体及网址可供查询。该站的特点是提供了大量中文资料,分类查询也设计得非常周到。.2、中国电子网21ic 该网站提供了各大公司数万份器件资料,通常用到的集成电路资料都可以在这里找到3、datasheet.2、MCS-51系列单片机的构造 MCS-51单片机的根本组成 组成单元 CPU 及控制线 内部
16、 ROM 和内部 RAM 4 个 8 位 I/O 口 P0、P1、P2、P3.AT89C51构造图 .MCS-51系列单片机的构造RAM构造图ROM构造图00HFFH0000HFFFFH内部RAM外部RAM0FFFH0000H1000HFFFFH0000HFFFFH/EA = 1内外ROM/EA = 0仅外ROM 8051的系统 RAM、ROM 构造图.MCS-51系列单片机的构造 8051 的系统 RAM、ROM 构造总结 访问片内外 RAM 用不同指令识别 访问片内外 ROM 用控制线 /EA 识别 访问片内 RAM 用 MOV 访问片外 RAM 用 MOVX 访问片内外 ROM 使 /E
17、A = 1 仅访问片外 ROM 使 /EA = 0.MCS-51系列单片机的构造 8051片内 RAM 的分配00H1FH20H2FH30H7FH80HFFH3组工作寄存器R0 R72组工作寄存器R0 R71组工作寄存器R0 R70组工作寄存器R0 R700H1FH任务寄存器组可位寻址区仅字节寻址区存放器借用区00HFFH.MCS-51系列单片机的构造 PSW 程序形状字存放器b7b6b5b4b3b2b1b0CYACF0RS1RS0OVF1P CY 无符号数加减法运算的进位、借位标志 AC 半字节进位、借位标志 OV 有符号数加减法运算的溢出标志 P 奇偶校验标志 F0、F1 用户自定义标志位
18、 RS0、RS1 任务存放器组选择控制注:对应于8086CPU的 CF、AF、OF、PF, 但无 SF、ZF。没有控制标志位。.MCS-51系列单片机的构造 SP 堆栈栈顶指针存放器 8 位堆栈栈顶指针存放器 SP SP 的运用特点 最多能定义堆栈深度为 256 个字节 堆栈区地址为片内 RAM 的 00H 7FH 8051或00H FFH 8052之间 堆栈栈顶指针 SP 的初值为 07H MCS-51的堆栈为地址增长型堆栈与8086相反 数据入栈时,堆顶指针 SP 自动加 1,即SP = SP + 1 数据出栈时,堆顶指针 SP 自动减 1,即SP = SP 1 .MCS-51系列单片机的
19、构造 P0、P1、P2、P3 口的功能和特点 可作 4 个 8 位并行 I/O 口运用 可对各口中的某一位进展位操作 存储器扩展时 P0、P2 口具有 AB/DB 第二功能 P3 口的第二功能为 外部中断、定时、串口、R/W.MCS-51系列单片机的构造 P0 P3 口的硬件电路特点 作普通 I/O 口运用时 作输出口运用时内部带锁存器 作输入口运用时内部带缓冲器 均具有读端口和读引脚功能 .MCS-51系列单片机的构造 P1 口的位硬件电路 VCCGND读引脚控制读端口控制外引脚内总线DQ/Q.8051单片机的引脚及其功能双列直插式 40 脚 DIP 封装GNDVCC.芯片封装类型.8051
20、单片机的引脚及其功能8051 单片机的电路逻辑图 .8051单片机的引脚及其功能 引脚 I/O 口 P0 8 条 I/O 引线8位数据线或低8位地址线 P1 8 条 I/O 引线 P2 8 条 I/O 引线高8位地址线 P3 8 条 I/O 引线特殊定义注:共 32 条引脚.8051单片机的引脚及其功能 引脚 控制线 复位线 RST输入、高有效 外部存储器选择控制线 /EA输入 当RST端获得两个机器周期24个时钟周期 的高电平常,8051 单片机系统将进入复位形状。即高复位低任务。 /EA = H时,8051 单片机系统用片内外 ROM /EA = L时,8051 单片机系统仅用片外 ROM
21、注:VPD 为第二功能,提供编程电压.8051单片机的引脚及其功能 引脚 控制线续 地址锁存允许线 ALE输出、高有效 当 8051 单片机系统具有外部存储器时, 用于对 P0 口输出的数据/地址信息的低 8 位地址进展锁存 当 8051 单片机系统无外部存储器时, 输出 1/6 主频的定时信号注:PROG 为第二功能,提供编程脉冲.8051单片机的引脚及其功能 引脚 控制线续 外部 ROM 读选通线 /PSEN输出、低有效 仅用于外部 ROM 中信息的读取控制注: 外部 RAM 的读/写控制线为 /RD 和 /WR P3 口的第二功能 当运用 MOVC 类指令时,/PSEN 输出低电平注:
22、MCS-51 仅单独提供 4 条控制线 RST、/EA、ALE、/PSEN .8051单片机的引脚及其功能 引脚 时钟输入线 XTAL1 和 XTAL2 由外部晶体和内部振荡电路获得主频,系统常用 由外部直接输入时钟获得主频,特殊系统用.8051单片机的引脚及其功能 引脚 电源线 VCC 和 GND引脚 总结 I/O 口线 32条 控制线 4条 时钟线 2条 电源线 2条 合计 40 条.MCS-51单片机的任务方式 MCS-51单片机的复位方式 复位时各芯片存放器的初值 复位时程序指针 PC 的特点 PSW = 0000H 初始化时运用通用存放器 0 组的 R0 R7 SP = 07H 初始
23、化时栈顶在 0 组R7,入栈从 1 组的 R0 开场 P0 P3 = FFH 初始化时并口输出为高电平 其他存放器为 00HPC = 0000H注: 8086CPU 复位时 CS:IP = FFFF0H.MCS-51单片机的任务方式 MCS-51单片机的上电复位电路 坚持复位端 RESET 高电平两个机器周期 常用上电复位电路上电时电容 C 两端电压不能 突变, Vcc 加在 RESET 端。 经 RC 充电电路,稳态时 C 两 端电压为 Vcc,RESET = 0V。 根据主频选择 R、C 值, 普通 R = 10K、C = 10uF.MCS-51单片机的任务方式 MCS-51单片机的程序执
24、行方式 程序指针 PC 从初始值 0000H 处执行指令 在 PC = 0000H 处通常有直接跳转指令 LJMP main ;将 PC 转移到主程序 main 处执行 程序指针 PC 执行指令时会完成自动加 1 操作注:程序执行时 PC 值的变化特点是学习的重点. MCS-51单片机的任务时序 时钟周期、机器周期、指令周期的概念 取指令、执行指令的概念 取指令时序、执行指令时序的概念 指令字节数与指令周期数的概念 时序与控制线 ALE 的关系.MCS-51单片机的任务时序 访问外部 ROM 取指令的时序图ALE/PSENA8 A15P2A0 A7A0 A7指令指令P0.MCS-51单片机的任
25、务时序 访问外部 RAM 的时序图 ALE/RDA8 A15P2A0 A7数据P0.I/O接口电路的作用高速CPU与低速外设的速度匹配主机与外设间信号电平、逻辑的转换信号串/并、并/串方式的转换 . CPU外设数据端口形状端口控制端口总线驱动地址译码逻辑控制DBABCB I/O 接口电路衔接 I/O 接口电路接口与端口 I/O 接口电路原理图 与CPU 三总线衔接 与外设 三信息衔接. 输入/输出传送方式无条件传送方式条件传送方式查询方式中断传送方式DMA方式存储器直接存取方式.MCS-51 的中断和中断接口 中断概述中断处置过程MCS-51 的中断系统及其控制MCS-51 外部中断源的扩展.
26、中断概述中断源硬件中断的分类中断允许与中断屏蔽中断优先级.中断源 发出中断恳求的来源称为 中断源 软件中断源 硬件中断源由中断指令引起中断,例如 8086CPU的 INT n 指令MCS-51无软件中断指令由外设发出中断恳求信号给 CPU 称硬件中断源 PC/XT 微机外设向 CPU 发中断恳求信号控制系统各种传感器发出的中断恳求信号 .硬件中断的分类 可屏蔽中断 非屏蔽中断中断恳求 中断允许 中断呼应中断恳求 中断屏蔽 X 不呼应中断中断恳求 中断呼应注: MCS-51 有此种方式注: MCS-51 无此种方式.中断优先级 单中断源 多中断源无需讨论中断优先级问题必需讨论中断优先级问题 优先
27、级处理方法 软件查询法 公用芯片公用中断优先级管理芯片 存放器控制法对中断优先级存放器编程.中断处置过程 中断恳求 中断允许可屏蔽中断 中断呼应 中断处置中断效力程序 中断前往 在计算机运用系统中,一个完好的中断处置过程应包括如下五个步骤.MCS-51 中断效力程序的入口地址 中断入口地址表中断源 中断入口地址 /INT0 PC = 0003H T0 PC = 000BH /INT1 PC = 0013H T1 PC = 001BH 串行口 PC = 0023H .有中断的完好程序构造 中断入口表程序 主程序 中断效力程序 其它子程序 源程序汇编终了伪指令.有中断的完好程序构造 ORG 000
28、0H LJMP MAIN ; 跳到主程序入口 ORG 0003H LJMP RINT0 ; 跳到 /INT0 中服程序入口 MAIN:SETB EA ; 主程序入口 SJMP $ ; 主程序终了RINT0:PUSH ACC ; 中断效力程序入口 RETI ; 退出中断效力程序 END ; 终了汇编表程序主程序中服程序. 并行口运用单片机显示/键盘系统7 段 LED 数码显示器的控制与编程 8155 与 LED 数码管的接口电路 LED 数码管的扫描控制 LED 显示符号与段码数据 行列矩阵非编码键盘的控制与编程 8155 与矩阵非编码键盘的接口电路 矩阵非编码键盘的特点 键操作检测分析 .7
29、段 LED 数码显示器的控制与编程 8031 与 1 位 LED 数码管的接口(静态显示方式).7 段 LED 数码显示器的控制与编程 8031923588P1P2h g f e d c b a5 4 3 2 1 0 8031 与 多 位 LED 数码管的接口(动态扫描方式).行列矩阵非编码键盘的控制与编程 线性键盘电路与矩阵键盘电路 线性键盘电路8031VCCGND输入口.行列矩阵非编码键盘的控制与编程 线性键盘电路与矩阵键盘电路续 矩阵键盘电路8031VCC行线列线输出口输入口.行列矩阵非编码键盘的控制与编程 多键同时按下的处置 给出按键优先序 重新扫描确定按键操作 消除按键抖动的方法 硬
30、件法 软件法 运用单稳电路消除按键抖动 运用傍路电容消除按键抖动 查询到按键信息后调用延时程序 按键为中断恳求后关中断.MCS-51内部定时/计数器及其运用 MCS-51内部定时/计数器的任务方式 MCS-51内部定时/计数器的控制方法 MCS-51内部定时/计数器的运用编程定时 在系统时钟的控制下完成定时操作计数 在外部脉冲的控制下完成计数操作.MCS-51内部定时/计数器的任务方式 定时/计数器 T0、T1 的任务方式 定时/计数器 T0、T1 的 16 位初值存放器 方式 0 初值存放器按 13 位计数的任务方式 方式 1 初值存放器按 16 位计数的任务方式 方式 2 初值可重装入的
31、8 位计数的任务方式 方式 3 T0、T1 为不同任务方式 T0 TL0低 8 位、 TH0高 8 位 T1 TL1低 8 位、 TH1高 8 位注: 运用 T0、T1 前,必需向存放器中写入计数初值, 16 位初值经 8 位数据线写 2 次获得。.MCS-51内部定时/计数器的控制方法方式控制存放器 TMOD 启动控制存放器 TCON 中断允许/屏蔽控制存放器 IE 中断优先级控制存放器 IP 讨论与定时/计数器有关的公用存放器.定时初值、计数初值的计算 定时/计数器的计数器任务方式 减 1 计数器 加 1 计数器初值 + 1 全 1 + 1 全 0,产生溢出中断初值 - 1 全 0 - 1
32、 全 1,产生溢出中断注: 8253 用此方式。注: MCS - 51 用此方式。注: MCS - 51 需根据定时、计数值 求定时初值、计数初值。.定时初值、计数初值的计算 计数初值的计算 计算公式: X = M N 其中:M 计数最大值,即 28、213、216 N 实践计数值 定时初值的计算 计算公式: X (us)=( M N)T 其中:M 计数最大值,即 28、213、216 N 实践定时值 T 时钟周期的 12 倍 .定时/计数器的运用 在 P1.1 输出周期为 2ms 的方波。1ms1mstv 定时器选用 T1 任务方式 方式 0 主频选用 12M 定时初值计算 ( 定时1ms,
33、设时钟12MHz )X = (M N)T = (213 1000) 1us = 11100000 11000B.串行通讯的根本知识串行通讯的根本通讯方式 串行通讯中的数据传送方式并行/串行变换及串行接口 .串行通讯的根本通讯方式 串行通讯协议 异步协议 同步协议 数据可依次地出如今数据流中,数据间的相对延迟没有专门的时钟来控制。 数据流中依次出现的数据由一个主数据时钟来管理,以一定的时间间隔出现。.串行通讯的根本通讯方式 异步串行通讯协议中的位定义 同步串行通讯协议中的字节定义010/1起始位停顿位数据位位同步0/10/1同步字节数据字节字节同步.串行通讯的根本通讯方式 异步传送方式 异步传送
34、的特点 异步传送的格式 数据在线路上的传送不是延续的 收发双方各用自已的时钟源控制接纳和发送 起始位 1 bit,0 电平 数据位 N bit,有效电平 校验位 1 bit,与数据位中的值有关,可不用 停顿位 1 2bit,1 电平注:传送字符由 4 部分组成.串行通讯的根本通讯方式 异步传送方式续 异步传送中的数据位 收发端必顺采用一样的异步传送格式 收发端必顺采用相近的速率波特率 收发端的一致性特点 7 bit 数据位格式 8 bit 数据位格式注: 数据位格式由任务方式确定.串行通讯的根本通讯方式 同步传送方式 同步传送的特点 同步传送的格式数据在线路上的传送是延续的 同步字符块 由 N
35、 字节数据组成 数据块 由 M 长度的字节数据组成注:同步字符和数据块由协议确定.串行通讯的根本通讯方式 异步、同步传送比较 异步 同步 用位作为收发字符的同步信号 相对效率低 用字节作为收发数据块的同步信号, 相对效率高注:传送数据量少时用串行异步方式 传送数据量多时用串行同步方式.MCS-51单片机的指令系统1: 指令和指令程序2: 寻址方式3: 数据传送指令4: 算术运算指令5: 逻辑运算及移位指令6: 控制转移指令7: 布尔变量操作指令位操作3、根本的汇编. MCS-51单片机的寻址方式寻址 寻觅操作数存放的地方 存放器寻址方式 立刻寻址方式 存储器寻址方式 位寻址方式 直接寻址方式
36、存放器间接寻址方式 变址寻址方式 相对寻址方式 .内部RAM单元之间的数据传送指令 MOV MOV 指令的操作数传送原那么累加器 A 寻址Ri 间接寻址direct 直接寻址Rn 任务存放器寻址#data 立刻数寻址.内部RAM单元之间的数据传送指令 MOV MOV 指令运用中的问题累加器 A 作桥粱 MOV Rn,Rn MOV Ri,Rn MOV Ri, RiMOV A,RnMOV Rn,AMOV A,RnMOV Ri,A MOV Rn ,RiMOV A, RiMOV Rn ,AMOV A, RiMOV Ri ,A错误正确.外部存储器( RAM、ROM )的数据传送指令MOV、MOVC、MO
37、VX 外部存储器 16 位地址值传送指令 1 条 访问外部 ROM 存储器的指令 2 条MOV DPTR,#data16 ;DPTR 外部 RAM、ROM的 16 位地址值MOVC A,A + DPTR ;A A+DPTR 数据指针MOVC A,A + PC ;PC PC + 1、A A+PC程序指针.MOVC A,A + PC 指令的运用 程序 1000H:MOV A,#10H ;A = 10H1002H:MOVC A,A+PC 表项1010H:02H1011H:04H1012H:06H1013H:08H A A+PC、A = 08H 结果; PC PC+1、PC = 1003H、A + P
38、C = 1013H注: 表项地址范围为 1003H 1003H + FFH.MOVC A,A + DPTR 指令的运用 程序 1000H:MOV A,#01H ;A = 01H1002H:MOV DPTR,#6000H ;DPTR = 6000H1005H:MOVC A,A+DPTR ;A+DPTR = 6001H 表项6000H:0AH6001H:0BH6002H:0CHA A+DPTR、A = 0BH 结果注: 表项地址范围为 0000H FFFFH .控制转移指令无条件转移指令 条件转移指令 子程序调用及前往指令 空操作指令.无条件长转移指令 LJMP 格式 特点 运用LJMP addr
39、16 ;PC目的 addr16程序计数器 PC 的目的地址为 16 位立刻数为 3 字节指令,02H、addr 高 8 位、addr 低 8 位指令中用符号地址表示,汇编时获得 16 位真值可转移 PC 的 64KB 范围,即可访问片外ROM.无条件绝对转移指令 AJMP 格式 特点 运用AJMP addr11 ;PC PC + 2、 PC100 addr11 PC目的为16位,即高 5 位原数及低 11 位立刻数PC的目的地址的获得 先:PC PC + 2 有:PC1511,a10a0 addr11 为 2 字节指令, a10 a9 a800001 、 a7 a0 可转移程序存储器的 2KB
40、 范围211 = 2K.LJMP、 AJMP 指令比较 指令字节数 指令寻址范围AJMP 2 字节指令LJMP 3 字节指令AJMP 2KB 寻址范围LJMP 64KB 寻址范围 指令操作码AJMP a10 a9 a800001 LJMP 00000010.无条件短转移指令 SJMP 格式 特点 运用SJMP rel ;PC PC + 2、PC PC + rel rel 为 1 字节相对增量地址,范围为 128 +127SJMP 为 2 字节指令,80H码、rel数PC目的 = PC源 + 2 + relPC目的 = PC当前 + rel.无条件变址转移指令 JMP 格式 特点 运用JMP A
41、 + DPTR ;PC目的 A + DPTR 称 DPTR 中的值为基址,A 中的值为变址PC目的 为 16 位地址值多用于多路分支程序,各分支程序有等优先权,同 C 言语中的 swich 语句.MOVC A,A + DPTR JMP A + DPTR 指令比较MOVC A,A + DPTR ;A = ( A + DPTR ) 查表指令 跳转指令JMP A + DPTR ;PC目的 = A+DPTR注:指令的运用在程序设计中讲.汇编言语中的伪指令 伪指令对汇编源程序进展管理是必需的,但汇编后不产活力器码,主要有如下伪指令。 ORG 汇编起始地址伪指令 END 汇编终了伪指令 EQU 等值定义伪
42、指令 DATA 地址数据赋值伪指令 DB 程序存储器字节数据类型定义伪指令 DW 程序存储器字数据类型定义伪指令 DS 程序存储器地址保管量定义伪指令 BIT 位地址符号定义伪指令.分支程序设计 N 路分支程序,根据任务存放器 R3中的值确定执行分支功能程序段。 分析 用比较条件转换指令 CJNE R3,#data,rel ,当 R3 #data 时转移,此法编程简单,但问题是谁先比较谁快,谁后比较谁就慢。 为处理判别时间不一致问题,可采用转移地址查表法用变址寻址转移指令 JMP A + DPTR, 即将 R3 的值放入 A,将 R3 值所对应的功能程序 段指针放入 DPTR单元, 这样处理快
43、慢不均问题。. R3 0R3 1R3 2R3 NNNNN转向BR0转向BR1转向BR2转向BRNYYYYA = R3DPTR = 表首地址JMP A + DPTRMOVC A, A +DPTRBR0BR1BR2BRN 流程分支程序设计.N 路分支程序设计讨论 问题 全部分支程序总机器码字节数小于256 全部分支程序总机器码字节数大于255转移地址表BRTAB:DB BR0 BRTAB . DB BRn - BRTAB 转移地址 BRTAB:AJMP BR0 . AJMP BRn .N 路分支程序设计讨论 128 分支程序设计 MOV A,R3 RL A ;A = A * 2 MOV DPTR,
44、#BRTAB JMP A + DPTRBRTAB:AJMP BR0 ;为 2 字节指令 AJMP BR1 . AJMP BR127问: 假设分支程序的入口地址在 64 K 范围内分布 最多能完成多少路分支.循环程序设计 程序计数器特点根据循环计数器中的值确定 PC 转向 从 BLOCK 单元开场存放一组无符号数据,数据块长度放在 LEN 单元中,编写一个求和程序,将和存入 SUM 单元,设和不超越一字节。 分析 在循环体中,存放数据块的地址用间址表示,根据减 1 计数器中值能否为 0 作退出循环体的条件。. A = 0R2 = (20H)R1 = #22HA = A + (R1)R2 = R2
45、 -1R2 = 0(21H) = A块首地址累加和块长度值20H21H22H块长度NR1 = R1 + 1 流程循环程序设计LENSUM.循环程序设计 编程LEN DATA 20H ; 20H单元存放数据块长度值SUM DATA 21H ; 21H单元存放数据累加和BLOCK DATA 22H ; 22H单元为数据块首址 CLR A ; A 存放累加和,先清 0 MOV R2,LEN ; R2 为数据块长度计数器 MOV R1,#BLOCK ; R1为数据块指针LOOP: ADD A,R1 ; 循环累加 INC R1 ; 修正数据块指针 DJNZ R2,LOOP ; 假设计数器不为 0,循环
46、MOV SUM,A ; 假设计数器为 0,存累加和 .查表程序设计 将 16 进制数转换为 ASCII码,设 16 进制数存放在 R0 的低 4 位,转换后的 ASCII 码放入 R0 中。 分析 运用公用查表指令 MOVC A,A+DPTR,表首地址赋给 DPTR,表项赋给 A,查表结果赋给 A。 运用公用查表指令 MOVC A,A+PC,表首地址赋给 PC,表项赋给 A,查表结果赋给 A。注: A+DPTR 和 A+PC 的运用特点.查表程序设计 编程 1 MOVC A, A+PC MOV A,R0 ANL A,#0FH ; 表项位置从0 15 ADD A,#1 ; PC 影响的地址调整
47、MOVC A,A+PC MOV R0,A ; 该指令为 1 字节指令ASCTB: DB “0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F 注: 由于PC = PC+1的自动性,很难掌握地址调整.4、单片机c言语编程根本C言语思索单片机资源硬件化的C言语C与汇编的结合编程.在某引脚输出高电平的编程方法:比如P1.3PIN4引脚#include /该头文档中有单片机内部资源的符号化定义,其中包含P1.3void main( void )/void 表示没有输入参数,也没有函数返值,这入单片机运转的复位入口P13 = 1;/给P13赋值1,引脚P1.3就能输出高电平VCCWhile(
48、 1 );/死循环,相当 LOOP: goto LOOP;留意:P0的每个引脚要输出高电平常,必需外接上拉电阻如4K7至VCC电源。.在某引脚输出方波编程方法:比如P3.1引脚#include /该头文档中有单片机内部资源的符号化定义,其中包含P3.1void main( void )/void 表示没有输入参数,也没有函数返值,这入单片机运转的复位入口While( 1 ) /非零表示真,假设为真那么执行下面循环体的语句P31 = 1; /给P31赋值1,引脚P3.1就能输出高电平VCCP3_1 = 0; /给P31赋值0,引脚P3.1就能输出低电平GND/由于不断为真,所以不断输出高、低、高
49、、低,从而构成方波.十字路口交通灯假设一个单位时间为1秒,这里设定的十字路口交通灯按如下方式四个步骤循环任务:60个单位时间,南北红,东西绿;10个单位时间,南北红,东西黄;60个单位时间,南北绿,东西红;10个单位时间,南北黄,东西红;.用P1端口的6个引脚控制交通灯,高电平灯亮,低电平灯灭。#include /sbit用来定义一个符号位地址,方便编程,提高可读性,和可移植性sbit SNRed=P10;/南北方向红灯sbit SNYellow=P11;/南北方向黄灯sbit SNGreen=P12;/南北方向绿灯sbit EWRed=P13;/东西方向红灯sbit EWYellow=P14
50、;/东西方向黄灯sbit EWGreen=P15;/东西方向绿灯void Delay1Unit( void ) /* 用软件产生延时一个单位时间 */ unsigned int i, j;for( i=0; i1000; i+ ) for( j0; j1000; j+ );/经过实测,调整j循环次数,产生1ms延时/还可以经过生成汇编程序来计算指令周期数,结合晶体频率来调整j循环次数,接近1ms./* 延时n个单位时间 */void Delay( unsigned int n ) for( ; n!=0; n- ) Delay1Unit(); void main( void )while( 1
51、 ) SNRed=0; SNYellow=0; SNGreen=1; EWRed=1; EWYellow=0; EWGreen=0; Delay( 60 );SNRed=0; SNYellow=1; SNGreen=0; EWRed=1; EWYellow=0; EWGreen=0; Delay( 10 );SNRed=1; SNYellow=0; SNGreen=0; EWRed=0; EWYellow=0; EWGreen=1; Delay( 60 );SNRed=1; SNYellow=0; SNGreen=0; EWRed=0; EWYellow=1; EWGreen=0; Delay
52、( 10 );.中断效力函数的编写:void 函数名voidInterrupt 中断号 using 存放器组号注:中断函数不能有前往值和方式参数。void myinterrupt(void) interrupt 0 using 2/ 中断处置. data:直接内存访问数据存储器内部RAM bdata:可位寻址的数据存储器内部RAM idata:间接寻址的内部数据存储器内部RAM pdata:分页的外部存储器(用 movx ri 指令访问) xdata:外部数据存储器(用 movx dptr 指令访问) code:代码数据存储器(用 movc a+dptr 指令访问)例如:data int i;
53、 xdata char j;单片机的数据属性限制存储器类型:.C8051F020的构造C8051F020的特点C8051F020的运用5、 C8051F020简介.C8051F020的构造:封装:TQFP100/64.C8051F020的特点一:C8051内核64kB Flash 程序存贮器4352B的数据存贮器(另可扩展64kB)ISP在系统编程JTAG边境扫描非侵入式在线调试内置可编程振荡器.C8051F020的特点二:25MHz的时钟(25MIPS)流水式指令构造70%的单指令1至2个周期低电压任务2.73.6V8字节宽的端口I/O (5V)5 个通用16 位计数器/定时器两个UART
54、串口交叉开关.C8051F020的特点三:公用的看门狗定时器准确的VDD 监视器和欠压检测器实时时钟方式(RTC)22 个矢量中断源SMBus(I2CTM 兼容) 和 SPITM串口计数器/定时器阵列有5 个捕捉/比较模块.C8051F020的特点四:8通道12bit A/D, 100ksps,单端或差分输入,程控增益放大器,内置温度传感器8通道8bit A/D, 500ksps, 程控增益放大器,2通道12bit D/A, 100s,可同步输出电压基准两个模拟电压比较器.C8051F020的特点四:SOC(System On Chip)另:有兼容的100MHz的C8051F120.C8051
55、F020的存贮器组织:.例:C8051F020中A/D相关的存放器:.基于C8051F020的单片机通用系统 单片机通用系统的组成:(1)MCU;(2)显示(数码管8位、字符/图形液晶接口);(3)键盘(48键);(4)8路A/D;(5)双路D/A;(6)64k程序存贮器;(7)64k数据存贮器;(8)RS232C/RS485通讯口; (9)继电器输出(2个) ;(10)拔码开关或跳线; (11)LED灯(8个);(12)EEPROM/复位/日历;(13)复位按钮。 .基于C8051F020的单片机通用系统C8051F020图形液晶模块/字符液晶模块/ 8位数码显示键盘(48键)64k RAM
56、8个LED灯2个继电器双RS232/4858个拔码跳线EEPROM日历/复位复位按钮.根本开发工具和开发流程:Keil uvision;(参考资料)Cygnal IDE;(参考资料)1先软仿真2在线调试ISP方式、仿真器方式3程序下载,独立运转.用 MCS-51 单片机实现数字逻辑电路 MCS-51 单片机电路 电路原理图6、单片机的运用举例.C8051F020通用系统在电子设计竞赛中的运用2003年全国电子设计竞赛简易逻辑分析仪D题.C8051F020通用系统在电子设计竞赛中的运用2003年全国电子设计竞赛简易逻辑分析仪D题 1、根本要求1制造数字信号发生器 能产生8路可预置的循环移位逻辑信号序列,输出信号为TTL电平,序列时钟频率为100Hz,并可以反复输出。逻辑信号序列例如如图2所示。2制造简易逻辑分析仪a 具有采集8路逻辑信号的功能,并可设置单级触发字。信号采集的触发条件为各路被测信号电平与触发字所设定的逻辑形状一样。在满足触发条件时,能对被测信号进展一次采集、存储。b能利用模拟示波器明晰稳定地显示所采集到的8路信号波形,并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产主管每日工作培训
- 化工安全生产
- 江西省宜春市丰城市2023-2024学年三年级上学期第三次月考数学试卷
- 08 中华文化之传统工艺-2025年中考英语新热点时文阅读
- 1.3地球的历史(导学案)高一地理同步高效课堂(人教版2019必修一)
- 期中摸底测试(1-4单元)(试题)(含答案)2024-2025学年六年级上册数学人教版
- 硕论开题全解析-从答辩准备到学术规范
- 影响健康因素多 课件 2024-2025学年人教版(2024)初中体育与健康七年级全一册
- 全省小学美术教师赛课一等奖人美版美术三年级下册《恐龙的世界》课件
- 高中语文15永不消逝的歌声课件苏教版必修
- 大学生职业生涯发展展示
- 学校物业服务保洁服务管理方案
- 企业风险管理中的政治和地缘风险管理
- 万曼呼吸机操作
- 新生儿营养素主要成分和特点
- (多种情景)设备居间合同范本(实用)
- 扩大高水平对外开放课件
- 公司员工的年度考核表领导评语
- 排水公司招聘笔试题目
- JBT 7750-2023 滚动轴承 推力调心滚子轴承 技术规范 (正式版)
- 车辆管理部门安全生产责任制范本
评论
0/150
提交评论