最新脉冲宽度的测量精编版

合集下载

脉冲宽度检测

脉冲宽度检测

一种“边沿检测电路”和“脉宽检测电路”的设计方法
关于“边沿检测电路”和“脉宽检测电路”有很多设计方法,以下是一种比较常见的设计方法,大部分的“边沿检测电路”和“脉宽检测电路”都是分别以这两种电路为基础实现的,也是我们在芯片设计中经常采用的方法:
(1)边沿检测电路
上图给出的是一种下降沿检测电路,当输入有下降沿出现时,输出则会产生一个高脉冲,脉冲的宽度由非门构成的延时电路决定。

(2)脉宽检测电路
上图给出的则是一种脉宽检测电路,和边沿检测电路的原理相同,也是利用了非门构成的延时电路。

该图给出的是负脉冲宽度检测电路,只有负脉冲的宽度大于一定的值时,才能输出一个高脉冲。

这个最小脉宽由非门构成的延时电路决定,而输出的高脉冲宽度则是输入脉冲宽度与最小脉宽之差。

通常我们在实际的设计中不只利用非门本身的延时,如果需要的延时比较大时,可以在非门后加一些电容。

利用这两个电路为基础,我们很容易就扩展出“上升沿检测”、“正脉冲宽度检测”,“高脉冲输出”还是“低脉冲输出”。

甚至可以扩展出功能可配置的检测电路。

当输入负脉冲宽度大于四个非门的延迟时间宽度输出才有高电平出现
当输入正脉冲大于四个非门的延迟时间宽度输出才有高电平出现。

脉冲宽度的测量

脉冲宽度的测量

第一章绪论§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脉冲宽度测量的工作原理脉冲宽度的测量,实质上是时间的测量,其电路组成包括输入通道,时基电路、主控门电路、控制电路、计数与显示电路五大部分组成。

脉冲宽度精密测量技术

脉冲宽度精密测量技术

脉冲宽度精密测量技术
张永坡
【期刊名称】《电子质量》
【年(卷),期】2008(000)003
【摘要】文章介绍了脉冲宽度的精密测量方法,给出测量电路原理框图以及测量方法的介绍、比较.电路的测量分辨率可以达到fs级,适用于要求比较高的时间间隔测量场合.
【总页数】3页(P6-8)
【作者】张永坡
【作者单位】中国电子科技集团公司第41研究所,安徽,蚌埠,233006
【正文语种】中文
【中图分类】TM933.1
【相关文献】
1.精密加工与精密测量技术的发展 [J], 董红磊
2.精密超精密加工及现代精密测量技术 [J], 司国斌;张艳
3.英国克兰菲尔德精密工程研究所(CUPE)的超精密加工与测量技术(续) [J], 石照耀
4.英国克兰菲尔德精密工程研究所(CUPE)的超精密:加工与测量技术 [J], 石照耀
5.广佛环线城际铁路精密工程测量技术体系及特点 [J], 周东卫
因版权原因,仅展示原文概要,查看原文内容请购买。

山东科技大学创新性实验:脉冲宽度测量

山东科技大学创新性实验:脉冲宽度测量

山东科技大学电工电子实验教学中心创新性实验研究报告课程名称:单片机原理及应用设计实验项目名称脉冲宽度测量______姓名____学号_手机_Email __专业电气工程及其自动化班级__指导教师及职称_____开课学期至学年__学期提交时间年月日24五、实验结果与分析62、对实验现象、数据及观察结果的分析与讨论:实验在调试的过程中会出现一系列的问题,如果是脉冲宽度只显示一次,则是因为进入定时器的中断次数不对,这是需要改进在显示一次后如果再出现高电平需要再次进入中断服务程序;若显示的数值只闪一下最后只显示一位数则是因为显示程序调用出现问题,这是需要不停地调用显示程序来解决问题,若程序和中显示乱码或计数不对则可能是子程序中程序编写出现错误或是只是某一个小地方出现差错,应仔细检查。

8六、实验结论七、指导老师评语及得分:附件:源程序等。

