精品文档-单片机技术及应用项目化教程(郭晓凤)-第5章
单片机技术与应用项目式教程

单片机技术与应用项目式教程单片机技术一直以来都是电子技术领域中的重要组成部分,其应用范围涵盖了各个领域,比如家用电器、汽车电子、工业控制等。
而对于很多电子爱好者和专业工程师来说,掌握单片机技术是必不可少的。
本文将通过项目式教程的方式,探讨单片机技术的基础知识和应用实践,帮助读者更好地理解和运用单片机技术。
首先,我们需要了解什么是单片机。
单片机是一种集成了微处理器、存储器和各种输入输出接口的芯片,具有处理数据和控制外围设备的能力。
常见的单片机厂商有英特尔、ST、Microchip等,而常用的单片机型号有51系列、PIC系列等。
单片机主要包含中央处理器单元(CPU)、存储器(ROM、RAM)、输入输出端口(I/O 口)等部分。
通过编程,我们可以控制单片机实现各种功能。
接下来,我们将通过几个具体的项目案例,来展示单片机技术的应用和实践。
首先是LED灯控制项目。
我们可以通过单片机来控制LED灯的开关、亮度和闪烁频率,实现不同的灯光效果。
通过学习这个项目,我们可以了解单片机的GPIO口控制和定时器的使用。
第二个项目是温湿度监测系统。
我们可以通过单片机连接温湿度传感器,实时监测环境的温度和湿度,并将数据显示在液晶屏上。
这个项目涉及到单片机的模拟信号采集、串口通信和数据处理等技术,是一个典型的传感器应用案例。
第三个项目是小车避障系统。
我们可以通过单片机连接超声波传感器,实时监测小车周围的障碍物距离,从而实现自动避障功能。
这个项目涉及到单片机的PWM 输出、定时器中断和逻辑判断等技术,是一个典型的智能控制应用案例。
通过以上项目案例的学习,我们不仅可以掌握单片机的基础知识和常用技术,还可以了解单片机在各种应用场景中的实际应用。
同时,通过实际操作和调试,我们可以提升自己的动手能力和解决问题的能力,为今后的单片机项目打下坚实的基础。
总的来说,单片机技术是电子技术领域中的重要组成部分,通过项目式教程的方式学习单片机技术,既可以理论结合实践,又可以提升自己的动手能力和解决问题的能力。
单片机第5章第1.2.3节(朱明zhubob

授人以鱼不如授人以渔
朱明工作室
矩阵式键盘与单片机接口
授人以鱼不如授人以渔
按键及相关说明
按键 按键数据输入码(CPU输出)
P1.3 P1.2 P1.1 P1.0
按键数据输出信号(CPU读入) P1.7 P1.6 P1.5 P1.4
S1
1
1
1
0
1
1
1
0
S5
1
1
1
0
1
1
0
1
S9
1
1
1
0
1
0
1
1
S13 1
A
A,#0FH
KB
;无键闭合则返回
A,#01H,KB01
20H
;K1键闭合,20H单元加1
SJMP KB
朱明工作室
授人以鱼不如授人以渔
朱明工作室
独立式键盘与单片机接口
KB01:CJNE A,#02H,KB02
DEC 20H
;K2键闭合,20单元减1
SJMP KB
KB02:CJNE A,#04H,KB03
授人以鱼不如授人以渔
5.1 键盘接口技术
朱明工作室
2、键盘的形式
键盘的形式有以下两种:
独立式键盘
编码式键盘
(1)独立式键盘
每一个按键的电路是独立的,占用一条数据
线 。这种键盘占用硬件资源多,适合少量按键的情
况。
授人以鱼不如授人以渔
独立式键盘结构
朱明工作室
授人以鱼不如授人以渔
朱明工作室
是通过机械触点的闭合与断开来实现的,因机械触点的
弹性作用,在闭合与断开的瞬间均有一个抖动过程 。抖
动必须消除,去抖动的方法主要有以下两种:
精品文档-单片机技术及应用项目化教程(郭晓凤)-第2章

项目二 单片机并行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版 项目五 设计制作里程表

低
自然优先级
高
IP
PS PT1 PX1 PT0 PX0
串行口
外部1
外部0
定时器1
定时器0
中断优先级相应原则:
①低优先级可被高优先级中断,而高优 先级中断源不能被任何中断源所中断;
②任何一种中断(不管是高级还是低级), 一旦得到响应,不会再被它的同级中断 所中断。
6. 中断的处理过程
中断响应条件有三个:
二、知识链接
1. 中断的基本概念
日常生活举例
某人看报——某人正在处理一件事A 电话铃响——出现另一件须立即解决的事B 暂停看报——中止A 报中作记号——记录断点,便于接续 电话谈话——处理B 继续看报——继续A的工作
中断的基本概念
❖ CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处
4. 中断允许控制寄存器IE
0:
1:
中断允许控制寄存器IE
禁止中断 允许中断
位 D7 D6 D5 D4 D3 D2 D1 D0
IE EA
ES ET1 EX1 ET0 EX0
串行口
外部1
外部0
总
定时器1
定时器0
5. 中断优先级寄存器IP 0: 低级 1: 高级
中断优先级控制寄存器IP
位 D7 D6 D5 D4 D3 D2 D1 D0
中断源有中断请求;
此中断源的中断允许位为1; CPU开中断(EA=1)。
同 时 满
足
三、电路
四、程序设计及分析
中断服务程序编写: void 函数名() interrupt n {
} 具体程序内容
外部0:0 定时器0:1
外部1:2 定时器1:3
串行口:4
《单片机应用技术项目化教程》电子教案 项目1 闪烁灯的设计与制作

一、任务分析
二、安装与调试
1、微型计算机
• (1)概述
– 微型计算机(Microcomputer)简称微机,是计算机的一
个重要分类。
– 优点:体积小、重量轻、功耗低、价格便宜。
1、微型计算机
• (2)结构
微机系统所使用的各种程序的总称。
微机
硬件
软件
系统
系统
构成微机系统的实体和装置,通常由运
28 B = 256 B 空间,一半用作RAM,另一半为SFR。
16位地址对应 216 B = 26×210 B = 64 KB 空间
2、存储器
(2)程序存储器
用于存放单片机执行的程序及表格。
操
作
入 口 地 址
复位
0000H
外部中断0
0003H
定时器/计数器0溢出
000BH
外部中断1
0013H
定时器/计数器1溢出
001BH
串行口中断
0023H
2、存储器
(3)数据存储器
MCS-51单片机片内、外数据存储器分别单独编址,通过不同的
指令访问。
FFFFH
MOV
MOVX
片外RAM
0080H
7FH
007FH
片内RAM
00H
0000H
地址重叠
2、存储器
片内数据存储器
51系列含内部数据存储器区域128B(00H~7FH)和特殊功能寄存
的指令系统等。
微控制器的全面发展阶段。
3、单片机的发展及应用
发展趋势
1
低功耗CMOS化
2
微型单片化
3
主流与多品种共存
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”是转移目标处的标号。无条件转移指令是指当 程序执行到该指令时,无条件转移到指令提供的地址执行。 这类指令分为长转移指令、绝对转移指令、短转移指令和变 址转移指令。
单片机技术与应用项目式教程

单片机技术与应用项目式教程1.引言单片机技术是现代电子技术中的重要组成部分,广泛应用于各个领域。
本教程旨在介绍单片机的基础知识,并通过实际应用项目的方式,帮助读者深入理解单片机技术与应用。
2.项目1:L E D闪烁器2.1项目描述本项目通过控制单片机的IO口,使L E D灯以固定模式闪烁。
通过完成该项目,读者将了解到单片机的GP IO口控制以及延时等基础知识。
2.2硬件材料-单片机开发板-L ED灯-连接线2.3硬件连接将L ED的正脚连接到单片机的G PI O口,负脚连接到地。
2.4软件编程使用C语言编写以下代码,并通过烧录软件将程序下载到单片机中:#i nc lu de<r eg51.h>s b it LE D=P1^0;v o id de la y(in tt ime)//延时函数{i n ti,j;f o r(i=0;i<ti me;i++)f o r(j=0;j<1000;j++);}v o id ma in(){w h il e(1){L E D=0;//点亮LE Dd e la y(1000);//延时1秒L E D=1;//熄灭LE Dd e la y(1000);//延时1秒}}2.5测试与调试将单片机上电,观察L ED灯是否按照预期的模式闪烁。
如有问题,请检查硬件连接和代码逻辑。
3.项目2:温度传感器监测系统3.1项目描述本项目利用单片机和温度传感器,实时监测环境温度,并将结果显示在L CD液晶屏上。
通过完成该项目,读者将学习到单片机的模拟输入和数字输出、温度传感器的使用,以及L CD屏幕的驱动等知识。
3.2硬件材料-单片机开发板-温度传感器(例如D S18B20)-L CD液晶屏-连接线3.3硬件连接将温度传感器的信号引脚连接到单片机的A DC输入口,将LC D液晶屏的数据线和使能线连接到单片机的IO口。
3.4软件编程使用C语言编写以下代码,并通过烧录软件将程序下载到单片机中:#i nc lu de<r eg51.h>#i nc lu de<s td io.h>#d ef in eL CD_D AT AP0s b it RS=P2^0;s b it RW=P2^1;s b it EN=P2^2;u n si gn ed in tt em p;v o id de la y(in tt ime)//延时函数{i n ti,j;f o r(i=0;i<ti me;i++)f o r(j=0;j<1000;j++);}v o id di sp la yT em p(u n si gn ed in tt em p)//温度显示函数{c h ar st r[10];s p ri nt f(st r,"T emp:%d C",t em p);L C D_cm d(0x01);//清屏d e la y(5);L C D_cm d(0x80);//将光标移动到第一行第一列d e la y(5);L C D_st r(st r);}v o id ma in(){w h il e(1){t e mp=g et Te mp();//获取温度值d i sp la yT em p(te m p);//显示温度d e la y(1000);//延时1秒}}3.5测试与调试将单片机上电,观察L CD液晶屏上是否显示实时温度值。
单片机技术与应用教学项目完整

单片机技术与应用教学项目完整本课程共选择了单片机技术及应用课程典型的5个项目,13个一级子项目,总课时62。
项目一MCS-51系列单片机控制一只发光二极管闪烁1-1单片机的概念18学时1-1-1单片机的定义1-2MCS-51系列单片机的结构框图及引脚功能1-2-1MCS-51系列单片机的引脚排列1-2-2MCS-51系列单片机的引脚功能1-3MCS-51系列单片机的时序1-3-1单片机时序概念1-3-2与时序有关的概念1-4MCS-51系列单片机的内部存储器1-4-1存储器的基本知识1-4-2数据存储器的高128位和低128位1-4-3基本指令1-5考核评价:几种方法实现单片机对一只发光二极管的控制及引脚功能项目二MCS-51系列单片机P0口控制8路流水灯控制2-1单片机硬件12学时2-1-1单片机的并行I/O端口2-1-2单片机的内部结构2-1-3单片机的工作方式2-1-4项目指令2-2考核评价:分别用4个单片机I/O端口控制8路流水灯及4I/O 端口个功能项目三霓虹灯闪烁控制3-1指令系统12学时3-1-1片内RAM数据传送指令概念3-1-2内部数据传送方式及应用3-1-3程序调用及返回指令3-1-4无条件转移指令3-2考核评价:用按键实现霓虹灯控制及熟练运用系统指令项目四单片机控制一个数码管0-9的循环显示4-17段数码管显示10学时4-1-17段数码管显示元件及显示4-1-2共阴极与共阳极的判断与区别4-1-3项目指令4-2考核评价:用按键实现一个数码管0-9显示和查表法显示项目五单片机控制数码管0-99的循环显示5-1构思6学时5-1-1相关指令及解决进位和溢出5-2考核评价:根据0-99的循环显示实现0-9999的数码显示以及6个数码管实现时钟时分秒显示项目六单片机定时中断方式控制时钟6-1定时器/计数器系统12学时6-1-1定时器/计数器的结构及原理6-1-2定时器/计数器的工作方式6-1-3定时器/计数器的初始化6-1-4中断系统6-2考核评价:实现单片机定时中断方式控制时钟。
《单片机技术及应用项目化教程》课件第5章

图5-4 硬件电路总体设计
简易数字直流电压表的硬件电路已经设计完成,就可以 选取相应的芯片和元器件,利用Proteus软件绘制出硬件的原 理,并仔细地检查修改,直至形成完善的硬件原理图。但要 真正实现电路对电压的测量和显示的功能,还需要有相应的 软件配合,才能达到设计要求。
3.应用程序设计 根据模块的划分原则,将该程序划分为初始化模块、 A/D转换子程序和显示子程序,这三个程序模块构成了整个 系统软件的主程序,如图5-5所示。
L4:
MOV R1,#00H ;R1存放十六进制转换成十进制后的低两位
MOV R2,#00H ;R2存放十六进制转换成十进制后的高两位
MOV R3,#0FFH
;循环显示十进制数
MOV R4,#00H
;存放A/D转换后的十六进制数
MOV R5,#00H
;存放0.5相加后的数
MOVX @DPTR,A
;开始A/D转换
MOV A,R2
ANL A,#0FH
MOV DPTR,#TAB1
MOVC A,@A+DPTR
;显示电压子程序
CLR P3.1 MOV P1,A LCALL DELAY SETB P3.1 MOV A,R2 SWAP A ANL A,#0FH MOV DPTR,#TAB2 MOVC A,@A+DPTR CLR P3.4 MOV P1,A LCALL DELAY SETB P3.4 RET
ADD A,54H
DA
A
MOV R5,A
JC
L33
DJNZ R4,L11
MOV A,R5
SWAP A
ANL A,#0FH
SB22:
MOV B,R1
ADD A,B
单片机应用项目化教程

片内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子 用于堆栈区的开设和存放实时数据。 系列)
精品文档-单片机技术及应用项目化教程(郭晓凤)-第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 所示。这种抖动对于人来说是感觉不到的,但对计算机来说, 则是完全能感应到的,因为计算机处理的速度是在微秒级,而 机械抖动的时间至少是毫秒级,对计算机而言,这已是一个 “漫长”的时间了。
精品文档-单片机技术及应用项目化教程(郭晓凤)-第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
项目四 串行通信接口及应用
单片机原理及应用技术项目化教程 (5)

