10.3 单片机开发系统应用实例 数据采集与显示电路的设计 1.系统硬件电路的设计

Slides:



Advertisements
Similar presentations
第7章 AT89S51单片机的 串行口 1.
Advertisements

6 单片机的中断与定时系统 I/O设备必须通过I/O接口与计算机连接。 I/O接口的功能: 1.速度匹配: 锁存数据、传送联络信号。
实验四 利用中规模芯片设计时序电路(二).
第5章 中断系统 5.1 中断的概念 5.2 MCS-51单片机的中断流程 5.3 MCS-51的中断响应条件和中断处理
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
邵阳学院 信息工程系电子实践教学中心 江世明
第四章 指令系统及汇编语言程序设计.
8051 指令.
第四章 指令系统及汇编语言程序设计.
本章分为四节,主要介绍: 4.1 程序编制的方法和技巧 4.2 源程序的编辑和汇编 4.3 基本程序结构 4.4 常用程序举例.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
本章小结 C51单片机指令系统概述 C51单片机寻址方式 C51单片机指令系统
单片机原理与应用.
第4章 智能仪器通信接口 4.1 GPIB通用接口总线 4.2 GPIB接口电路的设计 4.3 串行通信总线 4.4 串行通信接口电路的设计
第9章 串行扩展技术 (课时:6学时).
第9章 数模转换器与模数转换器 本章学习目标 了解数模转换器的工作原理及性能指标 掌握模数转换器的应用 掌握数模转换器的应用.
第2章 MCS-51单片机指令系统与汇编语言程序设计
報告者:朱耿育 紀翔舜 組員:詹以群 張永傑 指導老師:梁新潁
复 习 一. 计算机中的数和编码 1. 2,10,16进制数及其之间的转换(整数) 按权展开,除x取余 2
第二部分 微机原理 第4章 汇编语言 程序设计 主讲教师:喻红.
单片机应用技术 项目一 循环彩灯装置 第6讲 指令功能及汇编语言程序设计(一) 《单片机应用技术》精品课程组 湖北职业技术学院机电工程系.
本章内容: 中断的概念 MCS-51单片机中断系统 外部事件中断及应用
9.3 AT89C51串行接口的应用与编程 工作方式0的应用
6.3 定时器/计数器的应用 初始化 初始化的内容如下:
第8章 模拟接口 8.1 模拟接口概述 8.2 DAC及其接口 8.3 ADC及其接口.
第二部分 微机原理 第3章 MCS-51的 指令系统 主讲教师:喻红.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第14章 单片机应用系统抗干扰 与可靠性设计 1.
第二部分 微机原理 第8章 单片机的 定时/计数器 主讲教师:喻红.
第6章 MCS - 51单片机内部定时器/ 计数器 及串行接口 6.1 定时器/计数器的结构及工作原理 6.2 方式和控制寄存器
單晶片微電腦控制實習 使用計時中斷作走馬燈 計時器的基礎實習 國立大甲高工 電機科 2018年11月21日
本章分为三节,主要介绍: 6.1 计算机串行通信基础 C51的串行口 6.3 单片机串行口应用举例.
第3章 AT89C51指令系统 3.1基本概念内部结构和引脚功能 指令、指令系统、机器代码
单片机原理及应用 MCS-51系列单片机的基本硬件结构 MCS-51指令系统 MCS-51单片机的系统扩展与应用.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月20日.
第2章 单片机的结构原理与 简单应用 (课时:10学时).
第八章 MCS-51与数码显示器和键盘的接口 一、MCS-51与数码显示器接口 数码显示器是单片机应用产品中最常用的廉价的输 出设备,它由8个发光二极管按一定规律排列而成, 当某一发光二极管导通时,则会被点亮,控制不同 组合的二极管导通,就能显示出各种字符。 1.显示器的结构.
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
单片机原理 单 片 机 单片机接口技术 单片机应用技术.
第三章 指令系统.
第3章 指令系统及程序设计举例 3.1 指令格式与寻址方式 一、指令格式 1. 指令 操作码 目标操作数,源操作数
第10章 综合实训 课题一 水温控制系统设计 一、实训目的 二、课题要求 熟悉常用温度传感器AD590的特性及接口电路的设计方法;
第8章 MCS-51串行口 8.1 串行口及其通信方式 8.2 IBM-PC系列机与 单片机 的通信技术.
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第2章 单片机系统组成原理 2.1 MCS-51单片机组成原理 2.2 单片机复位电路设计 2.3 MCS-51存储器配置
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
单元五 MCS-51单片机内部资源 5.1 任务九 单片机计数并显示 5.2 任务十 单片机流水灯控制 5.3 任务十一 两台单片机数据互传
一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置. 一、任务描述 二、任务分析 三、任务演示 四、相关知识 五、任务布置.
第四章 指令系统及汇编语言程序设计.
第4章 中断技术 一个完整的微机系统是由硬件和软件共同构成的。微机系统的硬件有CPU、存储器和I/O口,外设组成。CPU与存储器之间的信息交换比较简单,而CPU与外设之间进行信息交换之前必须确定外设是否准备好,即选择I/O传送方式。I/O传送方式有4种:无条件、查询、中断和DMA。本章学习中断传送方式的有关内容。
数码管数字时钟电路的设计 1. 系统硬件电路的设计
第四章 MCS-51定时器/计数器 一、定时器结构 1.定时器结构框图
第3章 MCS-51指令系统 介绍MCS—51系列单片机的寻址方式 介绍MCS—51系列单片机的指令系统
第4章 80C51系列指令系统 教学目的:熟悉80C51系列单片机的寻址方式及 每一种寻址方式对应的寻址空间;掌 握每一条指令功能。
本章内容 MCS-51单片机指令系统的格式 MCS-51单片机寻址方式 指令系统的分析
5-6 串列埠模式0輸出埠擴充實習.
5.2.3 中断请求的响应、撤除及返回 1.中断的响应 从前面介绍的中断允许控制寄存器IE中可看出,一个中断源发出请求后是否被CPU响应,首先必须得到IE寄存器的允许,即开中断。如果不置位IE寄存器中的相应允许控制位,则所有中断请求都不能得到CPU的响应。 在中断请求被允许的情况下,某中断请求被CPU响应还要受下列条件的影响。
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
汽车单片机应用技术 学习情景1: 汽车空调系统的单片机控制 主讲:向楠.
四、手工汇编 完成汇编的方法有两种:手工汇编和汇编程序汇编 1.手工汇编步骤 A
单片机原理与应用.
3. 逻辑运算指令 A、简单逻辑操作指令 CLR A. (不影响CY、AC、 OV标志) CPL A
简单芯片扩展I/O接口 8155可编程接口芯片及其使用 键盘及显示器接口设计 A/D和D/A转换接口技术
4.3 汇编语言程序设计 顺序程序设计 顺序程序设计是最基本的程序设计。它是按照指令排列的先后顺序依次执行,每条指令都必须执行,且只执行一遍。顺序程序设计一般比较单一、简单,常常作为复杂程序的一部分。
单片机应用技术 (C语言版) 第3章 MCS-51指令系统及 汇编程序设计
第二章 MCS-51单片机程序设计 第一章 8086程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
上节复习(11.7) 1、定时/计数器的基本原理? 2、定时/计数器的结构组成? 3、定时/计数器的控制关系?
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第1章 微型计算机基础.
Presentation transcript:

10.3 单片机开发系统应用实例 10.3.1 数据采集与显示电路的设计 1.系统硬件电路的设计 10.3 单片机开发系统应用实例 10.3.1 数据采集与显示电路的设计 1.系统硬件电路的设计 图10-1为数据采集与显示AT89C51单片机系统的电路原理图。下面对各部分电路予以说明。

1) 模拟量采集电路 8路模拟量采集由A/D转换器ADC0809完成,它具有8路模拟输入端,传感器检测的信号经模拟电路(略)转换成0~5 V的直流信号后送给ADC0809,地址线(A、B、C端)决定对哪一路模拟输入作A/D转换。 2)  8路开关故障信号检测 8路开关量信号采用中断查询相结合的方法检测。

3) 显示电路 正常的模拟量显示和故障信息显示采用4位共阳极LED数码显示电路,显示内容由串行口输出给串入并出移位寄存器74LS164,驱动数码管显示,采用动态扫描方法逐位显示相关内容,显示的位数由P3.3~P3.6口控制。 4) 其它电路 上电复位电路,外晶振电路如图10-1所示。

图10-1 数据采集显示电路原理图

2.系统软件设计 1) 主程序 主程序完成的功能是初始化,然后循环调用显示子程序和模拟量测量子程序,对每一通道的模拟量进行采集并循环显示通道号和采集数据,每个通道显示时间为1 s。其程序流程图如图10-2所示。