T0门控方式实验程序:ORG 0000HLJMP MAINORG 000BHLJMP T0_INTORG 0030HMAIN: MOV TMOD,#09H;设T0工作在方式1,GATE=1MOV TL0,#0FCHMOV TH0,#17H;设定时初值,定时0.001sMOV R4,#00HMOV R3,#00HJB P3.2,$SETB ET0SETB EAIOC: SETB TR0JNB P3.2,$;进入T0定时中断MOV R3,#00HMOV R4,#00H;R3R4存定时溢出值,此时在低电平计数,需将所记的数值清零JB P3.2,$CLR TR0;脉冲信号出现低电平,定时停止MOV 34H,R4MOV 35H,R3LCALL BCD;将计数值变为压缩BCD码LCALL UBCD;将压缩BCD码转换为非压缩BCD码用于显示DIS:LCALL DISP;调用显示程序JB P3.2,IOC;当脉冲信号再次出现高电平时继续进入中断SJMP DIST0_INT:INC R3;定时到计数值加一CJNE R3,#00H,NEXTINC R4NEXT: MOV TH0,#0FCHMOV TL0,#17HRETIBCD:MOV R7,#16CLR A;BCD码初始化MOV 47h,AMOV 46h,AMOV 45h,ABCD1:CLR CMOV A,35HRLC AMOV 35H,AMOV A,34HRLC AMOV 34H,AMOV A,47HADDC A,47HDA AMOV 47H,AMOV A,46HADDC A,46HDA AMOV 46H,AMOV A,45HADDC A,45HDA AMOV 45H,ADJNZ R7,BCD1RET;将得到的压缩BCD码从高到低存入45H46H47HUBCD:MOV A,45HANL A,#0F0HSWAP AMOV 50H,AMOV A,45HANL A,#0FHMOV 51H,AMOV A,46HANL A,#0F0HSWAP AMOV 52H,AMOV A,46HANL A,#0FHMOV 53H,AMOV A,47HANL A,#0F0HSWAP AMOV 54H,AMOV A,47HANL A,#0FHMOV 55H,ARET;将非压缩BCD码从高到低存入50H51H52H53H54H55HDISP:MOV R0,#55H;显示缓冲地址MOV R2,#20H;送位控初始码MOV A,#0FFH;共阳灭码MOV P0,AACALL DIPMOV R0,#54H;显示缓冲地址MOV R2,#10H;送位控初始码ACALL DIPMOV R0,#53HMOV R2,#08HACALL DIPMOV R0,#52HMOV R2,#04HMOV A,R2MOV P2,AMOV A,@R0MOV DPTR,#TABLEMOVC A,@A+DPTR;查出要显示的字形代码ANL A,#7FH;加小数点显示10MOV P0,AACALL DELAYMOV R0,#51HMOV R2,#02HACALL DIPMOV R0,#50HMOV R2,#01HACALL DIPSJMP DISPDIP:MOV A,R2;送位控信号MOV P2,A;P2存放位控信号MOV A,@R0;从显示缓冲中取数MOV DPTR,#TABLEMOVC A,@A+DPTR;查出要显示的字形代码MOV P0,AACALL DELAYRETDELAY:MOV R5,#9FHDJNZ R5,$RETTABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,9 0H,88H,83H,0C6H,0A1H,86H,8EHENDT2捕捉方式实验程序T2CON EQU 0C8HTH2 EQU 0CDHTL2 EQU 0CCHRCAP2H EQU 0CBHRCAP2L EQU 0CAHTR2 BIT 0CAH;定义定时器T2ORG 0000HLJMP MAINORG 000BHLJMP T0_INTORG 0030HMAIN: MOV TMOD, #01H;定时器T1工作在方式一采用定时模式MOV T2CON,#0FH;T2处于计数模式,运行T2,捕捉方式JB P1.1,$;待测信号为高电平等待LOOP3: MOV TL0, #17HMOV TH0, #0FCH;设定时器初值,定时0.01SMOV TH2, #00HMOV TL2 ,#00HMOV 35H,#00HMOV 34H,#00HCLR P1.0SETB EASETB ET0JNB P1.1,$SETB TR0JB P1.1,$;高电平开始定时CLR TR0MOV 35H,RCAP2LMOV 34H,RCAP2HACALL BCDLCALL UBCDLOOP1: ACALL DISPJB P1.1,LOOP3;待测信号再次出现高电平重新进入中断AJMP LOOP1T0_INT:MOV TL0, #17HMOV TH0, #0FCHSETB TR0SETB P1.0NOPNOPCLR P1.0RETIBCD:MOV R7,#16CLR A;BCD码初始化MOV 47h,AMOV 46h,AMOV 45h,ABCD1:CLR CMOV A,35HRLC AMOV 35H,AMOV A,34HRLC AMOV 34H,AMOV A,47HADDC A,47HDA AMOV 47H,AMOV A,46HADDC A,46HDA AMOV 46H,AMOV A,45HADDC A,45HDA AMOV 45H,ADJNZ R7,BCD1RETUBCD:MOV A,45HANL A,#0F0HSWAP AMOV 50H,AMOV A,45HANL A,#0FHMOV 51H,AMOV A,46HANL A,#0F0HSWAP AMOV 52H,AMOV A,46HANL A,#0FHMOV 53H,AMOV A,47HANL A,#0F0HSWAP AMOV 54H,AMOV A,47HANL A,#0FHMOV 55H,ARETDISP:MOV P0,#0FFHMOV DPTR ,#TABMOV A,55HMOVC A,@A+DPTRMOV P0,AMOV A,#20HMOV P2,AACALL DELAYMOV A,54HMOVC A,@A+DPTRMOV P0,AMOV A,#10HMOV P2,AACALL DELAYMOV A,53HMOVC A,@A+DPTRMOV P0,AMOV A,#08HMOV P2,AACALL DELAYMOV A,52HMOVC A,@A+DPTRANL A,#7FHMOV P0,AMOV A,#04HMOV P2,AACALL DELAYMOV A,51HMOVC A,@A+DPTRMOV P0,AMOV A,#02HMOV P2,AACALL DELAYMOV A,50HMOVC A,@A+DPTRMOV P0,AMOV A,#01HMOV P2,AACALL DELAYRETDELAY:MOV R6,#70HDJNZ R6,$RETTAB:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,9 0H,88H,83H,0C6H,0A1H,86H,8EHEND12。

