脉冲宽度的测量
脉冲宽度的测量

第一章绪论§1-1研究本课题的意义脉冲宽度的测量,实质是时间的测量,在生产和科学研究中,经常要测量时间,例如,完成第一生产工序所需要的时间,周期性信号的周期,激光测距和雷达测量目标距离,也是测量电磁波从目标反射回来的时间来确定目标的距离,运动物体行程的时间等等都说明时间测量的重要性。
§1-2时间测量的方法常见的时间测量仪表有运动会上用的秒表和家庭用的时钟,个人用的手表,这些机械式仪表读数不太精确,分辨力不太高,例如手表的分辨力为秒百米赛跑的计时秒表也只能分辨到0.01秒,如果要测量微秒,机械式的秒表是办不到的,只有采用电子式仪表要测量。
§1-3电子计时的工作原理随着电子技术的飞速发展,新的电子元器件的出现,为制造先进的仪器仪表奠定基础。
电子计时器的工作原理是由一基准的时钟脉冲源,目前时钟频率可达到几千兆赫,如计算机的主振频率可达到几个GHz,它的一个周期的时间为零点几个毫微秒,用这种时钟脉冲来测量时间,其分辨力可达到10-9秒。
电子计时器的工作原理框图1-1所示,用一个门电路来控制时钟脉冲通过,例如用一个电子开关使门打开,使时钟脉冲通过门电路送到计数器,进行计数,经过一段时间发出一个信号使门电路关闭。
无时钟脉冲通过,计数器停止计数,计数器计的数通过译码、显示器、显示电路及可用数字显示这段时间时钟脉冲图1-1 计时电路框图电子计数仪的优点:精度高、使用方便、读数直观、测量范围大,可远距离传输§1-4时间测量仪的应用数字式时间测量仪是生产和科学实验中不缺少的基本仪表,在测量速度、加速度、动量、冲量、频率和周期等方面都得到广泛应用。
第二章方案论证§2-1设计任务输入被测电压幅度:0.1~10V输入信号的脉冲宽度≧100us测量误差≦1%可测量周期性信号的周期§2-2脉冲宽度测量的工作原理脉冲宽度的测量,实质上是时间的测量,其电路组成包括输入通道,时基电路、主控门电路、控制电路、计数与显示电路五大部分组成。
脉冲宽度的测量

电子科技大学综合课程设计报告基于单片机门控位的脉冲宽度测量与显示think2011/5/4一、 可行性分析及其原理:该项目是要实现脉冲宽度的测量,再把测量值用数码管显示。
为了实现这一功能我们大致把整个系统分为以下几个模块:1. 振荡器模块:产生某一特定振荡频率的时钟,一般要求这一频率较高,本题要求精度为10us ,所以采用100kHZ 的振荡频率即可。
2. 计数器模块:对振荡脉冲进行计数,用待测脉冲信号作为使能输入(或开关),这样就可以记录下脉冲有效的时间,计数值乘以10us 即为待测脉冲宽度。
3. 译码显示模块:题目中要求用数码管显示6位测量值,分别完成译码和数码管的静态显示或是动态扫描输出即可。
框图如下:二、 本次设计构思了两个方案:方案一:运用CD4518(BCD 码全加器)的级联来实现计数,CD4511七段译码,555多谐振荡器提供100kHZ 频率,待测信号输入到计数器使能。
电路连接图如下:上述方案为数码管静态显示。
优点为方案简单无需编程,只需要组合逻辑与时序逻辑即可完成。
缺点为硬件电路的连线过于复杂上容易出错且很难排除故障,另一个问题在于使用的外接振荡源精度不是很高,势必带来不小的误差。
此方案理论上可行,由于实际操作带来的不方便,我们考虑了后面一种方案。
方案二:利用单片机门控位实现脉冲宽度测量。
基本思路为:利用单片机内部定时器的GATE信号,对于定时器T0来讲,如果GATE=1,则用软件把TR0置1,且INT0为高电平时可以启动定时器T0,所以我们就把被测脉冲信号从INT0端输入,使其上升沿触发启动T0计数,下降沿停止T0计数。
定时器数值乘以机器周期即为脉冲宽度。
电路连接图如下:可以看出,电路结构由以下部分构成:1.振荡模块:12MHZ晶体振荡器,由XTAL1和XTAL2接入单片机。
2.单片机控制模块:AT89S51单片机实现控制,主要任务是对其进行必要的编程设计。
3.输出显示模块:由数码管动态扫描显示,注意P0需要外接上拉电阻。
激光器脉冲宽度

