单片机系统设计与制作1

上传人:xmg****18 文档编号:113494332 上传时间:2019-11-08 格式:PPT 页数:33 大小:483.50KB
返回 下载 相关 举报
单片机系统设计与制作1_第1页
第1页 / 共33页
单片机系统设计与制作1_第2页
第2页 / 共33页
单片机系统设计与制作1_第3页
第3页 / 共33页
单片机系统设计与制作1_第4页
第4页 / 共33页
单片机系统设计与制作1_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《单片机系统设计与制作1》由会员分享,可在线阅读,更多相关《单片机系统设计与制作1(33页珍藏版)》请在金锄头文库上搜索。

1、单片机系统设计与制作,主讲:张伟 张杰,情景一 单片机开关状态检测装置,情景描述 通过分析一个简单单片机系统(开关状态检测装置)的工作过程,达到如下目标: 掌握MCS51单片机的内部组成及各部分的功能 掌握MCS51单片机的管脚定义及其使用 掌握MCS51单片机的端口结构及其使用 掌握MCS51单片机的存储器结构 理解MCS51单片机的工作方式及工作时序 掌握MCS51单片机的指令及其使用方法 掌握MCS51端口简单控制的软硬件实现方法 学习和使用proteus仿真软件的使用方法 学习和使用Keil软件编写汇编程序以及运行程序的方法,情景一 单片机开关状态检测装置,1.1 任务1:用单片机点亮

2、LED,1.1.1 任务书 1、功能要求:使8个发光二极管闪烁(同时点亮、熄灭)。 2、硬件要求:单片机芯片采用AT89C51。 3、任务提交:在Keil uVision中完成程序设计;在Protues中完成电路设计。,1.1 任务1:用单片机点亮LED,1.1 任务1:用单片机点亮LED,1、在Protues中画出电路 2、设置Keil uvision,使之与Proteus联动 3、在Keil uvision中建立工程并录入程序 4、运行程序,让发光二极管闪烁起来 5、了解系统的工作过程,ORG 0 LJMP MAIN ORG 30H MAIN: MOV P1,#0 NOP NOP MOV

3、P1,#0FFH NOP NOP LJMP MAIN END MAIN,知识包,硬件知识 软件知识,硬件知识-(一)at89c51引脚及内部结构,CPU AT89C51,时钟电路,复位电路,显示电路,1、AT89C51的引脚定义,(1) 电源类引脚: VCC (40脚):5V输入 VSS (20脚):接地端 (2) 控制信号引脚: RST/VPD(9脚):复位输入/备电输入 ALE/ PROG (30脚):地址锁存输出/编程脉冲输入 PSEN (29脚):外部程序存储器选通信号输出端 EA/VPP(31脚):访问内外部程序存储器控制信号/编程电压输入端 (3) 时钟振荡电路引脚 XTAL1(1

4、9脚)和XTAL2(18脚):时钟电路连接端。 (4) 并行I/O端口 P0口(3239脚):是一个8双向I/O口。在访问外部存储器时,分时提供低8位地址并用作8位双向数据总线。 P1口(18脚):是一个8位准双向I/O。 P2口(2128脚):是一个8位准双向I/O口。在访问外部存储器时,提供高8位地址。在对片内EPROM进行编程和检验时,P2口用于接收高8位地址和控制信号。 P3口(1017脚):是一个8位准双向I/O口。在系统中,这8个引脚都有各自的第二功能。,AT89C51的内部结构,(二)时钟电路,(三)复位电路1、复位状态,复位电路如图128所示。单片机复位信号RST /VPD经片

5、内斯密特触发器(脉冲整形及滤除噪声)与片内复位电路相联。 RST /VPD复位端保持24个时钟周期的高电平后。完成内部复位。复位后片内寄存器的状态如下: PC 0000H TCON 00H ACC 00H TH0 00H B 00H TL0 00H PSW 00H TH1 00H SP 07H TL1 00H DPTR 0000H SCON 00H P0P3 FFH SBUF 不确定 IP XX000000 IE 0XX00000 TMOD 00H PCON,复位不影响内RAM低128单元中的数据。,2、复位方式,(四)显示电路,P1口作为通用输出,P1口作为通用输出即任务一的显示电路采用的方