STM32利用捕获功能完成脉冲宽度测量解析

STM32利用捕获功能完成脉冲宽度测量解析

STM32利用捕获功能完成脉冲宽度测量解析脉冲宽度测量是一种广泛应用于电子测量领域的技术。

在许多应用中,我们需要测量输入信号的高电平时间或低电平时间,以便确定信号的频率或周期。

STM32系列微控制器提供了内置的捕获功能,可以方便地实现脉冲宽度测量。

捕获功能是通过使用定时器(Timer)的输入捕获模式来实现的。

STM32微控制器提供了多个定时器模块,每个模块通常具有多个通道,可以用于捕获输入信号。

以下是使用STM32捕获功能进行脉冲宽度测量的基本步骤:1.配置定时器:选择一个合适的定时器模块,并根据应用需求进行配置。

配置包括选择定时器时钟源、设置定时器分频因子、配置定时器模式等。

通常,我们会将定时器设置为边沿对齐模式,以使捕获功能能够正常工作。

2.配置通道:选择一个定时器通道,并将其配置为输入捕获模式。

通常,我们会将通道配置为上升沿捕获触发,以便测量信号的高电平时间。

如果需要测量低电平时间,可以将通道配置为下降沿捕获触发。

3.启动定时器:将定时器启动以开始计时。

4.等待捕获事件:在捕获触发条件满足之前,使用延时函数或循环等待捕获事件发生。

捕获事件发生时,定时器停止,并将捕获到的计数值保存到相应的捕获寄存器中。

5.计算脉冲宽度:从捕获寄存器中读取起始计数值和结束计数值,并计算脉冲宽度。

脉冲宽度可以根据以下公式计算:脉冲宽度=(结束计数值-起始计数值)*定时器分辨率。

需要注意的是,定时器的分辨率取决于定时器的时钟源和分频因子。

通常情况下,定时器的分辨率越高,测量精度越高。

在使用STM32捕获功能进行脉冲宽度测量时,还需要考虑以下一些细节:-选择适当的定时器和通道,以满足应用需求。

-配置定时器和通道的触发方式和触发极性,以适应输入信号特性。