激光器脉冲宽度1. 介绍激光器脉冲宽度是指激光脉冲的时间间隔。
在激光技术中,脉冲宽度的精确控制非常重要,因为它会直接影响到激光器的性能和应用。
本文将深入探讨激光器脉冲宽度的含义、影响因素、测量方法以及其在不同领域的应用。
2. 脉冲宽度的含义激光器脉冲宽度是指激光脉冲的时间时长,通常用时间单位来表示,如纳秒(ns)或皮秒(ps)。
它是一个重要的参数,直接影响到激光器的光学特性和产生的光脉冲形状。
脉冲宽度越短,脉冲能量越集中,对某些应用来说更有优势。
3. 影响脉冲宽度的因素3.1 激光器本身的特性激光器本身的设计和制造过程会对脉冲宽度产生影响。
例如,激光脉冲的宽度往往受限于激光器的工作方式、脉冲波形以及荧光寿命等。
3.2 光学系统参数光学系统中的元件,如谐振腔、增益介质、输出镜片等,也会对激光器脉冲宽度产生影响。
这些元件的反射率、透过率以及位置都会对脉冲宽度进行调控。
3.3 外界条件外界条件,如温度、湿度、环境磁场等,也会对激光器脉冲宽度产生一定的影响。
外界条件的变化可能导致激光器输出脉冲的时间间隔发生变化,进而改变脉冲宽度。
4. 脉冲宽度的测量方法测量激光器脉冲宽度的方法有很多种,下面介绍几种常用的方法: ### 4.1 电光采样法电光采样法是通过将激光脉冲和一个光学准直系统耦合,然后将光束分成两路,一路进行延时,另一路经过探测器接收并产生电信号,接着通过测量延时的方法来得到脉冲宽度。
4.2 自相关法自相关法是利用非线性光学效应来测量脉冲宽度,常用的方法是通过将激光脉冲分为两部分并进行光学干涉,然后将干涉结果与参考脉冲进行相乘,最后测量乘积的能量分布,从而得到脉冲宽度。
4.3 束腰法束腰法是一种基于峰值功率密度来测量脉冲宽度的方法。
通过调节光束的尺寸,测量在不同尺寸下脉冲能量随时间分布的变化,从而得到脉冲宽度。
5. 激光器脉宽在不同领域的应用激光器脉冲宽度在许多领域都有广泛的应用,下面列举几个常见的应用场景: ### 5.1 生命科学领域在生命科学领域,激光器的脉冲宽度对于激光显微镜、流式细胞术等技术的成像和测量效果有很大影响。
多种计算脉冲与占空比的方法

多种计算脉冲与占空比的方法计算脉冲与占空比是电子电路中常见的任务。
脉冲是一种短暂的电信号,通常被描述为一定时间段内的高电平或低电平信号。
占空比是指脉冲中高电平信号所占的时间比例。
在本文中,将介绍多种计算脉冲与占空比的方法。
1.计算脉冲宽度(脉冲持续时间):最简单的方法是使用示波器测量脉冲的宽度。
将示波器探头连接到脉冲信号的输出端,观察示波器屏幕上的波形。
确定脉冲的起始点和终止点,然后测量它们之间的时间间隔。
这个时间间隔即为脉冲的宽度。
2.通过频率和周期计算脉冲宽度:如果已知脉冲信号的频率(脉冲个数)和周期(脉冲重复时间),则可以使用以下公式计算脉冲宽度:脉冲宽度=周期/脉冲个数。
3.使用计数器计算脉冲宽度:计数器是一种电路设备,用于计算信号的频率和周期。
将脉冲信号连接到计数器的输入端,启动计数器并记录计数值。
然后停止计数器,并使用以下公式计算脉冲宽度:脉冲宽度=计数值/计数器频率。
4.计算占空比:占空比是高电平信号在整个脉冲周期内所占的时间比例,可以通过以下公式计算:占空比=(高电平持续时间/脉冲周期)x100%。
高电平持续时间是指脉冲中高电平信号的持续时间,脉冲周期是指脉冲的重复时间。
5.使用示波器计算占空比:示波器是一种测量电信号波形的仪器。
将示波器探头连接到脉冲信号的输出端,观察示波器屏幕上的波形。
通过测量高电平信号的持续时间和脉冲的周期,可以直接计算出占空比。
6.使用频率计算占空比:如果已知脉冲信号的频率和高电平持续时间,可以使用以下公式计算占空比:占空比=(高电平持续时间/(1/频率))x100%。
这个方法适用于脉冲信号的频率较高的情况。
7.使用占空比计数器计算占空比:占空比计数器是一种专门用于计算占空比的电路。
将脉冲信号连接到占空比计数器的输入端,启动计数器并记录满计数时的计数值。
占空比计数器会自动计算高电平和低电平信号的持续时间,并通过以下公式计算占空比:占空比=(高电平持续时间/(高电平持续时间+低电平持续时间))x100%。
数字脉冲宽度测量仪-文亚平