图10-2 主程序流程图

2) 中断服务子程序 中断服务子程序主要用于判断故障源,并显示相应的故障信息。故障信息只用数码管的后两位表示,故障信息码是固定的,存在于固定的内存单元中。其程序流程图如图10-3所示。

图10-3 中断服务程序流程图

3) 显示子程序 显示子程序功能是显示某一模拟量输入通道的通道号和对应的采集数据,而并不显示开关量故障信息码。采用动态扫描法实现4位数码管的数据显示。采样所得的A/D转换数据存放在60H~67H内存单元中,采集数据在显示时需转换成十进制BCD码,其个位、十位、百位分别存放在68H~6AH内存单元中,对应通道号存放在7BH单元中。寄存器R0用作显示数据地址指针。动态扫描周期为20 ms。其程序流程图如图10-4所示。

图10-4 显示子程序流程图

4) 模拟量测量子程序 模拟量测量子程序的功能是控制A/D转换器0809对8路模拟量输入电压信号进行A/D转换,并将转换数据存入60H~67H单元中。其程序流程图如图10-5所示。

图10-5 测量子程序

程序如下: ORG 0000H AJMP INITZ ;跳至主程序 ORG 0003H ;外中断0中断入口地址 AJMP FLTRT ;转外中断0子程序 NOP   ******主程序******

ORG 0052H INITZ:CLR A MOV P2,A ;A/D转换准备 MOV R0,#7FH ;内存循环清零(00H~7FH) RAMX:MOV @R0,A DJNZ R0,RAMX MOV TCON,A ;定时器0停止计数 MOV TMOD,#01H ;定时器0工作方式1 MOV SCON,#00H ;串行口工作在方式0

MOV SP,#15H ;置堆栈指针 SETB EA ;开中断 SETB EX0 ;允许外中断0中断 CLR IT0 ;外中断0为电平触发 WAITX: LCALL CLST ;循环测量一次 LCALL XSZC ;循环显示数据一次 AJMP WAITX ;返回WAITX循环 ******测量子程序******

CLST:CLR A MOV R0,#60H ;测量值存放首址 MOV R7,#00H ;置初始通道号 CLST1: MOV A,R7 MOV P2,A ;输出通道地址 SETB P2.3 ;锁存通道地址 SETB P2.4 ;A/D启动准备 NOP ;延时2 μs CLR P2.4 ;A/D启动

JNB P3.7,$ ;等待转换结束 SETB P2.5 ;允许0809数据输出 MOV A,P0 ;读入A/D转换值 MOV @R0,A ;存入内存 CLR P2.5 ;关闭0809输出 INC R0 ;内存地址,通道号增1 INC R7 CJNE R7,#08H,CLST1 ;采集结束了吗?没有结束则采集下一个通道

MOV P2,#00H ;一次测量结束 RET ;子程序返回   ******显示子程序******* XSZC:MOV R0,#60H ;显示数据地址初值 MOV 6BH,#00H ;置通道号初值

