精品文档-单片机技术及应用项目化教程(郭晓凤)-第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
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
项目五 模/数转换接口及应用
单片机技术与应用项目式教程
单片机技术与应用项目式教程单片机技术一直以来都是电子技术领域中的重要组成部分,其应用范围涵盖了各个领域,比如家用电器、汽车电子、工业控制等。
而对于很多电子爱好者和专业工程师来说,掌握单片机技术是必不可少的。
本文将通过项目式教程的方式,探讨单片机技术的基础知识和应用实践,帮助读者更好地理解和运用单片机技术。
首先,我们需要了解什么是单片机。
单片机是一种集成了微处理器、存储器和各种输入输出接口的芯片,具有处理数据和控制外围设备的能力。
常见的单片机厂商有英特尔、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子 用于堆栈区的开设和存放实时数据。 系列)