数字脉冲宽度测量仪-文亚平数字脉冲宽度测量仪是一种用于测量数字脉冲的工具,它具有高准确度、高精密度、高速度等优点,被广泛应用于各个领域中的脉冲测量。
文亚平老师是该测量仪器的设计师,他是深圳大学控制科学与工程系的副教授。
数字脉冲宽度测量仪的概述数字脉冲宽度测量仪能够非常准确地测量脉冲的宽度,不仅适用于高速脉冲的测量,同时也可用于低速脉冲的测量。
该仪器具有清晰的界面,易于使用,能够轻松地获取精确的脉冲宽度测量数据。
数字脉冲宽度测量仪在高科技领域中广泛应用,它可以在医学、航空、车辆、通讯等领域得到应用。
数字脉冲宽度测量仪的主要功能包括:1.测量脉冲的宽度2.显示脉冲的时间基准和脉冲的周期3.显示脉冲的立即响应和延迟响应数字脉冲宽度测量仪的优点与传统的模拟脉冲宽度测量仪相比,数字脉冲宽度测量仪具有以下优点:1.高精度:数字脉冲宽度测量仪的精度达到毫微秒甚至亚毫微秒级别。
2.高速度:数字脉冲宽度测量仪可以测量高速的脉冲,速度非常快。
3.多功能:数字脉冲宽度测量仪不仅可以测量脉冲的宽度,还可以显示其它相关数据。
4.易于使用:数字脉冲宽度测量仪具有清晰的界面,易于操作,测量数据准确。
数字脉冲宽度测量仪的应用领域数字脉冲宽度测量仪适用于各个领域中的脉冲测量,如:1.医学领域:用于心脏脉冲的测量。
2.通讯领域:用于取样和测量宽带信号、脉冲信号、射频信号中的脉冲。
3.航空领域:控制飞机的脉冲信号、在飞机上使用。
4.车辆领域:适用于汽车控制单元脉冲信号的检测;汽车电控系统和机器控制系统的脉冲测量。
5.电子领域:适用于半导体测试、数字电路测试等领域。
文亚平老师的贡献文亚平是数字脉冲宽度测量仪的设计师,他拥有29项计算机软件著作权和专利。
他致力于数字测量仪器的研究,研发了多款高精度数字仪器,数字脉冲宽度测量仪就是其中之一。
文亚平老师的研究成果不仅延伸了数字测量仪器的应用领域,同时也提高了仪器测量的精度和准确性。
总结数字脉冲宽度测量仪是一款高精度、高速度、多功能的数字测量仪器,它被广泛应用于各个领域中的脉冲测量。
STM32利用捕获功能完成脉冲宽度测量

