精品文档-单片机技术及应用项目化教程(郭晓凤)-第2章
单片机应用技术项目式第2章
调试。
2.2 系统的调试
2.2.2 硬件调试方法
1)脱机调试。 2)联机调试
2.3 仿真软件Proteus的使用
2.3.1 Proteus的主要功能特点
1.符合单片机软件仿真系统的标准,能够满足单
D5
R5 200R
D6
R6 200R
D7
R7 200R
D8
R8 200R
4.支持大量的存储器和外围芯片。
2.3 仿真软件Proteus的使用
2.3.2 Proteus的界面与操作介绍
2.4 项目模块——一位LED灯控制系统的
实现
+5V
2.4.1 硬件电路的设计
1K
2.4.2 控制程序的设计
2.4.3 调试并运行程序
P2.0 P2.1 P2.2 P2.3 AT89C51
AT89C51 PROGRAM=lq1.hex
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 38 37 36 35 34 33 32
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
4.创建源程序文件并输入程序代码并保存
2.1单片机开发系统简介
2.1.2 Keil-C软件的使用
5.把源文件添加到项目中
2.1单片机开发系统简介
2.1.2 Keil-C软件的使用
6.编译项目文件
精品文档-单片机技术及应用项目化教程(郭晓凤)-第5章
2.硬件电路的设计与制作 1) 设计方案 硬件电路设计由6个部分组成:A/D转换电路、AT89C51单 片机、LED显示系统、时钟电路、复位电路以及测量电压输入 电路。硬件电路设计框图如图5-1所示。
4
项目五 模/数转换接口及应用
图5-1 数字电压表系统硬件设计框图
5
项目五 模/数转换接口及应用
22
项目五 模/数转换接口及应用
表5-1 简易数字电压表与“标准”数字电压表对比测试表
标准电压值/V 0.00 0.50 1.00 1.50 2.00 2.50 3.00 3.50 4.00 4.99
简易电压表测量值/V 0.00 0.51 1.00 1.51 2.00 2.50 3.00 3.50 4.00 5.00
程序清单: ORG 0000H SJMP MAIN ORG 0003H LJMP PINT0
24
MAIN:
项目五 模/数转换接口及应用
MOV 50H,#19H MOV 54H,#78H MOV DPTR,#7FF8H MOV 51H,DPH MOV 52H,DPL MOV R0,#04H MOV 53H,#00H MOV R7,#00H SETB EA SETB IT0 SETB EX0
《单片机应用技术一体化教程》课件 任务二完整版
知识天地
一、三极管根本结构
电路图中用到的两种型号如下图,EMITTER为发射极,BASE为基 极,COLLECTOR。为集电极。
图2-2-7 2N5401三极管
图2-2-8 2N5551三极管
知识天地
二、电机驱动电路工作原理
图2-2-9 电机驱动电路原理图
知识天地
当单片机的引脚输出低电平、引脚输出高电平时,三极 管Q1、Q2、Q6和Q8导通,其余三极管截止,电机的一端经过 Q2接通电源,另一端从Q8接通至地,电机得电正转,托盘进 仓,电机通路如图2-2-9中的虚线①所示。
当引脚输出高电平、引脚输出低电平时,三极管Q3、Q4、 Q5和Q7导通,其余三极管截止,电机得电反转,托盘出仓, 电机通路如图2-2-9中的虚线②所示。
完成 时间 学习 活动
接受任务、 制订方案
活动评价
评分标准
所占分数 考核情况
1.是否做好学习的准备(充分10分,一般4分,没准备0
分)
自我评价:
2.活动完成情况(好10分,一般5分,不好3分)
J2
52207-0585
R1 R2
10k 10k
M-A M-B J-QD J-ZD
出仓指示 D1灯2 R12
200
D13 R13
200
进仓指示灯
图2-2-2 进出仓主控电路原理图
学习过程
二、绘制影碟机托盘进出仓控制电路图
翻开Proteus软件,参照图2-2-1和图2-2-2 所示绘制影碟机托盘进出仓控制电路图。记录绘 制影碟机托盘进出仓控制电路过程中所遇到的问 题。
学习过程
3.循环转移指令DJNZ
指 令
操 作数1
Rn
DJ NZ
项目二
2018年9月3日4时33分
Page: 14
单片机应用技术
石家庄铁路职业技术学院
Keil C51软件的使用
选择仿真方式
2018年9月3日4时33分
Page: 15
单片机应用技术
石家庄铁路职业技术学院
STC-ISP下载软件的使用
STC—ISP是宏晶科技开发的用于STC单片机烧录 的软件。可下载STC89系列、12C2052 系列和 12C5410等系列的STC单片机,使用简单、方便,现 已被广泛使用。由于我们的ZXDP-1实验版上使用的 就是STC89C52RC型单片机,因此,这也就是我们 选择STC—ISP作为程序烧录软件的原因之一。
2018年9月3日4时33分
Page: 18
单片机应用技术
石家庄铁路职业技术学院
程序下载界面
程序下载成功
2018年9月3日4时33分
Page: 19
单片机应用技术ຫໍສະໝຸດ 石家庄铁路职业技术学院项目知识脉络
单片机软件系统
系统开发软件Keil Keil建立工程 建立源文件 编写程序 编译程序 生成HEX文件 调试程序
STC-ISP软件图标
2018年9月3日4时33分
Page: 16
单片机应用技术
石家庄铁路职业技术学院
STC-ISP软件的界面
选择单片机型号
打开要加载的文件
选择电脑的串口
选择波特率
点击下载
2018年9月3日4时33分
Page: 17
单片机应用技术
石家庄铁路职业技术学院
加载hex文件界面
加载 hex 文件 界面
单片机开发系统是单片机应用系统设计的必需工具, 包括计算机、单片机在线仿真器、工具软件、编程器等。 主要特点: 在线仿真功能 调试功能 1) 运行控制功能 2) 目标系统状态的读出修改功能 辅助设计功能 1) 程序设计语言 2) 程序编译 程序固化功能
单片机应用技术b2
单片机应用技术b2第2章单片机开发系统一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发。
开发过程所用的设备称为开发工具。
虽然单片机造价低、功能强、简单易学、使用方便,可用来组成各种不同规模的应用系统,但由于它的硬件和软件的支持能力有限,自身无调试能力,因此必须配备一定的研制工具,借助于开发工具来排除应用系统(或称目标系统)样机中的硬件故障,生成目标程序,并排除程序错误。
当目标系统调试成功以后,还需要用开发工具把目标程序固化到单片机内部或外部EPROM芯片中。
本章简述单片机应用系统设计制造中所必需的开发工具以及用它们调试单片机应用系统的基本方法。
实训2 单片机开发系统及使用1.实训目的(1) 了解单片机开发系统的基本组成及功能。
(2) 通过最简应用系统实例了解单片机开发系统的使用方法。
2.实训设备与器件实训设备:单片机开发系统。
实训电路:参见附录原理图。
3.实训步骤及要求1)系统连接参照图2.1将单片机开发系统、实验板及计算机连接起来。
注意单片机开发系统的电源不要接反。
2)输入、编辑汇编语言源程序利用DOS提供的EDIT或其它文本编辑软件QE、SK等,输入下面程序。
注意,分号后面的文字为说明文字,输入时可以省略。
保存文件时,程序名后缀应为ASM,例如:LED1.ASM。
程序;说明ORG 0000H ;程序从地址0000H开始存放START: MOV P1,#00H ;把立即数00H 送P1口,点亮所有发光二极管ACALL DELAY ;延时MOV P1,#0FFH ;灭掉所有发光二极管ACALL DELAY ;延时AJMP START ;重复闪动DELAY: MOV R3,#0FFH ;延时子程序开始DEL2: MOV R4,#0FFHDEL1: NOPDJNZ R4,DEL1DJNZ R3,DEL2RET ;子程序返回END ;汇编程序结束3)启动单片机开发系统调试软件使用不同的单片机开发系统,调试软件也有所不同。
单片机技术及应用项目化教程图文 (1)
7
END
25
项目二 单片机并行I/O口的应用
此点亮一个发光二极管的应用程序共有7条语句,其中 第1、3、7行是伪指令语句,其余为指令语句。
伪指令不是真正的指令,为汇编程序提供相关的信息, 汇编时不产生目标代码,不影响程序的执行。常用的伪指令 如表2-1所示。
26
功能 定义程序段或数据块的起始地址 程序结束标志 将指令右边的值赋给左边的字符名(定义常量) 将指令右边的表达式赋给左边的字符名(定义变量) 在程序存储器中从指定的地址单元开始定义一个或 多个字节数据 在程序存储器中从指定的地址单元开始定义一个或 多个字节数据 从指定的地址单元开始留出“表达式”个备用字节 空间 用来将右边的位地址赋给左边的字符名
23
项目二 单片机并行I/O口的应用
/:位操作数的前缀标志,在位操作指令中表示对该位 操作数先求反再参与操作,但不影响该位操作数原值,如 /bit;
(×):寄存器或存储单元×中的内容; ((×)):以寄存器或存储单元×中内容作为地址单元中 的内容; ←:箭头左边的内容被箭头右边的内容所代替; ↔:数据交换; $:当前指令的起始地址。
项目二 单片机并行I/O口的应用
表2-1 常用的伪指令
伪指令 ORG END EQU DATA DB
DW
DS BIT
格式 ORG 16 位地址 END 字符名 EQU 数据或符号 字符名 DATA 表达式 [标号:] DB 8 位数据或数据表
[标号:] DW 16 位数据或数据表
[标号:] DS 表达式 字符名 BIT 位地址
第2、6行指令是两条无条件转移指令,其中“MAIN” 和“LOOP”是转移目标处的标号。无条件转移指令是指当 程序执行到该指令时,无条件转移到指令提供的地址执行。 这类指令分为长转移指令、绝对转移指令、短转移指令和变 址转移指令。
单片机应用项目化教程
片内RAM分区和功能:
FFH
SFR区
80H 7FH
用户 RAM区
30H 2FH 20H
1FH 00H
位寻址 区 工作寄 存器组 区
位寻址区(20H~2FH) 共16个单元为位寻址区,它 用户 RAM 区 (30H~7FH) 2FH 7F 7E 7D 7C 7B 7A 79 78 具有双重功能,既可以像普通的 77 76 75 74 73 72 71 70 共有 80个RAM单元,用于存放数据或作堆栈 RAM单元一样按字节操作,又可 6F 6E 6D 6C 6B 6A 69 68 1FH R7 使用。 67 … 66 65 64 63 62 61 60 以对其中的每一位单独操作,即 工作寄存器组区(00H~1FH) 5F 5E 5D 5C 5B 5A 59 58 位寻址。这16个单元共有16*8= ~ 3 组 SFR 区 (80H~FFH) 32 个单元,分为4组, 57 18H 56 55 128 位,每个位都有自己的位地 R0 54 53 52 51 50 共 4F 4E 4D 4C 4A 49 48 8址, 8031 或4B 8051 的特殊功能寄存器 SFR 00H~7FH。位地址用于位寻 每组 个单元,编号分别为 R0~ 17H R7 47 46 45 44 43 42 41 40 (如: PSW、ACC 、 SP等)共有21个, 址指令, … R738 ,如左图所示。可以通过改 3F 3E 3D 3C 3B 3A 39
2. 单片机的存储器结构
8051的存储器分为程序存储器ROM和数据存储器RAM,二者又有片内、 片外之分。 1)程序存储器ROM FFH 高128 SFR区 用于存放用户程序、数据和表格等信息。 2)数据存储器RAM RAM区 (仅52子 用于堆栈区的开设和存放实时数据。 系列)
单片机原理及应用技术项目化教程 项目二
C51语言程序的组成如下: (1) 预处理命令:1行,用于编译预处理。 (2) 语句:以分号结束作为标志。 C51语言的语句可分为 ① 函数定义语句:3~10,11~20。 ② 变量定义语句:5。 ③ 函数调用语句:16,18。 ④ 控制语句:6,7,8,13。
⑤ 赋值和运算语句:2,15,17。 ⑥ 空语句:“;”。 ⑦ 函数体:4~10,12~20。 (3) 函数:确定程序或函数的功能,有主函数和子函数 之分。void main(void){...}是主函数;void delay02s(void) {...} 是子函数;{...}是函数体。
【项目目标】 1. 知识目标 (1) 掌握单片机C语言的基本组成和语句功能; (2) 能够使用C语言进行编程; (3) 掌握C51程序控制语句; (4) 熟悉C51函数。 2. 能力目标 (1) 掌握C语言的程序设计思想和编程技巧; (2) 能够运用C语言对单片机控制系统进行编程。
2.1 项 目 描 述
关键字
auto break case char const continue default do double else
表 2-1 Keil μVision2 中的标准关键字和扩展关键字
用途
说明
标准关键字
存储种类说明
用以说明局部变量,系统的变量默认类型
程序语句
退出最内层循环
程序语句
switch 语句中的选择项
模块2 交通信号灯模拟系统设计
2.1 项目描述 2.2 项目目的与要求 2.3 项目支撑知识链接 2.4 项目实施 项目小结 项目拓展技能与练习
【项目导入】 89C51单片机的常用编程语言有两种:一种是汇编语言, 另一种是C51语言。汇编语言虽然生成机器代码效率高,但 用它编写程序不仅复杂而且难懂。更重要的是,不同系列单 片汇编语言指令系统不兼容,不适合开发较大的程序。随着 单片机开发应用的发展,逐渐引入了高级语言,其中C51语 言应用最为广泛。C51语言在大多数情况下生成机器代码的 效率和汇编几乎差不多,使用它开发的源程序不仅可读性好 而且易于移植,因此单片机系统软件的开发往往选择C51语 言。
精品文档-单片机技术及应用项目化教程(郭晓凤)-第3章
项目三 键盘及显示接口的应用
(3) 中断处理过程主要包括:中断请求、中断响应、中 断服务、中断返回,如图3-7所示。
中断源是中断响应的必备条件。 中断功能包括:硬件电路和软件程序。 中断程序包括:中断控制和中断服务程序。 中断控制包括:触发方式、允许中断响应(设置IE)、优 先级控制(设置IP)。
END
13
项目三 键盘及显示接口的应用
独立式键盘的结构比较简单,但每个按键都占用了一个口 线,因此只适用于按键数量比较少的情况。
在单片机应用系统中,通常要使用显示器作为输出设备显 示系统的状态,常用的显示器有LED数码显示器、点阵显示器 及液晶显示器三种。
LED数码显示器内部的发光二极管有共阴极和共阳极两种 连接方法,如图3-5所示。
3
项目三 键盘及显示接口的应用
2.硬件电路的设计与制作 1) 键盘概述 键盘是由若干按钮组成的开关矩阵,它是单片机系统中最 常用的输入设备,用户能通过键盘向计算机输入指令、地址和 数据。键盘分为编码键盘和非编码键盘,一般单片机系统中采 用非编码键盘,非编码键盘是由软件来识别键盘上的闭合键, 它具有结构简单、使用灵活等特点,因此被广泛应用于单片机 系统。
4
项目三 键盘及显示接口的应用
按钮开关的抖动问题:组成键盘的按钮有触点式和非触点 式两种。单片机中应用的按钮一般是机械触点,当按键动作时, 会出现抖动现象,要对按键进行消抖处理。下面以图3-1单个 按键电路为例介绍抖动的产生及如何消除。
当开关S未被按下时,P1.0口输入为高电平,当开关S闭 合后,P1.0口输入为低电平。由于按钮是机械触点,当机械 触点断开、闭合时,会有抖动,P1.0口输入端的波形如图3-2 所示。这种抖动对于人来说是感觉不到的,但对计算机来说, 则是完全能感应到的,因为计算机处理的速度是在微秒级,而 机械抖动的时间至少是毫秒级,对计算机而言,这已是一个 “漫长”的时间了。
Get清风51单片机C语言教程郭天祥PDF转word版第二章
51单片机C语言教程-郭天祥-PDF转word版第二章第2章Keil软件使用及流水灯设计本章详细介绍单片机程序常用编译软件Keil的用法,包括用Kei建立工程、工程配置、C51单片机程序软件仿真、单步、全速、断点设置、变量查看等。
同时还介绍如何使用SST89E516RD单片机进行计算机与TX-IC单片机学习板之间的硬件仿真。
用一个完整的C51程序来操作发光二极管的点亮与熄灭,然后调用C51库函数来方便地实现流水灯,最后为大家补充蜂鸣器与继电器的操作方法及集电极开路与漏极开路的概念。
从这一章开始我们将手把手地讲解单片机C语言编程。
认真学好本章,对于初学者来说将会是一个非常好的开头。
2.1 Kell工程建立及常用按钮介绍在使用Keil软件之前,要保证在用户的计算机上装有一套稳定可靠的软件。
本教材中讲解的Keil版本为V6.12,为了能让大家更方便地学习本软件的用法,建议大家在学习本教材时尽量选择该版本。
在本书中,我们强烈推荐的学习方法是边学边用,所以在这里我们不会像传统专业书籍那样,将某个软件的所有功能事先都讲解得非常仔细,很多不用的地方我们不做说明,需要用到什么,我们就学习什么,这样才能有效地理解它、记忆它,最终到达学以致用的目的。
2.1.1 Keil工程的建立进入Keil后,屏幕知图2.1.1所示,紧接着出现编辑界面,如图2.1.2所示。
图2.1.1 启动Keil软件时的屏幕(1)建立一个新工程单击<Project>菜单中的<New Project…>选项,如图2.1.3所示。
(2)选择工程要保存的路径,输入工程文件名。
Keil的一个工程里通常含有很多小文件, 为了方便管理,通常我们将一个工程放在一个独立文件夹下,比方保存到part2_l文件夹,工程文件的名字为part2_l,如图2.1.4所示,然后单击<保存>按钮。
工程建立后,此工程名变为part2_l.uv2。
精品文档-单片机技术及应用项目化教程(郭晓凤)-第4章
项目四 串行通信接口及应用
方式1输出数据比较简单。当向SBUF写入一个字节后 (TI = 0),从引脚TXD先发出起始位,然后是8个数据位,最 后是停止位。发出停止位后,置位发送中断标志TI=1,完成 一帧数据的发送。接收数据时,先将RI清0。当RI = 1时,说 明已经接收到数据,此时可以从SBUF读取数据。
RB8:在方式2和方式3中,RB8存放接收到的第9位数据。 RB8也可用作奇偶校验位。在方式1中,若SM2 = 0,则RB8是 接收到的停止位。在方式0中,该位未用。
TI:发送中断标志位。TI = 1,表示已结束一帧数据发 送。可由软件查询TI位标志,也可以向CPU申请中断。
注意:TI在任何工作方式下都必须由软件清0。
15
项目四 串行通信接口及应用
图4-3 方式1输出图
16
项目四 串行通信接口及应用
图4-4 方式1输入图
17
项目四 串行通信接口及应用
在接收到第9位数据(即停止位)时,必须同时满足以下两 个条件:RI = 0和SM2 = 0或接收到的停止位为“1”,才把 接收到的数据存入SBUF中,停止位送RB8,同时置位RI。若上 述条件不满足,则接收到的数据不装入SBUF,被舍弃。在方 式1下,SM2应设定为0。
REN:串行接收允许控制位。该位由软件置位或复位。当 REN = 1时,允许接收;当REN = 0时,禁止接收。
9
项目四 串行通信接口及应用
TB8:在方式2和方式3中,TB8是发送的第9位数据。该位 由软件置位或复位。在多机通信中,以TB8位的状态表示主机 发送的是地址还是数据:TB8=1表示地址,TB8=0表示数据。 TB8还可用作奇偶校验位。
4
项目四 串行通信接口及应用
单片机原理与实用技术付晓光莫海霞制作
1.1.2单片机应用系统
应用系统实例
1)单片机控制超声波信号发射器定时向前发射超声波并开始计时。 2)超声波信号接收器接收到前方车辆反射回来的超声波后向单片机发送信号。 3)单片机根据超声波的发射、返回时间计算出与前方车辆的距离。 4)单片机同时根据车速传感器的信号计算出汽车行驶速度。 5)单片机根据(3)、(4)的数据判断汽车应该加速、减速还是原速行进。 6)单片机向汽车电动节气门(俗称油门)发出控制信号,控制节气门开度
3.逻辑非和非门电路
F=A 0=1 1=0 “1则0,0则1”
图1-6非门电路
4.复合逻辑门
与非门
复
合
逻
或非门
辑
门
异或门
F=A·B F=A+B
“有0则1,全1则0” “有1则0,全0则1” “同则为0,不同为1”
〔例1-1〕 已知:A=0110 0001,B=1100 1011, 求:A ∧B ,A+B ,A⊕B,A
作业:
复习题 8 9 10 11
解: A ∧ B =0110 0001∧1100 1011=0100 0001
A+B = 0110 0001+1100 1011 = 1110 1011 =0001 0100 A⊕B =0110 0001 ⊕ 1100 1011=1010 1010
A =1001 1110=1001 1110
0110 0001 ∧ 1100 1011
增大、减少或者保持不变。
单片机应用系统的基本组成
单片机系统
输入信号
输入信号
信 号 传 感 装 置
外 围 电 路 及 芯 片
单片机
外 围 电 路 及 芯 片
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目二 单片机并行I/O口的应用
表2-1 常用的伪指令
伪指令 ORG END EQU DATA DB
DW
DS BIT
格式 ORG 16 位地址 END 字符名 EQU 数据或符号 字符名 DATA 表达式 [标号:] DB 8 位数据或数据表
[标号:] DW 16 位数据或数据表
[标号:] DS 表达式 字符名 BIT 位地址
3
项目二 单片机并行I/O口的应用
P2口:当P2口作为通用I/O时,是一准双向口;从P2口输 入数据时,先向锁存器写“1”;P2口可按位寻址,也可按字 节寻址;在访问外部存储器时,P2口是高8位地址输出口。
P3口:当P3口作为通用I/O接口时, 第二功能输出线为高 电平, 使输出取决于锁存器的状态。在这种情况下, P3口仍 是一个准双向口, 它的工作方式、 负载能力均与P1、 P2口 相同;当P3口作为第二功能使用时, 其锁存器同相输出端必 须为高电平, 使 P3口的状态取决于第二功能输出线的状态。
18
项目二 单片机并行I/O口的应用
汇编语言的基本格式为: 【标号:】操作码助记符 【操作数1,操作数2,操 作数3】【;注释】 其中,方括号括住的内容为可选项。各部分含义如下: 第一部分为标号:标号加在指令之前,表示该指令所在的 地址。标号必须以字母开始,后跟1~8个字母或数字,以“:” 结尾。标号不允许使用汇编语言中已经定义过的符号名,如指 令助记符、寄存器名、伪指令等,且在一个程序中不允许重复 定义相同的标号。不是每条指令都要有标号,标号通常用在转 移指令、子程序开始指令等所需要的地方。
第2、6行指令是两条无条件转移指令,其中“MAIN”和 “LOOP”是转移目标处的标号。无条件转移指令是指当程序 执行到该指令时,无条件转移到指令提供的地址执行。这类指 令分为长转移指令、绝对转移指令、短转移指令和变址转移指 令。
发光二极管的实际工作电路如图2-3所示。图中R为限流 电阻,其阻值的计算公式如下:
R = VCC VD ID
7
项目二 单片机并行I/O口的应用
式中:VCC是电源电压,VD是发光二极管的门槛电压,ID是 发光二极管的工作电流。
单片机控制的发光二极管接口电路主要有高电平有效控制 和低电平有效控制两种形式,如图2-4所示。其中,图2-4(a) 为发光二极管高电平有效控制接口电路,发光二极管的阳极接 单片机的某个I/O口(控制端),阴极接地,控制端为高电平时 发光二极管亮,否则发光二极管灭。图2-4(b)为发光二极管 低电平有效控制接口电路,发光二极管的阴极接单片机的某个 I/O口(控制端),阳极接电源,控制端为低电平时发光二极管 亮,否则发光二极管灭。实际应用中,注意编程时要先使单片 机某I/O口控制的发光二极管灭。
21
项目二 单片机并行I/O口的应用
按执行时间分类:单机器周期指令64条,双机器周期指令 45条,四机器周期指令2条,只有乘除指令。
为了便于指令的学习,对MCS-51系列单片机指令助记符 中的一些常用符号说明如下:
Rn(n = 0~7):当前选中的寄存器区的8个工作寄存器 R0~R7;
Ri(n = 0、1):当前选中的寄存器区中可作间接寻址的2 个工作寄存器R0、R1;
图2-2 发光二极管符号
6
项目二 单片机并行I/O口的应用
发光二极管的工作原理如下:当发光二极管中有电流流过 时,发光二极管就会发光,在保证流经发光二极管的工作电流 不超过其最大允许电流的情况下,流经发光二极管的工作电流 越大,发光二极管越亮。随制作材料的不同,各发光二极管的 最大允许电流也不同,而发光二极管的工作电流一般为2~25 mA。在实际应用中,发光二极管导通还存在门槛电压,随制作 材料的不同,各发光二极管的门槛电压也不同,一般为1.5~ 2.5 V。
4
项目二 单片机并行I/O口的应用
2) 发光二极管的接口电路 发光二极管是一种电光转换半导体器件,使用时要注意其 单向导电性。其实物如图2-1所示,符号如图2-2所示。发光 二极管具有阳极和阴极两个引极,使用时阳极接电源正极,阴 极接电源负极。
5
项目二 单片机并行I/O口的应用
图2-1 发光二极管实物图
使发光二极管亮
6 SJMP LOOP ;无条件转移到LOOP处,继续使
光二极管亮
7
END
25
项目二 单片机并行I/O口的应用
此点亮一个发光二极管的应用程序共有7条语句,其中第1、 3、7行是伪指令语句,其余为指令语句。
伪指令不是真正的指令,为汇编程序提供相关的信息,汇 编时不产生目标代码,不影响程序的执行。常用的伪指令如表 2-1所示。
direct:8位内部RAM单元的地址及SFR的地址; #data:8位立即数,立即数前面必须加“#”;
22
项目二 单片机并行I/O口的应用
#data 16:16位立即数; addrl6:16位目的地址,用于LCALL和LJMP指令中,范围 是64 KB程序存储器空间; addr11:11位目的地址,用于ACALL和AJMP指令中,目的 地址必须与下一条指令的第一字节在同一个2 KB程序存储器 地址空间之内; rel:8位带符号偏移量,用于SJMP和所有条件转移指令 中范围为-128~+127; @:间接寄存器或基址寄存器的前缀,如@Ri; bit:内部RAM或SFR中的直接寻址位;
27
项目二 单片机并行I/O口的应用
第1行“ORG 0000H”表示程序指令在程序存储器中从 0000H处开始存放,即第2行指令的首字节地址为0000H,所以 单片机上电后就从0000H处开始执行第2行指令。第3行“ORG 0030H” 表示“MAIN”标号处指令的地址为0030H。ORG伪指 令在使用时,在一段程序中可多次出现,但“16位地址”不能 重复。第7行“END”伪指令在一段程序中只能出现一次。
16
项目二 单片机并行I/O口的应用
2) 系统软、硬件联调 把硬件电路连接好,应用ISP下载软件,把程序编译后得 到的 .HEX文件下载到单片机芯片中,观察硬件电路的运行情 况,从而检测系统设计的正确性,并进行改进直至成功实现任 务要求。
17
项目二 单片机并行I/O口的应用
5.知识链接 1) 指令基本格式 指令是指挥计算机执行某种操作的命令。MCS-51单片机 指令有汇编语言和机器语言两种表现形式。汇编语言表现形式 是为了记忆和程序编写的方便,用英文助记符来表示每一条指 令,如MOV A,R0,经汇编后变为机器语言的表现形式,即 采用二进制代码来表示每一条指令,供计算机直接识别和执行, 如上条指令汇编后的二进制代码为11101000。
2
项目二 单片机并行I/O口的应用
P0口:既可作为通用I/O口使用,此时是一个准双向口, 也可作为地址/数据总线接口使用,此时是一个真正双向口; P0口既可按字节寻址,又可按位寻址;P0口作通用I/O 口输 出时,是开漏输出,应外接上拉电阻。
P1口:只能作I/O口,没有地址/数据复用功能,而且作 输入口使用时,要先向锁存器写“1” ;P1口可按字节寻址, 也可按位寻址;P1口是一准双向口,输出驱动接有上拉电阻, 无需外接,不是开漏输出。
第四部分为注释:注释放在指令之后,或单独占一行。以 “;”开始,是为用户阅读程序方便而加的说明部分,不影响 程序的执行。
20
项目二 单片机并行I/O口的应用
2) MCS-51指令系统概况 指令系统是指所有指令的集合。MCS-51系列单片机具有 丰富的指令系统,共111条指令,用42种操作码助记符来描述 33种操作功能。其具体分类如下: 按功能分类:数据传送类指令29条,算术运算类指令24 条,逻辑运算类指令24条,控制转移类指令17条,位操作类 指令17条。 按指令字长分类:单字节指令49条,双字节指令46条, 三字节指令16条。
24
项目二 单片机并行I/O口的应用
3) 程序分析
1 ORG 0000HБайду номын сангаас;程序从0000H开始执行
2 AJMP MAIN ;无条件转移到主程序MAIN处
3 ORG 0030H ;主程序的起始地址0030H 4MAIN: MOV P0,#0FFH ;P0口初始化
5LOOP: MOV P0,#0FEH ;P0.0输出低电平
11
项目二 单片机并行I/O口的应用
图2-5 单片机控制的发光二极管电路原理图
12
项目二 单片机并行I/O口的应用
3.应用程序设计 1) 程序流程图的设计 要使单片机按照要求正常工作,必须进行应用程序的设计。 首先要设计程序流程图,如图2-6所示。其主要流程是根据图 2-5所设计的硬件电路图,P0口设为输出口,控制发光二极管 的亮和灭,发光二极管控制电路采用低电平有效控制,首先初 始化P0口,让其输出高电平,使发光二极管处于灭的状态,之 后,使P0.0输出低电平,让发光二极管亮,实现点亮一个发 光二极管的任务要求。
23
项目二 单片机并行I/O口的应用
/:位操作数的前缀标志,在位操作指令中表示对该位操 作数先求反再参与操作,但不影响该位操作数原值,如/bit;
(×):寄存器或存储单元×中的内容; ((×)):以寄存器或存储单元×中内容作为地址单元中 的内容; ←:箭头左边的内容被箭头右边的内容所代替; ↔:数据交换; $:当前指令的起始地址。
项目二 单片机并行I/O口的应用
项目二 单片机并行I/O口的应用 任务1 点亮发光二极管 任务2 发光二极管闪烁 任务3 流水灯的设计 任务4 多模式流水灯的设计
1
项目二 单片机并行I/O口的应用
任务1 点亮发光二极管 1.任务要求 用AT89C51单片机控制点亮一个发光二极管。 2.硬件电路的设计与制作 1) 单片机输入/输出(I/O)口 AT89C51的输入/输出接口包括4个8位并行口(P0~P3)共 32根口线。其具体结构及功能见项目二任务1知识链接部分。 每个端口都包括:锁存器、输出驱动器、两个三态缓冲器以及 控制电路。