6、式,在这种方式下,输出驱动电路的场效应管接通锁存器端的输出通路。在输出级内部由作阻性元件使用的场效应晶体管(FET)组成的上拉电阻,因此P1口在作为通用输出口使用时不需要外接上拉电阻。,P1口作为通用输入,当P1口作为一般输入口使用时,应区分读引脚和读锁存器两种情况。 但在有些情况下,如果仍然采用读引脚方式就会读到错误数据。如果先向P1.X管脚输出一个高电平,然后立即读取该管脚的状态,得到的却是一个低电平。这时由于外接的晶体管导通,其be结把P1.X引脚嵌位到低电平上。显然在这个情况下就不能再来读取管脚状态,为了能够适应“读-修改-写”操作的需要,在P1口的口电路中另外设置了读取锁存器的输入通

7、道,在“读锁存器”信号的控制下可以直接读取锁存器的Q端的状态,从而避免了这类错误。 还应指出,P1口在作为一般输入口使用时在读取管脚之前还应向锁存器写入“1”,使上下两个场效应管均处于截止状态,使外接的状态不受内部信号的影响,然后再来读取。这也是被称为准双向口的原因。,软件知识-(一)存储器基础,1)存储器的常用单位及术语 位(Bit) 计算机中最基本和最小的数据单位。 字节(Byte) 1Byte=8Bit。 字(Word) !Word=2Byte=16Bit 字长 字长是指计算机能一次处理二进制数码位数的大小。如MCS-51单片机是8位机,现在的32位机,64位机等。 2)存储器的主要参数

8、 存储容量 :在微型计算机中,数据的存放都是以字节为单位的。所以,往往用字节来表示存储器的存储容量。如:某存储器有1024个存储单元,可以存储1024个字节的数据,这1024个字节称为1KB(写成1KB=1024B),通常就称该存储器的存储容量是1KB。这样的存储单位还有MB、GB和TB ,它们之间的数量关系为: 1KB=1024B 1MB=1024KB 读写周期 读写周期是指内部存储器从接收到由CPU送来的要寻找的存储单元地址开始,到读出(取出)或写入(存入)1个字节数据所需要的时间。 功耗 存储器芯片的功耗可分为工作功耗和维持功耗。功耗的单位一般用mW/芯片来表示。 3)存储器的编址方式

9、微型计算机中存储器的组织结构有两种类型:一种是程序存储器和数据存储器共用一个存储空间,统一编址,属于Von Neumann结构(即冯诺依曼结构);另一种是程序存储器和数据存储器互相分离,分开编址,属于Haward结构(哈佛结构)。MCS51采用的是哈佛结构。,(二) MCS-51的存储结构,(三)、程序存储器及其使用,程序存储器用于存放程序及表格常数。AT89C51有4KB内部程序存储器,编址为0000H0FFFH。当需要扩展时,外部程序存储器从1000H开始编址,这种内、外存储器统一编址的方式,是为了便于程序的连续执行。其内、外ROM的选择,是由控制信号来控制。 表11 系统复位和中断入口地