数 TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;//
直接映射到 TI1 TIM_ICInit<TIM5,&TIM_ICInitStructure>;
捕获程序
需要区分是捕获中断还是定时器更新中断 设置全局变量记录捕获状态和定时器更新
次数 在捕获到高电平后要改变捕获极性为低电
平捕获 如何更新中断发生次数超过记录极限,强制
设置捕获完成状态
知识回顾 Knowledge ReviewBiblioteka 如果使用TIM5和PA0作为捕获引脚
〔4开启捕获和定时器溢出〔更新中断 假如我们需要检测输入信号的高电平脉宽,就需
要在第一次上升沿到来时捕获一次,然后设置为 下降沿捕获,等到下降沿到来时又捕获一次.如 果输入信号的高电平脉宽比较长,那么定时器就 可能溢出,所以需要对定时器溢出进行处理,否 则计算的高电平时间将不准.所以需要开启定时 器溢出中断.
GPIO_Init<GPIOA,&GPIO_InitStructure>; //初 始化结构体
如果使用TIM5和PA0作为捕获引脚
〔2初始化定时器参数,包含自动重装值,分频系数,计数方式 等
要使用定时器功能,必须对定时器内相关参数初始化,其库 函数如下:
voidTIM_TimeBaseInit<TIM_TypeDef*TIMx,TIM_TimeBaseInit TypeDef*TIM_TimeBaseInitStruct>;
RCC_APB1PeriphClockCmd<RCC_APB1Periph_ TIM5,ENABLE>;//使能 TIM5 时
STM32利用捕获功能完成脉冲宽度测量解析

STM32利用捕获功能完成脉冲宽度测量解析脉冲宽度测量是一种常见的电子测量技术,它可以用来测量脉冲信号的时间间隔,常用于测量脉冲频率、PWM信号的占空比以及其他与时间相关的信号参数。
在STM32微控制器中,捕获功能可以使用定时器外设来实现。
定时器可以产生定时中断或者触发其他外设,同时,它还可以配置为捕获模式,以测量脉冲信号的时间间隔。
在使用STM32捕获功能进行脉冲宽度测量时,主要需要以下几个步骤:1.初始化定时器:选择合适的定时器外设,并根据具体需求配置计数模式、时钟源以及预分频系数。
需要注意的是,定时器的时钟源和预分频系数会影响测量的时间分辨率。
2.配置捕获模式:选择合适的输入通道,并配置捕获模式为边沿对齐模式或中心对齐模式。
边沿对齐模式适用于测量脉冲宽度,而中心对齐模式适用于测量脉冲间隔。
3.获取捕获值:在触发捕获事件时,通过读取捕获寄存器的值来获取脉冲宽度。
捕获值的单位由定时器的时钟源和预分频系数决定,通常为计数周期数。
4.计算脉冲宽度:根据捕获值和定时器的参数,可以计算出具体的脉冲宽度。
如果需要转化为实际的时间值,还需要考虑时钟源的频率和预分频系数。
在编写使用STM32捕获功能进行脉冲宽度测量的代码时,可以使用STM32Cube库或其他编写固件的开发工具。
以下是一个简单的示例代码:```c#include "stm32f4xx_hal.h"TIM_HandleTypeDef htim;void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)if (htim->Instance == TIM1) { // 根据实际情况修改定时器实例uint32_t captureValue = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1);float pulseWidth = (float)captureValue / htim.Instance->ARR;//在这里进行脉冲宽度的处理}int main(void)HAL_Init(;SystemClock_Config(;__HAL_RCC_GPIOA_CLK_ENABLE(;__HAL_RCC_TIM1_CLK_ENABLE(;GPIO_InitTypeDef GPIO_InitStruct;GPIO_InitStruct.Pin = GPIO_PIN_8;GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;GPIO_InitStruct.Pull = GPIO_PULLUP;GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);htim.Instance = TIM1;htim.Init.Prescaler = 0;htim.Init.CounterMode = TIM_COUNTERMODE_UP;htim.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;HAL_TIM_Base_Init(&htim);TIM_IC_InitTypeDef sConfigIC;sConfigIC.ICPolarity = TIM_ICPOLARITY_RISING;sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI; sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;sConfigIC.ICFilter = 0;HAL_TIM_IC_ConfigChannel(&htim, &sConfigIC, TIM_CHANNEL_1); HAL_TIM_IC_Start_IT(&htim, TIM_CHANNEL_1);while (1)//主循环}```上述代码在初始化后,通过HAL库函数配置了一个TIM1定时器通道1的输入捕获模式,并启动了中断。
射频系统中脉冲宽度 -回复