模块7 简单数字电压表的设计
7.1 项目描述 7.2 项目目的与要求 7.3 项目支撑知识链接 7.4 项目实施 项目小结 项目拓展技能与练习
项目7 简单数字电压表的设计
【项目导入】 工业测控领域的测量信号大多是模拟量,这些模拟量要送 入单片机进行处理就必须进行模/数转换(A/D转换),经过A/D 转换的信息就可以通过I/O口进行输出显示。单片机的 A/D应 用在工业控制领域十分广泛,在此我们通过数字电压表的设计 来讲述单片机的A/D转换和数码管的接口显示电路,以便让读 者掌握A/D转换器和数码管显示在单片机控制系统中的应用。
址
ADDIN0=0x00;
// 启动A/D转换
(INT0)
项目7 简单数字电压表的设计
2) 转换数据的传送 A/D转换后的数据应及时传送给单片机进行处理。数据的 传送可采用下述三种方式: (1) 定时传送方式。对于一种A/D转换来说,转换时间作 为一项技术指标是已知和固定的,因此可采用延时子程序处理。 在A/D转换启动后就调用延时子程序,时间延时已到,转换就 完成了,然后就可进行数据传送。
(5) 温度系数。温度系数表示A/D转换器受温度影响的程 度。一般用环境温度变化1℃所产生的相对误差来表示,单位 是ppm/℃(10-6/℃)。
项目7 简单数字电压表的设计 2) A/D转换器的基本原理 由于模拟量在时间和数值上是连续的,而数字量在时间和 数值上是离散的,所以转换时不仅要在时间上对模拟信号离散 化(即采样),而且还要在数值上离散化,一般步骤如图7-1所 示。
项目7 简单数字电压表的设计
(3) 转换时间。A/D转换器完成一次A/D转换所需要的时间。 转换时间越短,适应输入信号快速变化能力越强。当需要A/D 转换的模拟量变化较快时,就需选择转换时间短的A/D转换器, 否则会引起较大误差。转换时间的倒数就是转换速率。
精品文档-单片机技术及应用项目化教程(郭晓凤)-第1章

