任务一单片机控制单灯亮灭.ppt_第1页
任务一单片机控制单灯亮灭.ppt_第2页
任务一单片机控制单灯亮灭.ppt_第3页
任务一单片机控制单灯亮灭.ppt_第4页
任务一单片机控制单灯亮灭.ppt_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务一 单片机控制单灯亮灭,教学导航 任务单 任务准备 案例示范 知识梳理与总结 任务作业,教学导航,任务单,任务一电路图,任务一 单片机控制单灯亮灭,1.1 数制与编码 1.2 8051单片机基本结构 1.3 存储器结构 1.4 并行输入/输出接口 1.5 MCS-51单片机引脚功能 案例1 单片机控制右侧发光二极管亮灭 案例2 仿真调试简单的C语言程序,1.1 数制与编码,计算机最基本的功能是进行数据的计算和处理加工,为了方便和可靠,计算机内部采用了二进制数字系统,因此,所有数值数据都必须采用二进制数表示,所有非数值数据,例如,字母、符号等也都必须采用二进制代码表示。,1.1.1 进位计数制,数制是进位计数制的简称。为区别不同的进位计数制,通常用字母来表示数制: D(Decimal)代表十进制(也可省略) B(Binary)代表二进制 O(Octal)代表八进制 H(Hexadecimal)代表十六进制。,几种进制的对应关系,进制间的转换,技巧:利用“开始”“附件”“计算器”,1.1.2 计算机中的常用编码,1二十进制编码 二十进制编码是指将十进制数的09十个数字用二进制数表示的编码,即BCD(Binary Coded Decimal)编码。 由于十进制数需用4位二进制数来表示。 4位二进制编码有多种方案,BCD码也有多种方案。 最常用的编码是8421BCD码,它是一种恒权码,8(23)、4(22)、2(21)、1(20)分别是4位二进制数的权值。,8421BCD码,十进制数86.5转换为8421BCD码为: 86.5(1000 0110.0101)8421BCD BCD码1001 0011.0100转换为十进制数为: (1001 0011.0100)8421BCD93.4,例1-5 十进制数和BCD码相互转换,同一二进制代码,当把它看作是二进制数和把它看作是二进制编码的十进制数(BCD),其数值是不同的!,2字符编码,计算机中普遍采用的是美国国家信息交换标准字符码,即ASCII码(American Standard Code for Information Interchange)。 ASCII码采用7位二进制代码对字符进行编码。它包括52个大、小写英文字母,10个阿拉伯数字,32个通用控制符号,34个专用符号,共128个字符。例如09对应的ASCII码为30H39H,AZ对应的ASCII码为41H5AH。,ASCII 码 表,1.2 单片机基本结构,MCS-51系列单片机都是以8051为核心电路发展起来的,包括51子系列(基本型)和52子系列(增强型)两大类,因此它们都具有MCS-51的基本结构与软件特征,具有很强的兼容性。,MCS51系列单片机配置,Flash Rom单片机:89X5189C51、89S51等。,1.2.1 单片机的内部结构,(1)1个8位的中央处理器(CPU,具有位处理功能)和1个全双工的异步串行口。 (2) 2个16位定时器/计数器 (3)3个逻辑存储空间 64KB程序存储器空间( 包括4KB片内程序存储器ROM) 128B内部数据存储器(RAM) 64KB数据存储器空间 (4) 4个双向并可按位寻址的I/O口 (5)5个中断源,具有两个优先级 (6)片内还有振荡器和时钟电路,用EPROM,为8751,无ROM为8031,MCS-51系列单片机的结构框图,1.2.2 单片机CPU的结构,1. CPU 结构 MCS51内部有一个8位CPU(8位是CPU的字长,指CPU对数据的处理是按一个字节进行的),它象通常的微处理器一样,也是由算术逻辑运算单元ALU、定时控制部件(即控制器)和各种专用寄存器等组成的。,ALU,由定时和控制部件构成的控制器,包括定时控制逻辑、指令寄存器、指令译码器、数据指针DPTR、程序计数器PC、堆栈指针SP、RAM地址寄存器以及16位地址缓冲器等。,运算器(ALU、专用寄存器),2.CPU的专用寄存器组,MCS-51的CPU专用寄存器组包括6个寄存器 程序计数器PC 累加器ACC 寄存器B 程序状态标志寄存器PSW 堆栈指针SP 数据指针DPTR。 除PC外,其余5个寄存器均为可编程可访问寄存器。 专用寄存器组中只有PC在物理上是独立的(即没有与其他器件共同编码的物理地址),其余5个寄存器都有相应的直接地址(称字节地址)。,是一个独立的计数器,用于存放下一条待执行指令的地址。 PC的基本工作过程可以描述为: PC中的数作为指令地址输出给程序存储器,程序存储器按此地址输出指令字节,同时PC本身自动加1,指向下一条指令。 MCS-51的PC是一个16位寄存器,其寻址范围是64KB(即216Byte)。,(1)程序计数器PC(Program Counter),(2)累加器ACC (Accumulator),简称A寄存器或累加器A,是一个具有特殊用途的8位寄存器,主要用来存放一个操作数或存放运算的结果。 累加器ACC是CPU中使用最频繁的寄存器,MCS-51指令系统中多数指令的执行都通过它进行。,(3)程序状态字PSW (Program State Word),D7 D6 D5 D4 D3 D2 D1 D0,PSW,进位标志、“位累加器”,辅助进位标志,用户通用状态标志,溢出标志,奇偶标志位,保留位,工作寄存器组选择控制位,若A中有奇数个“1”,则P置位,否则清零,1.3 存储器的结构,自学,回答以下问题: 1、MCS-51存储器的ROM和RAM分别存放什么内容,其体系结构什么样的结构?有何特点? 2、8051单片机的片内ROM的容量有多大?如果要扩展了程序存储器,单片机的程序存储在片内ROM和片外ROM两个空间中,必须对单片机的引脚如何处理?片外ROM的地址范围是怎样的? 3、8031没有片内ROM,则对单片机的引脚如何处理? 4、51子系列单片机片内RAM容量多大,分为哪几大区域? 5、51单片机片机RAM中的工作寄存器区有多少个单元,分几组,每组多少个单元?这些单元如何命名的? 6、ROM、片内RAM、片外RAM分别称为什么区?,1.3 存储器结构,普林斯顿(Princeton)结构:将程序和数据合用一个存储器空间的结构。 哈佛(Harvard)结构: 程序存储器和数据存储器截然分开,ROM和RAM独立编址并分别寻址的结构,相互间不会冲突。 在MCS-51系列单片机中,不仅在片内预留了一定容量的程序存储器、数据存储器,而且还具有很强的外部存储器扩展能力,可扩展到64KB。,8031 8751 8051 89C51,256B(字节),4KB,64K,64K,1.3.1 程序存储器,程序存储器(Program memory)主要用于存放经调试正确的应用程序和常数表格,称为CODE区。 由于MCS-51系列单片机采用16位的程序计数器PC和16位的地址总线,因而程序存储器可扩展的地址空间为64KB,并且这64KB地址在空间分布范围上是连续和统一的。,程序存储器的应用形态,当EA为高电平时,程序运行先从片内ROM取指令,当片内ROM指令取完后(PC0FFFH),再从片外ROM取指令。 当EA为低电平时,只从片外ROM取指令。,程序存储器的应用形态,8051中含有4KB容量的掩膜ROM,8751中含有4KB容量的EPROM,89C51中含有4KB容量的Flash ROMEA接高电平。 8031/8032中不设程序存储器,这种单片机在供应状态上称为ROM Less型器件,使用过程中必须外部扩展ROMEA接高电平。,数据存储器,内部 RAM,特殊功能 寄存器,内部RAM存储器,1.3.2 内部数据存储器,称为DATA区,1.3.3 外部数据存储器,可以扩展64KB 称XDATA区 页内寻址(没有高8位地址)区为PDATA区,外部数据存储器,1.4 并行输入/输出接口,接口电路是微机应用系统中必不可少的组成部分,其中并行输入/输出接口是CPU与外部进行信息交换的主要通道。 MCS-51单片机内部有4个并行的I/O接口电路:P0、P1、P2、P3,它们都是双向口,既可以输入又可以输出。P0、P2口经常用作外部扩展存储器时的数据、地址总线,P3口除了可用作I/O口外,每一根都有第二功能。 通过这些I/O接口,单片机可以外接键盘、显示器等外围设备,还可以进行系统扩展,以解决片内硬件资源不足问题。,1. P0口,总结特点: (1)P0口可作通用I/O口使用,又可作地址/数据总线口; (2)P0既可按字节寻址,又可按位寻址; (3)作通用I/O 口输出时:是开漏输出,应外接上拉电阻; (4)P0是一个准双向口。,1. P0口,2. P1口,(1)只能作I / O口,没有地址/数据复用功能 (2)可按字节寻址,也可按位寻址 (3)是一准双向口,输出驱动接有上拉电阻,不是开漏输出。,3. P2口,(1)当P2口作为通用I / O时,是一准双向口。 (2)从P2口输入数据时,先向锁存器写“1”。 (3)可位寻址,也可按字节寻址。 (4)可输出地址高8位。,3. P2口,4. P3口,(1)当P3口作为通用I/O接口时, 第2功能输出线为高电平; (2)当P3口作为第2功能使用时, 应先向锁存器写1; (3)当P3口作为第二功能输入时,第2功能输出线自动为1。,P3口的第二功能,1.4.2 并行I/O口的使用特性,MCS-51系列单片机的4个并行I/O口均由内部总线控制,端口的功能复用会自动识别,不用指令选择。 P0是8位、漏极开路的双向I/O口,当用作片外存储器或接口扩展时,分时复用为数据总线和低8位地址总线,可驱动8个LSTTL负载。 P1是8位、准双向I/O口,具有内部上拉电阻,驱动为4个LSTTL负载。 P2是8位、准双向I/O口,具有内部上拉电阻,可驱动4个LSTTL负载,外部扩展时用作高8位地址总线。 P3是8位、准双向I/O口,具有内部上拉电阻,可驱动4个LSTTL负载。P3口的所有口线都具有第二功能,实现控制总线的作用。,1.5 单片机芯片的引脚及功能,8、P3口的第二功能,2、振荡电路:XTAL1、XTAL2,3、复位引脚:RST,4、并行口:P0、P1、P2、P3,7、ALE:地址锁存控制信号,1、电源线:VCC(+5V)、VSS(地),VCC,VSS,XTAL2 XTAL1,RST/VPD,P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7,P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7,P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0,ALE,P3.0 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7,VCC(40脚): 接+5 V电源正端; VSS(20脚): 接+5 V电源地端。,1. 主电源引脚,2. 外接晶体引脚,XTAL1(19脚): 接外部石英晶体的一端。 在单片机内部, 它是一个反相放大器的输入端, 这个放大器构成了片内振荡器。 XTAL2(18脚): 接外部晶体的另一端。 在单片机内部, 接至片内振荡器的反相放大器的输出端。,(1)RST/VPD(9脚): RST即为RESET, VPD为备用电源, 所以该引脚为单片机的上电复位或掉电保护端。 VPD是备用电源输入端,当单片机掉电或电源发生波动导致电源电压下降到一定值时,备用电源通过VPD端给内部RAM供电,保持其中的信息,直至单片机工作电压恢复正常。 (2) (30脚): 当访问外部存储器时, ALE(允许地址锁存信号)以每机器周期两次的信号输出, 用于锁存出现在P0口的低8位地址, 的功能是8751等片内含有ROM器件的编程脉冲输入端。,3. 控制信号,(3) (29脚): 片外程序存储器读选通信号输出端, 低电平有效。 (4) /VPP(31脚): 为访问外部程序存储器控制信号, 低电平有效。 VPP是编程电源输入端。,(1)P0口(39脚32脚): P0.0P0.7统称为P0口。 (2)P1口(1脚8脚): P1.0P1.7统称为P1口, 可作为准双向I/O接口使用。 (3)P2口(21脚28脚): P2.0P2.7统称为P2口, 一般可作为准双向I/O接口。 (4)P3口(10脚17脚): P3.0P3.7统称为P3口。,4. 输入/输出(I/O),案例1 单片机控制右侧发光二极管亮灭,让最右边的发光二极管亮,其它不亮。 给P0.0送0,其他位送1,可让D8亮而其他灯不亮。,1. 案例程序,#include void main() unsigned int value; value=0xfe; P0=value; ,2. Keil C51调试方法与步骤,要使用Keil软件,首先要正确安装Keil软件,该软件的Eval版本可以直接去http:/www. 下载,(1)建立工作项目文件,启动Keil Vison2,如果打开后就有打开的文件,单击“Project-Close Project”菜单将其关闭。单击“FileNew. ”,打开一个新的文件输入窗口,在这个窗口里输入上述源程序。输入完毕之后,选择“FileSave”,给这个文件取名保存 。 单击“Project-New Project.”,出现对话框,要求给将要建立的工程起一个名字,这里起名为test,不需要输入扩展名。单击“保存”按钮,出现第二个对话框。,CPU选择窗口,标准8051启动代码加入工程,询问是否要将标准的8051启动代码加入工程,单击“是”按钮。,添加源程序,单击“Source Group 1 “,使其反白显示,然后单击鼠标右键,出现一个下拉菜单。 选中其中的“Add file to GroupSource Group 1”,出现一个对话框,要求寻找源文件。,工程选项的设置,选择资源窗口中的“Target 1 ”,单击鼠标右键,出现快捷菜单,然后选择“Options for TargetTarget 1”。,生成单片机烧录文件,在弹出的对话框中选择“output”标签页,选中该页的“Creat HEX File”前面的复选框,这样在编译后就会生成可以用于烧写的.hex文件。,(2)项目编译、连接,“ProjectBuild target”可以对当前工程进行连接 ,产生目标代码。 “ProjectRebuild All target files”将会对当前工程中的所有文件(无论是否修改过)重新进行编译 ,产生目标代码。 而如果选择“ProjectTranslate “,项则仅对当前文件进行编译,不进行连接,也就不会产生新的目标代码。,编译、设置的工具栏按钮,编译、编译连接、全部重建、停止编译和对工程进行设置。,编译后的输出信息,编译过程中的信息将出现在输出窗口中的Build页中,提示获得了名为mytest.hex的文件,该文件即可被编程器读入并写到芯片中。同时还可看到该程序的代码量、内部RAM的使用量、外部RAM的使用量等一些信息。除此之外还产生了一些其他相关的文件可被用于Keil的仿真与调试。,(3)程序的仿真与调试,工程进行汇编、连接成功以后,按组合键 Ctrl十F5】或者选择“DebugStart/Stop Debug Session”即可进入调试状态,菜单项中出现了一个用于仿真运行和调试的工具条。,从左到右依次是复位、运行、暂停、单步、过程单步、执行完当前子程序、运行到当前行、下一状态、打开跟踪、观察跟踪、反汇编窗口、观察窗口、代码作用范围分析、1#串行窗口、内存窗口、性能分析、工具按钮等命令的快捷按钮。,仿真或观察P0、P2端口的状态,选择“Peripherals I/O-PortsPort 0”和“PeripheralsI/O-Ports Port 2”,在主窗口中会出现P0, P2口的状态,需要在程序运行的时候改变P0.0,(4)在Proteus中仿真运行,双击桌面上的ISIS 7 Professional图标或者单击屏幕左下方的“开始”“程序”“Proteus 7 Professional”“ISIS 7 Professional”,出现启动界面后就进入了Proteus ISIS集成环境。 选择“文件”“打开设计”,在文件打开对话框中打开task1.dsn文件(由教师提前准备好,本文件在配套光盘“任务1”文件夹中。,(4)在Proteus中仿真运行,单击Proteus ISIS集成环境中下部“仿真工具栏”的最左边的按钮(即“运行”),则可在设计区察看运行结果,可以看到最右边的一个发光二极管亮了。,(5)利用实验箱(或开发板)运行,将

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论