射频系统中脉冲宽度-回复射频系统中脉冲宽度是指脉冲信号中连续电压高电平存在的时间,通常用时间单位(如秒)来表示。
脉冲宽度是射频系统中的一个重要参数,对于系统的性能和功能具有重要影响。
本文将一步一步回答有关射频系统中脉冲宽度的问题,以便更好地理解。
第一步:什么是射频系统?射频系统是指在射频频段(射频波段)范围内进行信号传输、处理和控制的一种电子系统。
这个频段通常涵盖从30 kHz到300 GHz的电磁频谱范围。
射频系统被广泛应用于无线通信、雷达、卫星通信、无线电广播等领域。
第二步:什么是脉冲信号?脉冲信号是指一种瞬时变化的电信号,其特点是时间上的高低电平交替出现。
脉冲信号可以通过改变电平的方法来表示信息,比如数字信号中的“1”和“0”。
脉冲信号在射频系统中用于控制、定时、调制、调制解调等各种应用。
第三步:为什么需要脉冲宽度?脉冲宽度对于射频系统的性能和功能具有重要影响,下面列举了几个重要的原因:1. 信息传输:脉冲宽度可以用来表示不同信息的编码和解码。
不同宽度的脉冲可以对应不同的数字或字符,从而实现信息的传输。
2. 调制:脉冲宽度调制(PWM)是一种常见的调制方式,通过改变脉冲宽度来控制信号的幅度或频率。
PWM技术广泛应用于电机驱动、电源控制等领域。
3. 定时和时序控制:脉冲宽度可以用于生成周期性的时序信号,如时钟信号、同步信号等。
这对于实现同步操作、时序控制、时序测量等都非常重要。
4. 脉冲压缩:脉冲宽度压缩技术可以通过调整脉冲宽度来增加射频系统的分辨率和灵敏度。
这在雷达、通信、医学成像等领域具有重要应用。
第四步:如何测量脉冲宽度?脉冲宽度的测量可以使用不同的方法和设备,下面列举了几种常见的方法:1. 示波器:示波器是一种常用的仪器,可以直接测量脉冲宽度。
简单地连接脉冲信号到示波器的输入端口,并设置正确的时间和电压尺度,即可读取脉冲宽度。
2. 定时器:定时器是一种测量时间间隔和脉冲宽度的设备。
通过将脉冲信号输入到定时器中,并使用适当的设置,可以测量脉冲宽度。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JIANGSU TEACHERS UNIVERSITY OF TECHNOLOGY 单片机原理与应用课题:脉冲宽度的测量学院:电气信息工程学院专业:电子信息工程班级:08电子1班姓名:学号:08311106合作者:指导教师:陈连玉黄阳日期:2011-10-10目录摘要 (3)一、课程设计的目的与意义 (3)二、程序设计的具体要求 (3)2.1 技术指标 (3)2.2 工作原理 (3)2.3 主要功能 (3)三、硬件电路的设计及描述 (4)3.1 总体框图 (4)3.2 各器件的参数 (4)3.3电路中的各器件 (4)四、软件设计流程及描述 (6)4.1 软件框图 (6)4.2 软件设计思想 (6)4.3 各参数的选择理论根据及公式 (7)五、源程序代码 (9)六、调试与分析 (13)6.1 调试 (13)6.2 误差与分析 (13)七、课程设计的体会 (13)八、参考文献 (13)九、附录一 (14)摘要:近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动传统控制检测的更新。
在实时检测和自动控制的单片机应用系统中,单片机大都是作为一个核心器件来使用,仅单片机方面的知识是不够的,还应该根据具体硬件结构,以及对具体应用对象特点的软件结合,加以完善。
本系统采用单片机A T89C51为中心器件来设计,在现有的单片机仿真机系统上掌握软硬件设计与调试知识,正确进行元器件的测试与调试,并在计算机上编写程序,进行调试运行,实现设计要求。
一、课程设计的目的和意义(1)设计目的通过本次课程设计,巩固和加深“单片机原理与应用”中的理论知识,了解和应用单片机仿真系统,结合软硬件,基本掌握单片机的应用的一般设计方法,提高电子电路的设计和实验能力,并且提高自身查找和运用资料能力(2) 设计意义通过本次课程设计,理论知识系统化,从中或得一些实战工作经验,提高个人与团体合作的能力。
为以后从事生产和科研工作打下一定基础。
二、程序设计的具体要求2.1 技术指标1、输入脉冲幅度:0-5v2、频率量测量范围:100—10000HZ3、测量精度:正负1%4、显示方式:四位数字显示2.2 工作原理将脉冲信号从P3.2脚引入,将T0设为定时器方式工作。
并工作在门控方式(GATE=1)。
初值TH0,TL0设为0。
在待测脉冲高电平期间,T0对内部周期脉冲进行计数,在待测脉冲高电平结束时,其下降沿向P3.2发中断,在外中断服务程序中,读取TH0,TL0的计数值,该值就是待测脉冲的脉宽。
随后清零TH0和TL0,以便下一脉宽的测量。
2.3主要功能实现对被测信号的脉宽测量。
三、硬件电路设计及描述3.1 总体框图列驱动3.2 各器件的参数(1)被测信号源用的是带RC 电路的环形振荡器电路图电路如图所示。
其中G4用于整形,以改善输出波形,R 为限流电阻,一般取100Ω,。
电位器R w 要求不大于1K Ω。
电路利用电容C 充放电过程,控制D 点电压V D ,从而控制与非门的自动启闭,。
形成多谐振荡,电容C 的充电时间t w1、放电时间t w2和总的振荡周期T 分别为:t w1≈0.94RC, t w2≈1.26RC ,。
T≈2.2RC 调节R 和C 的值,可改变输出信号的振荡频率。
以上这些电路的状态转换都发生在与非门输入电平达到门的阀值电平V T 的时刻。
在V T 附近电容器的充放电速度已经很缓慢,。
而且V T 本身也不够稳定,易受温度、电源电压变化等因素以及干扰的影响。
因此,电路输出频率的稳定性较差。
信号源电路由RC 振荡器构成,电阻选510欧姆,电容选择4.7uf,,产生矩形波后通过非门整形,非门由与非门74LS00构成,实际电路中用到四个与非门,使得整形更好,波形更稳定。
复位电容取10uf(2)单片机使用12m 的晶振晶振和C1、C2组成振荡器,使单片机内部产生产生周期为1us 的脉冲信号。
3.3电路中各器件 (1)数码管被测信号晶振电路89C51 单片机控制器 4位数码管显示740774LS00数码管采用的是共阴极。
P0口来送段选信号,P0口内部并没有带上拉电阻,在接收数码管时需要在两者之间加一排阻,降低电流来保护P0口。
利用了P2.4~P2.7来送位选信号即哪一个数码管来亮,且送低电平时有效,数码管用动态显示的方式来显示测量的周期值。
在单片机与数码管之间我们采用了7407来驱动,7407为位6输入高压缓冲器。
(2)单片机AT89C51芯片VCC:供电电压。
GND:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3.2 /INT0(外部中断0)RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间四、软件设计流程及描述4.1软件框图主程序流程图初始化将测量转换为十进制数拆为非压缩BCD数调用显示子程序(2)外中断0服务程序流程图4.2软件设计思想(1)主程序如下所示:MAIN:MOV SP,#60HMOV TMOD,#09H ;计数器T0工作在方式1,门控信号为1MOV TL0,#00H ;计数器TO清零MOV IE,#81H ;开放定时器中断和总中断和外部中断0MOV TCON,#11HMOV R5,#05H ;T0当外部中断输入为高时计数,外部中断0为边沿触发方式,下降沿有效(2)外中断0服务子程序如下:SOLVE: MOV 41H,TH0MOV 40H,TL0 ;将计数器T0中的数转移到40H ,41H 中 MOV TH0,#00HMOV TL0,#00H ;重新将定时器T0清零 RETI4.3各参数的选择理论根据及公式 (1) 数码转换由于单片机显示的是10进制的数,所以需要将2进制数转换为10进制数来显示二进制—十进制转换的流程图如下:因为有16位的二进制,故循环次数为16次,放在R7中。
38H37H 中的十六位二进制数转换为十进制后放在34H35H36H 单元中(2)压缩BCD 码转换成非压缩BCD 码压缩BCD 码有4位,所以需要将压缩BCD 码转换为非压缩BCD 码供8段数码管显示USBCD:MOV A,34HCJNE A,#00H, CHOOSE ;判断第五位数值是否为0 为零则按四位有效值处理 不为零按5位有效值处理MOV R1,#35H ;当有4位有效效值时 取后四位显示 小数点加在第一位开始38H ←41H 37H ←40H0→34H,35H,36H16→R7C(38H37H)左移一位(移出位bi 在C 中)(34H35H36H )*2+C →(34H35H36H ) (十进制运算)(R7)-1--〉=0?返 回NYMOV R0,#36H ;显示的是以ms为为单位的MOV A,#00HXCHD A,@R0 ;将36H中的低4位转换为非压缩BCD码存到30HMOV 30H,AMOV A,@R0SW AP AMOV 31H,A ;高4位转换为非压缩BCD码存到31HMOV A,#00HXCHD A,@R1 ;将35H中的低4位转换为非压缩BCD码存到32HMOV 32H,AMOV A,@R1 ;高4位转换为非压缩BCD码存到33HSW AP AADD A,#10 ;加小数点显示(如果显示us为单位可以不加小数点)MOV 33H,ARETCHOOSE:MOV R1,#34H ;当有5位有效值时取前四位显示小数点加在第二位MOV R0,#35H ;将35H中的低4位转换为非压缩BCD码存到31HMOV A,#00HXCHD A,@R0 ;高4位转换为非压缩BCD码存到32HMOV 31H,AMOV A,@R0SW AP AADD A,#0A ;加小数点显示(如果显示us为单位可以不加小数点)MOV 32H,AMOV A,#00H ;将34H中的低4位转换为非压缩BCD码存到33HXCHD A,@R1MOV 33H,AMOV A,@R1SW AP AANL 36H,#0F0HMOV A,36HSW AP AMOV 30H,ARET(3)数码管显示子程序DISP: MOV DPTR,#TAB ;显示千位MOV A,U4MOVC A,@A+DPTRMOV P0,AMOV A,#0FEH ;位选信号第一个数码管MOV P2,ALCALL DELAYMOV DPTR,#TAB ;显示百位MOV A,U3MOVC A,@A+DPTRMOV P0,AMOV A,#0FDH ;位选信号第二个数码管MOV P2,AMLCALL DELAYOV DPTR,#TAB ;显示十位MOV A,U2MOVC A,@A+DPTRMOV P0,AMOV A,#0FBH ;位选信号第三个数码管MOV P2,ALCALL DELAYMOV DPTR,#TAB ;显示个位MOV A,U1MOVC A,@A+DPTRMOV P0,AMOV A,#0F7H ;位选信号第四个数码管MOV P2,ALCALL DELAYRET选用4个共阴极数码管显示,每个数码管的选通是由P2.4~P2.7来控制每位点亮时间为3780us,采用延时子程序,有四个数码管,用扫描的方式显示,每一个时刻只选通一个数码管。
不带小数点的0~9的数据对应0 , 1 , 2 , 3, 4, 5 , 6 , 7 , 8, 977H,41H,3BH,6BH,4DH,6EH,7EH,43H,7FH,6FH带小数点的0~9的数据对应表:0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 90F7H,0C1H,0BBH,0EBH,0CDH,0EEH,0FEH,0C3H,0FFH,0EFH(4)延时程序POST: MOV R7,#15HPOST1:MOV R6,#50HDJNZ R6,$DJNZ R7,POST1RET采用软件延时,延时时间为21*90*2=3780us五、源程序代码下面的程序是本次课程设计的源程序:ORG 0000HAJMP MAINORG 0003HAJMP INTR_0 ;外部中断低电平触发处理ORG 0033HMAIN: MOV SP,#60HMOV TMOD,#09H ;计数器T0工作在方式1,门控信号为1MOV TL0,#00H ;计数器TO清零MOV IE,#81H ;开放定时器中断和总中断和外部中断0MOV TCON,#11HMOV R5,#05H ;T0当外部中断输入为高时计数,外部中断0为边沿触发方式,下降沿有效LOOP: ACALL BCD ;十六位二进制转十进制ACALL UBCD ;压缩BCD码,转非压缩BCD码LOOP1: ACALL DISP ;显示程序ACALL POSTDJNZ R5,LOOP1MOV R5,08HAJMP LOOP ;循环处理显示计数器T0采集得数SOLVE:MOV 41H,TH0MOV 40H,TL0 ;将计数器T0中的数转移到40H,41H中CLR CMOV A,40HADDC A,#90HMOV 40H,AMOV A,41HADDC A,#02HMOV 41H,AMOV TH0,#00HMOV TL0,#00H ;重新将定时器T0清零RETIBCD: CLR A ;十进制转换,将41H 42H中的数值转换成BCD码分别按高低存储在34H 35H 36H中MOV 38H,41HMOV 37H,40HMOV 34H,AMOV 35H,AMOV 36H,AMOV R7,#16LOOP2: CLR CMOV A,37HRLC AMOV 37H,AMOV A,38HRLC AMOV 38H,AMOV A,36HADDC A,36HDA AMOV 36H,AMOV A,35HADDC A,35HDA AMOV 35H,AMOV A,34HADDC A,34HDA AMOV 34H,ADJNZ R7,LOOPS1RETUSBCD:MOV A,34HCJNE A,#00H, ,CHOOSE ;判断第五位数值是否为0 为零则四位有效值处理不为零按5位有效值处理MOV R1,#35H ; 当有4位有效效值时取后四位显示小数点加在第位MOV R0,#36H ;显示的是以ms为为单位的MOV A,#00HXCHD A,@R0 ;将36H中的低4位转换为非压缩BCD码存到30HMOV 30H,AMOV A,@R0SW AP AMOV 31H,A ;高4位转换为非压缩BCD码存到31HMOV A,#00HXCHD A,@R1 ;将35H中的低4位转换为非压缩BCD码存到32HMOV 32H,AMOV A,@R1 ;高4位转换为非压缩BCD码存到33HSW AP AADD A,#10; 加小数点显示(如果显示us为单位可以不加小数点)MOV 33H,ARETCHOOSE:MOV R1,#34H ;当有5位有效值时取前四位显示小数点加在第二位MOV R0,#35HMOV A,#00HXCHD A,@R0MOV 31H,AMOV A,@R0SW AP AADD A,#10 ;加小数点显示MOV 32H,MOV A,#00HXCHD A,@R1MOV 33H,AMOV A,@R1SW AP AANL 36H,#0F0HMOV A,36HSW AP AMOV 30H,ARETDISP: MOV DPTR,#TAB ;显示千位MOV A,U4MOVC A,@A+DPTRMOV P0,AMOV A,#0FEH ;位选信号第一个数码管MOV P2,ALCALL DELAYMOV DPTR,#TAB ;显示百位MOV A,U3MOVC A,@A+DPTRMOV P0,AMOV A,#0FDH ;位选信号第二个数码管MOV P2,ALCALL DELAYMOV DPTR,#TAB ;显示十位MOV A,U2MOVC A,@A+DPTRMOV P0,AMOV A,#0FBH ;位选信号第三个数码管MOV P2,ALCALL DELAYMOV DPTR,#TAB ;显示个位MOV A,U1MOVC A,@A+DPTRMOV P0,AMOV A,#0F7H ;位选信号第四个数码管MOV P2,ALCALL DELAYRETPOST: MOV R7,#15H ;延时程序POST1:MOV R6,#50HDJNZ R6,$DJNZ R7,POSTIRETTAB: DB 77H,41H,3BH,6BH,4DH,6EH,7EH,43H,7FH,6FHDB 0F7H,0C1H,0BBH,0EBH,0CDH,0EEH,0FEH,0C3H,0FFH,0EFHEND六、调试与分析6.1 调试(1)硬件调试:将信号源的输出脚接在示波器上,并加上正5伏电源上,观察波形,如果得到的波形不稳定,可将74LS00的4个与非门全部串联,并记录下对应的周期。