10、址,外部中断0(,外部中断1(,程序在程序存储器中的存放,LOC OBJ LINE SOURCE 0000 1 ORG 0000H 0000 020030 2 LJMP MAIN 0030 3 ORG 0030H 0030 759000 4 MAIN: MOV P1,#0 0033 00 5 NOP 0034 00 6 NOP 0035 7590FF 7 MOV P1,#0FFH 0038 00 8 NOP 0039 00 9 NOP 003A 020030 10 LJMP MAIN 11 END MAIN,(四)剖析程序执行过程,1)CPU的时序 时序就是研究CPU在执行指令时所需控制信号的

11、时间顺序。有两类。一类用于片内各功能部件的控制;另一类用于片外的存储器或扩展的I/O端口的控制, (1)时序单位 时钟周期P 时钟周期又称振荡周期或拍,由单片机内部的振荡电路OSC产生,是MCS-51单片机中最小的时序单位。 状态周期S 连续的两个振荡脉冲被称为一个状态。即1个状态周期=2个时钟周期。通常把一个状态的前后两个振荡脉冲用P1、P2来表示。 机器周期 通常把单片机完成某种基本操作所需要的时间称为一个机器周期。一个机器周期由6个状态(12个振荡脉冲)组成,分别用S1S6来表示。这样,一个机器周期中的12个振荡周期就可以表示为S1P1、S1P2、S2P1、S2P2、S6P2。 指令周期

12、 简单地说,指令周期就是执行一条指令所需要的时间。指令周期是时序中最大的时间单位,由于不同的指令执行所需要的时间长短不同,因此通常就以指令消耗的机器周期的多少为依据。按照这个标准,MCS-51单片机的指令可分为单机器周期指令,双机器周期指令和四机器周期指令3种。,2)MCS-51指令时序,3)剖析程序执行过程,程序存储器地址 机器码 源程序 0000 ORG 0 0000 020030 LJMP MAIN 0030 ORG 30H 0030 759000 MAIN: MOV P1,#0 0033 00 NOP 0034 00 NOP 0035 7590FF MOV P1,#0FFH 0038

13、00 NOP 0039 00 NOP 003A 020030 LJMP MAIN END MAIN (1)程序执行准备:系统上电,时钟电路工作,产生系统需要的时钟信号。在复位电路的控制下,复位信号有效,使系统复位,P0P3口输出高电平,PC为0000H送往程序地址寄存器,指向片内程序存储器的0000H单元。这里要注意,PC具有自动加1功能,当完成取操作码动作后会自动加1。 (2)LJMP MAIN指令的执行过程 (3)MOV P1,#00H指令的执行过程 (4)NOP指令的执行过程,1.1.4 实训1:用单片机点亮LED,1.1.4.1 实训要求 1、实训名称:用单片机点亮LED。 2、功能要

14、求:使8个发光二极管闪烁(同时点亮、熄灭)。 3、硬件要求:单片机芯片采用AT89C51,LED采用一般发光二极管;要求分别用P0口、P2口和P3口实现。 4、实训提交:在Keil uVision中完成程序设计并提交工程文件电子档;在Proteus中完成电路设计并提交工程文件电子档,实训报告要求,1、实训任务 2、实训步骤 3、电路设计(过程+电路图) 4、软件设计(过程+程序清单) 5、工作过程分析(若有故障,要求分析并提出解决办法) 6、简述对51单片机的认识,P0结构及其使用,P0结构及其使用,P0口作为通用I/O口使用 P0口作为通用输出 P0口作为通用输出时,内部的控制信号为低电平,

15、封锁与门,将输出驱动电路的上拉场效应管截止,同时使多路转接开关MUX接通锁存器端的输出通路。输出锁存器在CP脉冲的配合下将内部总线传来的信息反映到输出端并锁存。从图1-14不难看出,若向管脚写入“1”时,为“0”,下面的场效应管FET2也截止,此时输出脚呈现高阻状态,并不能向外部输出高电平。显然,若要使管脚能输出正确的电平必须外接上拉电阻,即在输出管脚与+5V电源之间外接一个适当的电阻(比如10K)。 P0口作为通用输入 当P0口作为一般输入口使用时,应区分读引脚和读锁存器两种情况。P0口在作为一般输入口使用时在读取管脚之前也应向锁存器写入“1”,使上下两个场效应管均处于截止状态,使外接的状态不受内部信号的影响,然后再来读取。 P0口作为地址/数据总线使用 此时内部的控制信号为高电平,使得MUX接到了上档位置,

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

当前位置:首页 > 大杂烩/其它

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