-在等待捕获事件时,可以使用中断或轮询方式。

-为了提高测量精度,可以使用外部时钟源或者提高定时器的分频因子。

-在计算脉冲宽度时,建议使用32位的计数器,以避免溢出问题。

单片机中的计数器与脉冲宽度测量

单片机中的计数器与脉冲宽度测量

单片机中的计数器与脉冲宽度测量计数器和脉冲宽度测量是单片机中常用的功能模块之一。

计数器可以用于对信号的计数和计时,而脉冲宽度测量可以用于测量信号的高电平或低电平脉冲宽度。

本文将介绍计数器的原理和应用,以及脉冲宽度测量的方法和技巧。

一、计数器的原理与应用计数器是一种用于计数和计时的电子器件,广泛应用于单片机系统中。

单片机中常用的计数器有定时器/计数器模块,可以通过编程来控制计数器的功能和工作方式。

计数器的原理是基于时钟信号进行计数。

时钟信号可以是外部信号源,也可以是内部时钟源。

计数器在每次接收到时钟信号时,根据设定的计数方式进行计数。

计数可以是递增也可以是递减,根据具体应用的需求进行选择。

计数器的应用非常广泛,常见的应用场景包括:1. 频率测量:通过计数器来测量信号的频率。

2. 周期测量:通过计数器来测量信号的周期。

3. 脉冲宽度测量:通过计数器来测量信号的高电平或低电平脉冲宽度。

4. 脉冲个数测量:通过计数器来测量信号的脉冲个数。

5. 定时器:通过计数器来实现精确的定时功能。

二、脉冲宽度测量的方法和技巧脉冲宽度测量是单片机中常用的应用之一,可以用于测量信号的高电平或低电平脉冲宽度。

下面介绍两种常用的脉冲宽度测量方法和技巧。

1. 利用捕获/比较模式:现代的单片机通常会配备捕获/比较模块,可以用于测量信号的脉冲宽度。

通过设置定时器的计数方式和捕获/比较模式,可以实现对信号脉冲宽度的测量。

2. 利用外部中断:单片机通常具有外部中断功能,可以用于检测外部信号的边沿触发。

通过设置外部中断的触发方式和中断服务程序,可以实现对信号脉冲宽度的测量。

中断服务程序可以在触发边沿时开始计时,直到下一个触发边沿时停止计时,得到信号的脉冲宽度。

脉冲宽度测量的技巧包括:1. 选择适当的计数精度:计数器的精度越高,脉冲宽度测量的准确性越高。

根据具体应用需求,选择适当的计数精度。

2. 注意信号的稳定性:脉冲宽度测量需要信号稳定,避免信号发生抖动或干扰。

脉冲星脉冲宽度的测量方法

脉冲星脉冲宽度的测量方法

和 Ma c etr 】 出了补丁模型 ,认 为脉冲轮廓 的各成分是 由散布 的补丁状辐射柬 引起 nh se[ 提
的.
2 1—8 2 收 到原 稿 , 2 1—0 1 0 00 —4 0 0 1— 1收到 修 改 稿
国 家 自然 科 学 基 金项 目 (0 2 0 1和 1 8 3 0 )资 助 18 16 03 03
tx j n a .cc u u @b oa .n
3 期
徐 钧 等 :脉 冲 星 脉 冲 宽 度 的 测 量方 法
ll 8
ห้องสมุดไป่ตู้
脉 冲宽度 是反 映轮廓 的一 个重 要测 量量 .如 果能 准确 定 出脉 冲宽度 ,进 而确 定脉 冲 星辐射 柬 的大 小,对于脉 冲 星辐射 机 制 的研 究 具有重要 意 义.表征 脉 冲轮廓 宽度 的方 法 通 常 有 :两 峰值 点 的 间距 p 最高 峰值 强度 5 % 处 的轮 廓宽 度 。和最 高峰 值 强度 , 0 1 % 处 的宽 度 o 0 【 』 这 3种宽 度测 量方 法都 可 以表 示脉 冲轮廓 特征 ,但 由它 们计算 . 出 的辐射 束半径 代表 不 同的范 围, 由此 得 出的辐 射 区域 范 围和 大小 都会 不 同.根 据现 在
星辐射 束 也 有人 做过 统计 研究 ,发 现 P。 P 。 最有 名的工 作是 Krme 等 _ _ c 。 。 . a r 1 统计 4
了脉 冲星在 1 Hz的 1 .G 4 0并计 算得到 的辐 射束 半径 P o 发 现 Po=5 。 U 毫秒 脉 1, 1 . P- . 4 冲星 的轮廓宽 度和 辐射 束数 值不太 符合 这个 规律 .
的脉 冲星 辐 射模 型 _j 冲应 该从 最后 开放 磁 力线 辐射 出来 .脉 冲宽度 应该是 整个 有脉 l脉 J

脉冲宽度的测量

脉冲宽度的测量

第一章绪论§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脉冲宽度测量的工作原理脉冲宽度的测量,实质上是时间的测量,其电路组成包括输入通道,时基电路、主控门电路、控制电路、计数与显示电路五大部分组成。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2020年脉冲宽度的测量精编版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)摘要:近年来随着科技的飞速发展,单片机的应用正在不断的走向深入,同时带动传统控制检测的更新。

