测量原理
8098单片机具有性能十分优良的高速输入输出通道,HSO0~HSO5为高速输出通道,能产 生输出宽度与周期均可调的脉冲波(PWM)。HSI0~HSI3为高速输入通道,CPU通过它们可 以同时接受来自外部的4个脉冲信号,并且随时记录脉冲信号中的高、低电平出现的时间, 非常适用于对脉冲参数的检测。
以高速输入通道HSI为例,HSI部件有自己的中断功能,当控制寄存器IOC1,7=1时,F IFO存储区装满事件后发出中断请求,如果IOC1,7=0,则保持寄存器在装入事件后发 出中断请求,两种原因引起的中断请求可通过查询状态寄存器IOS1而鉴别:如果FIFO 存储区满时,IOS1,6=1,反之,IOS1,6=0;如果保持寄存器内有值时,IOS 1,7=1,反之,IOS1,7=0。同时,HSI0也有自己的中断,只要HSI0引脚 上有事件发生,便可以提出中断请求。HSI有方式寄存器HSIMODE、状态寄存器HSI STATUS和时间寄存器HSITIME。HSI的方式寄存器HSIMODE可以 规定每个通道的四种工作方式如下:
①方式0:每8次正跳变后即触发; ②方式1:每次正跳变时即触发; ③方式2:每次负跳变时即触发; ④方式3:每次跳变(正或负)时即触发。
跳变检测器按HSIMODE寄存器规定的工作方式对HSI0~HSI3共4个通道的输入 信号进行监视与检测,并将有关引脚电平状态的检测结果送状态寄存器HSISTATUS ,同时还将有关事件是否发生的信息送入FIFO单元。时间寄存器HSITIME的内容为 事件发生时记录下来的定时器T1的当前值。
硬件电路
图1是由8098单片机组成的脉冲测量仪的电路原理图。脉冲测量的结果由8个数码管显示,左 边4个用于脉冲宽度(μs)的显示,右边4个用于脉冲周期(μs)的显示。
脉冲测量仪的输入端,即单片机的HSI0引脚与脉冲信号发生器的输出端(Vout)连接 ,单片机的Vss与脉冲信号发生器的GND相连。
软件设计
整个软件由两大部分组成:主程序和HSI位0中断服务程序。主程序如下:
HSI位0中断服务程序的框图如图2所示。
系统中有一个16位的看门狗(WDT)硬件定时电路,当系统复位时,WDT停止工作,可在软件中 设定WDT清零指令,当软件运行时即起动WDT,如果软件有故障时,会造成WDT溢出而复位, 从而防止程序跑飞。另外,单片机的电源采用了隔离变压器和低通滤波网络。在单 片机的复位电路中,为防止毛刺和杂波的干扰,在其RESET引脚与地之间,接入了一个提高 抗干扰能力的容值很小的电容。同时,8098单片机为提高供电的可靠性,其Vpd还单 独接到一个+5V的电池上,一旦+Vcc消失时,可以起到掉电保护的作用。
本系统经过使用,具有稳定、可靠、精度高、测量速度快等特点。在硬件上不需作改变,只 是将脉冲发生器的输出Vout同时接到单片机的HSI0和HSI1,再运行相应的程序即 可对连续发生的两个事件在时间间隔(如窄脉冲)很短时的连续脉冲使用多通道法进行测量。
关键字:脉冲测量 8098单片机 高速输入 输出通道 HSI HSO
引用地址:
基于8098单片机的脉冲测量仪的研制
推荐阅读最新更新时间:2024-03-30 22:15
再造STM32---第十三部分:RCC—使用 HSE/HSI 配置时钟
配合《STM32F4xx 中文参考手册》 RCC 章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分。 RCC : reset clock control 复位和时钟控制器。本章我们主要讲解时钟部分,特别是要着重理解时钟树,理解了时钟树, F429 的一切时钟的来龙去脉都会了如指掌。 13.1 RCC 主要作用—时钟部分: 设置系统时钟 SYSCLK、设置 AHB 分频因子(决定 HCLK 等于多少) 、 设置 APB2 分频因子(决定 PCLK2 等于多少)、设置 APB1 分频因子(决定 PCLK1 等于多少)、设置各个外设的分频因子;控制 AHB、 APB2 和 APB1 这三条总线时钟的开启
[单片机]
Spectrum全新任意波形发生器,可为8个通道提供24V输出摆幅
任意波形发生器(AWG)几乎能够再现任何波形。在当今复杂的电子系统中,任意波形发生器作为信号生成器发挥了关键作用。全球领先的从事计算机(PC-based)解决方案的技术公司Spectrum仪器近期为其generatorNETBOX系列产品新增了四个型号,在8条通道的条件下输出振幅最高可达到24V,并能够满足任何要求苛刻的测试应用。新型号产品使用最新的16位数字模拟转换器,并提供了125 MS/s(DN2.657型号输出波形速率)和40 MS/s(DN2.654型号输出波形速率)两种不同的速度范围。这两个速度区间能够在4通道或8通道下完全同步。 这两款基于LXI的设备通过以太网连接至PC或计算机网络,操作方便并易于集成。产
[测试测量]
STM32F103 使用HSI配置系统时钟为64MHZ
/** * @brief Sets System clock frequency to 64MHz and configure HCLK, PCLK2 * and PCLK1 prescalers. * @note OCS is HSI. This function should be used only after reset. * @param None * @retval None */ void SetSysClockTo64Mhz(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; RCC_
[单片机]
51单片机测量脉冲周期
要求:测量脉冲的周期 思想:用定时器和外部中断(下降沿触发中断),当第一个下降沿时,触发外部中断,此时开始计时。当第二个下降沿时,此时停止计时,此时的时间就是脉冲的周期。 程序: #include reg51.h #include intrins.h #define uLint unsigned long int uLint cycle_t = 0 ;//脉冲周期时间 sbit in = P3^2 ; bit start = 0 ; void Int0 (void) interrupt 0 { if(start == 0)//第一次下降沿开始计时 { cycle_t = 0 ; TL0 = 0 ; }
[单片机]
STM8 HSI时钟修正寄存器
STM8 HSI时钟修正寄存器(CLK_HSITRIMR) 地址偏移值:0x0C 复位值:未定义 位7:4 保留。始终为0。 位3:0 HSITRIM :HSI修正值 由软件写入,用于微调HSI的校准值 注意:在大容量产品上,只有位2:0是可用的。 在中等容量或小容量产品上,位3:0或2:0是可用的,取决于选项字节的配置(参见数据手册)。
[单片机]
利用定时方式0,测量外部脉冲宽度(5到250ms),74HC595输出显示
;有人提问: ;利用单片机的定时方式0,实现外部脉冲宽度(在5到250ms)的测量。要求画出电路图。在线等 ;问题补充:写出程序,测量结果存储在R0中。 ;================================================= ;做而论道对此题给出了答案: ;外部脉冲宽度(在5到250ms)之间,测量存放在R0。程序如下。 ORG 0000H JMP START ORG 000BH JMP T0_INT ;------------;初始化 START: MOV SP, #60H MOV TMOD, #01H ;/*T0定时方式1*/ MOV TH0, #HIGH(655
[单片机]
proteus与keil Cx51的单片机仿真(测量脉冲宽度)
利用门控位测试INT0引脚上出现的脉冲的宽度,并以机器周期数的形式通过发光二极管显示。 电路图: U1源程序: #include reg51.h sbit P1_1=P1^1; void main(void) { TMOD=0x02; EA=1; ET0=1; TH0=256-250; TL0=256-250; TR0=1; while(1); } void Time0(void)interrupt 1 using 0 {P1_1=~P1_1;} U2源程序: #include reg51.h #include intrins.h void main(void) { TMOD=0x0a; EA=1; ET0
[单片机]
雷达脉冲信号分析--射频信号测量连载(四)
对于雷达等脉冲调制信号来说,对于脉冲信号其宽度、上升时间、占空比、重复频率等都是非常关键的时域参数。按照IEEE Std 181规范的要求,一些主要的脉冲参数的定义如下图所示。 当用宽带示波器已经把射频脉冲捕获下来以后,就可以借助于示波器里内置的数学函数编辑一个数学的检波器。如下图所示,黑色曲线是从原始信号里用数学检波器检出的包络信号。包络波形得到后,借助于示波器本身的参数测量功能,就可以进行一些基本的脉冲参数测试。 更进一步地,我们还可以借助于示波器的FFT功能得到信号的频谱分布,借助示波器的抖动(Jitter)分析软件得到脉冲内部信号频率或相位随时间的变化波形,并把这些结果显示在一起。下图显示的是一个Chirp雷
[测试测量]