XSZC1: MOV R3,#32H ;扫描频率 MOV A,@R0 ;显示数据转换为三位BCD码 MOV B,#100 DIV AB MOV 6AH,A ;百位BCD码存于6AH中

MOV A,#10 XCH A,B DIV AB MOV 69H,A ;存十位BCD码 MOV 68H,B ;存个位BCD码 XSZC2: MOV TH0,#27H ;扫描周期由T0定时20 ms MOV TL0,#10H SETB TR0 ;启动T0 SETB P3.6 ;关闭通道号显示位

MOV A,68H ;取出各位显示数据 MOV DPTR,#MAB ;显示段码首址 MOVC A,@A+DPTR MOV SBUF,A ;显示数据由串行口输出 JNB TI,$ ;等待传送结束 CLR P3.3 ;显示个位 CLR TI ;清除TI LCALL YS1 ;调延时1 ms子程序 SETB P3.3 ;消去个位显示 MOV A,69H ;取十位显示数据显示

MOV A,@A+DPTR MOV SBUF,A JNB TI,$ CLR P3.4 CLR TI LCALL YS1 SETB P3.4 MOV A,6AH ;取百位显示数据显示 MOVC A,@A+DPTR

JNB TI,$ CLR P3.5 CLR TI LCALL YS1 SETB P3.5 MOV A,6BH ;取通道号显示 MOVC A,@A+DPTR MOV SBUF,A CLR P3.6

SETB P3.6 JNB TF0,$ ;是否到20 ms?若不到则等待 CLR TR0 ;关闭定时器T0 DJNZ R3,XSZC2 ;1 s不到继续显示该通道数据 INC R0 ;显示下一个通道数据 INC 6BH MOV A,6BH CJNE A,#08H,XSZC1 ;八个通道显示一次吗?没有则继续 RET ;循环显示一次结束,返回

YS1: MOV R2,#0AH ;1 ms延时子程序 YS11: MOV R6,#0CH YS12: DJNZ R6,YS12 DJNZ R2,YS11 RET   ******中断服务程序******

FLTRT: CLR EX0 ;关中断 CLR EA JNB P3.2,FLTRT1 ;真的有中断请求吗?有,转移 RETI ;没有中断,退出 FLTRT1: MOV R0,#00H ;置故障码偏移地址 CLR TR0 ;关定时器T0 CLR TI ;清除TI标志 JB P1.0,DLC1 ;判断故障源

INC R0 ;改变故障码偏移地址 INC R0 JB P1.1,DLC1 JB P1.6,DLC1

DLC1: MOV A,R0 ;取出故障码偏移地址 SETB P3.5 ;关闭高两位数码管 SETB P3.6 MOV TH0,#27H ;定时器T0定时20 ms MOV TL0,#10H SETB TRO ;启动T0 MOV DPTR,#MCD ;置故障信息段码首址 MOVC A,@A+DPTR ;取出故障信息段码低位 MOV SBUF,A ;输出故障信息段码

JNB TI,$ ;等待输出结束 CLR P3.3 ;显示故障信息低位 CLR TI LCALL YS1 ;延时1 ms SETB P3.3 INC R0 MOV A,R0 MOVC A,@A+DPTR ;取出故障信息段码高位

MOV SBUF,A ;输出故障信息段码高位 JNB TI,$ CLR P3.4 ;显示故障信息段码高位 CLR TI LCALL YS1 ;延时1 ms SETB P3.4 JNB TF0,$ ;等待20 ms结束 CLR TR0 ;关闭T0 AJMP DLC1 ;循环显示故障信息 END

LED数码显示管共阳段码表,分别对应0~9。 CLR TR0 ;关闭T0 AJMP DLC1 ;循环显示故障信息 MAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳数码管段码表,分别对应0~9 DB 99H,92H,82H,0F8H,80H,90H MCD: DB LED数码显示管用故障信息段码表,根据需要编制(略) END