在实时检测和自动控制的单片机应用系统中,单片机大都是作为一个核心器件来使用,仅单片机方面的知识是不够的,还应该根据具体硬件结构,以及对具体应用对象特点的软件结合,加以完善。

本系统采用单片机AT89C51为中心器件来设计,在现有的单片机仿真机系统上掌握软硬件设计与调试知识,正确进行元器件的测试与调试,并在计算机上编写程序,进行调试运行,实现设计要求。

一、课程设计的目的和意义(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)数码管数码管采用的是共阴极。

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 ;开放定时器中断和总中断和外部中断0 MOV 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位有效效值时取后四位显示小数点加在第一位MOV R0,#36H ;显示的是以ms为为单位的MOV A,#00HXCHD A,@R0 ;将36H中的低4位转换为非压缩BCD码存到30HMOV 30H,AMOV A,@R0SWAP AMOV 31H,A ;高4位转换为非压缩BCD码存到31HMOV A,#00HXCHD A,@R1 ;将35H中的低4位转换为非压缩BCD码存到32H MOV 32H,AMOV A,@R1 ;高4位转换为非压缩BCD码存到33HSWAP AADD A,#10 ;加小数点显示(如果显示us为单位可以不加小数点)MOV 33H,ARETCHOOSE:MOV R1,#34H ;当有5位有效值时取前四位显示小数点加在第二位MOV R0,#35H ;将35H中的低4位转换为非压缩BCD码存到31H MOV A,#00HXCHD A,@R0 ;高4位转换为非压缩BCD码存到32HMOV 31H,AMOV A,@R0SWAP AADD A,#0A ;加小数点显示(如果显示us为单位可以不加小数点)MOV 32H,AMOV A,#00H ;将34H中的低4位转换为非压缩BCD码存到33H XCHD A,@R1MOV 33H,AMOV A,@R1SWAP AANL 36H,#0F0HMOV A,36HSWAP 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 ;开放定时器中断和总中断和外部中断0 MOV 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,AADDC 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码存到30H MOV 30H,AMOV A,@R0SWAP AMOV 31H,A ;高4位转换为非压缩BCD码存到31HMOV A,#00HXCHD A,@R1 ;将35H中的低4位转换为非压缩BCD码存到32HMOV 32H,AMOV A,@R1 ;高4位转换为非压缩BCD码存到33HSWAP AADD A,#10; 加小数点显示(如果显示us为单位可以不加小数点)MOV 33H,ARETCHOOSE:MOV R1,#34H ;当有5位有效值时取前四位显示小数点加在第二位MOV A,#00HXCHD A,@R0MOV 31H,AMOV A,@R0SWAP AADD A,#10 ;加小数点显示MOV 32H,MOV A,#00HXCHD A,@R1MOV 33H,AMOV A,@R1SWAP AANL 36H,#0F0HMOV A,36HSWAP 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,0EFH END六、调试与分析6.1 调试(1)硬件调试:将信号源的输出脚接在示波器上,并加上正5伏电源上,观察波形,如果得到的波形不稳定,可将74LS00的4个与非门全部串联,并记录下对应的周期。

相关文档
最新文档