项目一 单片机最小系统
(5) 微控制器全面发展阶段:随着单片机在各个领域的 广泛应用,世界各大单片机研制公司相继推出了高速、大寻址 范围、强运算能力的通用型或专用型的单片机,如Intel公司 研制的80960超级32位单片机,Motorola公司推出的MC68HC系 列单片机,Microchip公司推出的一种完全不兼容MCS-51的新 一代PIC系列单片机,促使单片机进入一个可广泛选择和全面 发展应用的时代。
20
项目一 单片机最小系统
P2口(21~28脚):引脚分布为P2.0/A8~P2.7/A15,是8 位准双向I/O口,内部带上拉电阻,可驱动4个LSTTL门电路。 当访问片外存储器时,P2口用作高8位地址总线。
P3口(10~17脚):引脚分布为P3.0~P3.7,是8位准双向 I/O口,内部带上拉电阻,可驱动4个LSTTL门电路。P3口的每 一个引脚可作为一般I/O口用,此外还具有第二功能,其第二 功能如表1-1所示。
8
项目一 单片机最小系统
(3) 采用面向控制的指令系统。为满足控制的需要,单 片机有更强的逻辑控制能力,特别是具有很强的位处理能力。
(4) 单片机的I/O引脚通常是多功能的。由于单片机芯片 上引脚数目有限,为了解决实际引脚数和需要的信号线的矛盾, 采用了引脚功能复用的方法。引脚处于何种功能,可由指令来 设置或由机器状态来区分。
27
项目一 单片机最小系统
图1-5 程序存储器的存储空间配置
28
项目一 单片机最小系统
AT89S51单片机有64 KB的程序存储器。其中:内部有4 KB,地址范围为0000H~0FFFH;片外最多可扩展空间为60 KB, 地址范围为1000H~FFFFH。片内与片外程序存储器的最大寻 址范围为0000H~FFFFH。由于单片机的程序存储器采用片内、 片外统一编址,则地址范围为0000H~0FFFH的程序存储器可 在单片机内部或外部,通过单片机外围引脚的状态来区分。如 果接高电平(即= 1),则表示0000H~0FFFH在片内程序存储器 中;如果接低电平(即= 0),则表示0000H~0FFFH在片外程序 存储器中。且程序从片内程序存储器开始执行,PC值超出片内 ROM容量时,会自动转向片外程序存储器中的程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
3.应用程序设计 根据模块的划分原则,将该程序划分为初始化模块、A/D 转换子程序和显示子程序,这三个程序模块构成了整个系统软 件的主程序,如图5-5所示。
12
项目五 模/数转换接口及应用
图5-5 数字式直流电压表主程序框图
13
项目五 模/数转换接口及应用
1) 初始化程序 所谓初始化,是对将要用到的MCS-51系列单片机内部部 件或扩展芯片进行初始工作状态设定,初始化子程序的主要工 作是设置定时器的工作模式、初值预置、开中断和打开定时器 等。 2) A/D转换子程序 A/D转换子程序用来控制对输入的模块电压信号的采集测 量,并将对应的数值存入相应的内存单元,其转换流程图如图 5-6所示。
25
项目五 模/数转换接口及应用
L4:
MOV R1,#00H
;R1存放十六进制转
换成十进制后的低两位
MOV R2,#00H
;R2存放十六进制转换成十
进制后的高两位
MOV R3,#0FFH ;循环显示十进制数
MOV R4,#00H
;存放A/D转换后的十
六进制数
MOV R5,#00H
;存放0.5相加后的数
7
项目五 模/数转换接口及应用
图5-2 复位电路
8
项目五 模/数转换接口及应用
图5-3 时钟电路
9
项目五 模/数转换接口及应用
2) 硬件电路的总体设计 数字电压表硬件电路总体设计如图5-4所示。此电路的工 作原理是:+5 V模拟电压信号通过变阻器VR1分压后,由 ADC0808的IN0通道进入(由于使用的IN0通道,所以ADDA、 ADDB、ADDC均接低电平);经过模/数转换后,产生相应的数 字量经过其输出通道D0~D7传送给AT89C51芯片的P1口, AT89C51负责把接收到的数字量经过数据处理,产生正确的7 段数码管的显示段码传送给四位LED,同时它还通过其四位 I/O口P2.0、P2.1、P2.2、P2.3产生位选信号控制数码管的亮 灭。此外,AT89C51还控制ADC0808的工作。其中,单片机 AT89C51通过定时器中断从P2.4输出方波接到ADC0808的CLOCK, P2.6发正脉冲启动A/D转换,P2.5检测A/D转换是否完成,转 换完成后,P2.7置高,从P1口读取转换结果送给LED显示出来。
17
项目五 模/数转换接口及应用
本系统的调试主要以软件为主,其中,系统电路图的绘制 和仿真采用的是Proteus软件,而程序方面,采用的是汇编语 言,用Keil软件产生、Hex文件并通过烧录软件将程序写入单 片机。
1) 显示结果分析 (1) 当IN0口输入电压值为0 V时,显示结果如图5-7所示, 测量误差为0 V。 (2) 当IN0输入电压值为1.50 V时,显示结果如图5-8所 示,测量误差为0.01 V。 (3) 当IN0口输入电压值为3.50 V时,显示结果如图5-9 所示,测量误差为0 V。
6
项目五 模/数转换接口及应用
时钟电路设计:电路中的器件选择可以通过计算和实验确 定,也可以参考一些典型电路的参数。如图5-3所示时钟电路 中,电容器C1和C2对振荡频率有微调作用,通常的取值范围 是30 pF ± 10 pF,在这个系统中选择了33 pF;石英晶振选 择范围最高可选24 MHz,它决定了单片机电路产生的时钟信 号振荡频率,在本系统中选择的是12 MHz,因而时钟信号的 振荡频率为12 MHz。
;进行十六进制到十
ADD A,50H
DA
A
MOV R1,A
JC
L2
;每次加19 ;如果溢出则跳转
MOV ADD DA A MOV JC
A,R5 A,54H
R5,A L3
;进行0.5 V相加 ;如果溢出则跳转
DJNZ R4,L1 27 ;判断十六进制数是否转换
SB2:
项目五 模/数转换接口及应用
SWAP ANL MOV ADD DA
2
项目五 模/数转换接口及应用
1.任务要求 (1) 以MCS-51系列单片机为核心器件,组成一个简单的 直流数字电压表。 (2) 采用一路模拟量输入,能够测量0~5 V之间的直流 电压值。 (3) 电压显示用4位一体的LED数码管显示,至少能够显 示两位小数。 (4) 尽量使用较少的元器件。
3
项目五 模/数转换接口.5
RET
INTV: PUSH ACC
;只显示其中一路
中断
PUSH 53H
MOV 53H,#00H
32
CX2:
项目五 模/数转换接口及应用
MOV R1,#00H
MOV R2,#00H
MOV R3,#0FFH
MOV R4,#00H MOV DPH,51H
MOV DPL,52H
MOVX @DPTR,A
;开始A/D转换
LCALL DELAY
;调用延时大于A/D转换的时
间
MOVX A,@DPTR
;取A/D转换后的十六进制数
INC DPTR PUSH DPL
;A/D转换芯片的地址加一 26 ;压入堆栈
L1: 进制的调整
到L2
到L3 SB1:
项目五 模/数转换接口及应用
MOV A,R1
绝对误差/V 0.00 0.01 0.00 0.01 0.00 0.00 0.00 0.00 0.00 0.01
23
项目五 模/数转换接口及应用
从表5-1可以看出,简易数字电压表测得的值基本上比标 准电压值偏大0~0.01 V,这可以通过校正ADC0808的基准电 压来解决。因为该电压表设计时直接用5 V的供电电源作为电 压,所以电压可能有偏差。当要测量大于5 V的电压时,可在 输入口使用分压电阻,而程序中只要将计算程序的除数进行调 整就可以了。
项目五 模/数转换接口及应用
项目五 模/数转换接口及应用 任务1 数字电压表的设计 任务2 简易数控电源
1
项目五 模/数转换接口及应用
任务1 数字电压表的设计 知识目标:了解和掌握单片机的外围基本芯片的搭接,掌 握转换模块、数据处理模块及显示模块。 能力目标:A/D转换采用ADC0808对输入的模拟信号进行 转换,控制核心AT89C51再对转换的结果进行运算处理,最后 驱动输出装置LED显示数字电压信号。
18
项目五 模/数转换接口及应用
图5-7 输入电压为0 V时LED的显示结果
19
项目五 模/数转换接口及应用
图5-8 输入电压为1.50 V时LED的显示结果
20
项目五 模/数转换接口及应用
图5-9 输入电压为3.50 V时LED的显示结果
21
项目五 模/数转换接口及应用
2) 误差分析 通过以上仿真测量结果可得到简易数字电压表与“标准” 数字电压表对比测试表,如表5-1所示。 由于单片机AT89C51为8位处理器,当输入电压为5.00 V 时,ADC0808输出数据值为255(FFH),因此单片机最高的数值 分辨率为0.0196 V(5/255)。这就决定了电压表的最高分辨率 只能到0.0196 V,从上表可看出,测试电压一般以0.01 V的 幅度变化。
16
项目五 模/数转换接口及应用
4.系统调试 软件调试的主要任务是排查错误,错误主要包括逻辑和功 能错误,这些错误有些是显性的,而有些是隐性的,可以通过 仿真开发系统发现并逐步改正。Proteus软件可以对基于微控 制器的设计连同所有的周围电子器件一起仿真,用户甚至可以 实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来 对设计进行交互仿真。Proteus支持的微处理芯片包括8051系 列、AVR系列、PIC系列、HC11系列及Z80系列等。Proteus可 以完成单片机系统原理图电路绘制、PCB设计,更为显著的特 点是可以与μVisions3 IDE工具软件结合进行编程仿真调试 [8]。
10
项目五 模/数转换接口及应用