c语言定点数加减法实验报告,毕业设计数字频率计实验报告

《【毕业设计】数字频率计实验报告.doc》由会员分享,可免费在线阅读全文,更多与《【毕业设计】数字频率计实验报告》相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜索。

1、向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平ms来完成。在芯片擦操作中,代码阵列全被写“”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,ATC设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存=stat_reg+;latch_statlt=latch_stat;endendelseif(flag==)begin档位不够latch_statlt=latch_stat;if(stat_reg==)begin当前在最低档stat_reglt=;档位保持endelsebeginstat_reglt=stat_reg;向下调档endendelsebeginlatch_clklt=;计数有效,锁存endendendelseif(count==)beginT脉冲flaglt=;latch_clklt=;countlt=;reset_reglt=;endendalways@(negedgeclr)beginstatlt=stat_reg;T下降沿打入STATendendmodule另外,由STAT决定小数点位置的电路POINT也应该在控制器中,系统图上将其单独画了出来,具体实现见附图右下角。五、误差分析及改进经过下载测试,实际的测量误差在~档时,误差在~数量级,在~档时,误差相对大一些,。

2、这种方法只设一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。这样无论采用何种方式,只要完成一次测量即可,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。二器件简介主控制器ATSATC简介ATC是一种带K字节闪烁可编程可擦除只读存储器(FPEROMFlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS位微处理器,俗称单片机。ATC是一种带K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS指令集和输出管脚相兼容。由于将多功能位CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC是一种高效微控制器,ATC是它的一种精简版本。ATC单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示主要特性:与MCS兼容K字节可编程闪烁存储器寿命:写擦循环数据保留时间:年全静态工作:HzMHz三级程序存储器锁定位内部RAM可编程IO线两个位定时器计数器个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:VCC:供电电压。GND:接地。P口:P口为一个位漏级开路双向IO口,每脚可吸收TTL门电流。当P口的管脚第一次写时,被定义为高阻输入。P能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P口作为原码输入口,当FIASH进行校验时,P输出原码,此时P外部必须被拉高。P口:P口是一个内部提供上拉电阻的位双向IO口,P口缓冲器能接收输出TTL门电流。P口管脚写入后,被内部上拉为高,可用作输入,P口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P口作为第八位地址接收。P口:P口为一个内部上拉电阻的位双向IO口,P口缓冲器可接收,输出个TTL门电流,当P口被写“”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P口。

3、后,运行控制位TR清,停止计数。位定时计数器的最高计数值为,这样在待测信号的频率较低时,定时计数器将发生溢出。当产生定时计数器将溢出,程序进入定时器中断服务程序,中断服务程序对溢出次数进行计数。待测信号的周期由个字节组成:定时计数器溢出次数、定时计数器的高位和低位。信号的频率f与信号的周期T之间的关系为:f=T完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,这里采用浮点数算术运算。浮点数用个字节组成,第一字节最高位为数符,其余位为阶码;第二字节为尾数的高字节;第三字节为尾数的低字节。待测信号周期的个字节定点数首先通过截取高位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。浮点数到BCD码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。无论从哪一种方式进入显示模块,完成显示后,频率计都开始下一次信号的频率测量。()系统软件框图系统软件设计采用模块化设计方法。整个系统由初始化模块、显示模块和信号频率测量模块等各种功能模块组成(见图)。上电后,进入系统初始化模块,系统件开始运行。在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、量程自动切换、周期测量和测量结果显示。图系统软件流程图()浮点数学运算程序系列单片机属于微控制器,由于其CPU字长和指令功能的限制,它适用于控制领域,在信号处理方面不很擅长。在本频率计中需要完成周期到频率的换算,为保证测量结果的准确,这里应用了浮点数数学运算。从周期到频率的换算过程包括:字节定点数到浮点数的转换、浮点数数学运算和浮点数到BCD码的转换。由于通过多次的转换,整个换算过程精度还不是很高,通过实测,精度大约为千分之二左右。()实测结果和误差分析为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了试验。以南京电讯仪器厂制造的EB型通用计数器为基准,用这次设计的频率计对信号源进行了测量,测量数据如表所示。表频率测量对比表如图信号予处理电路所示,待测信号在进入单片机之前经过了次分频。频率计以进入单片机时的信号频率等于。

4、Hz为基准,既待测信号频率等于KHz为基准,大于此频率采用频率测量,小于此频率采用周期测量。由表频率测量对比表可以看出,频率测量的测量精度大于周期测量的测量精度。采用计数法实现频率测量,误差来源主要有计数误差和闸门误差两部分。误差表达式为dff=|dNN|+|dtt|这里N为计数值,t为闸门时间。闸门时间相对误差dtt主要取决于晶振的频率稳定度,选择合适的石英晶体和振荡电路,误差一般可小于。当仅显示位有效数字时,该项误差可以忽略。对于dNN部分,无论闸门时间长短,计数法测频总存在个单位的量化误差。在表中,待测信号频率大于KHz时的误差就来源于计数误差。增加显示的有效数字位数可降低该项误差的影响。当待测信号频率小于KHz时,直接测量的是信号的周期。周期测量的误差表达式为:dTT=|dNN|+|dττ|这里dNN为量化误差,dττ为晶振的频率稳定度。在进行周期测量时进入单片机的信号频率小于Hz,使用MHz时钟这时的最小计数值为。当仅显示位有效数字时,该项误差现在也可以忽略。待测信号的周期测量值通过浮点数数学运算变换成频率值,这时的误差来源于浮点数数学运算和数制之间的转换所带来的误差。四参考文献[]周航慈著单片机应用程序设计技术[M]北京:北京航空航天大学出版社,[]李华等编著MCS系列单片机实用接口技术[M]北京:北京航空航天大学出版社,[]侯伯亨李伯成CPLD原理及接口技术西安电子科技大学出版社[]夏路易等电路原理图与电路板设计北京希望电子出版社[]马忠梅C语言应用程序设计北京航空航天大学出版社[]张志良CPLD原理与控制技术机械工业出版社附件:程序清单*一个机器周期采样值为,下一个机器周期采样为,则计数器加外部事件的最高计数频率为晶振的,故最高计数为M;**目前状态下只是显示到HZ的频率*includeincludedefineuintunsignedintdefineucharunsignedchardefineulongunsignedlongdefineSEGXBYTE[xfcec]defineSEGXBYTE[xfced]defineSEGXBYTE[xfcee]defineSEGXBY。

5、当用于外部程序存储器或位地址外部数据存储器进行存取时,P口输出地址的高八位。在给出地址“”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P口输出其特殊功能寄存器的内容。P口在FLASH编程和校验时接收高八位地址信号和控制信号。P口:P口管脚是个带内部上拉电阻的双向IO口,可接收输出个TTL门电流。当P口写入“”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P口将输出电流(ILL)这是由于上拉的缘故。P口也可作为ATC的一些特殊功能口,如下表所示:口管脚备选功能PRXD(串行输入口)PTXD(串行输出口)PINT(外部中断)PINT(外部中断)PT(记时器外部输入)PT(记时器外部输入)PWR(外部数据存储器写选通)PRD(外部数据存储器读选通)P口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALEPROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFREH地址上置。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次PSEN有效。但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。EAVPP:当EA保持低电平时,则在此期间外部程序存储器(HFFFFH),不管是否有内部程序存储器。注意加密方式时,EA将内部锁定为RESET;当EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加V编程电源(VPP)。XTAL:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL:来自反向振荡器的输出。振荡器特性:XTAL和XTAL分别为。

6、。

7、这种方法只设一种量程,测量结果通过浮点数运算模块将信号周期转换成对应的频率值,再将结果送去显示。这样无论采用何种方式,只要完成一次测量即可,频率计自动开始下一个测量循环,因此该频率计具有连续测量的功能,同时实现量程的自动转换。二器件简介主控制器ATSATC简介ATC是一种带K字节闪烁可编程可擦除只读存储器(FPEROMFlashProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS位微处理器,俗称单片机。ATC是一种带K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS指令集和输出管脚相兼容。由于将多功能位CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC是一种高效微控制器,ATC是它的一种精简版本。ATC单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及引脚排列如图所示主要特性:与MCS兼容K字节可编程闪烁存储器寿命:写擦循环数据保留时间:年全静态工作:HzMHz三级程序存储器锁定位内部RAM可编程IO线两个位定时器计数器个中断源可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路管脚说明:VCC:供电电压。GND:接地。P口:P口为一个位漏级开路双向IO口,每脚可吸收TTL门电流。当P口的管脚第一次写时,被定义为高阻输入。P能够用于外部程序数据存储器,它可以被定义为数据地址的第八位。在FIASH编程时,P口作为原码输入口,当FIASH进行校验时,P输出原码,此时P外部必须被拉高。P口:P口是一个内部提供上拉电阻的位双向IO口,P口缓冲器能接收输出TTL门电流。P口管脚写入后,被内部上拉为高,可用作输入,P口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P口作为第八位地址接收。P口:P口为一个内部上拉电阻的位双向IO口,P口缓冲器可接收,输出个TTL门电流,当P口被写“”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P口。

8、向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平ms来完成。在芯片擦操作中,代码阵列全被写“”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,ATC设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存=stat_reg+;latch_statlt=latch_stat;endendelseif(flag==)begin档位不够latch_statlt=latch_stat;if(stat_reg==)begin当前在最低档stat_reglt=;档位保持endelsebeginstat_reglt=stat_reg;向下调档endendelsebeginlatch_clklt=;计数有效,锁存endendendelseif(count==)beginT脉冲flaglt=;latch_clklt=;countlt=;reset_reglt=;endendalways@(negedgeclr)beginstatlt=stat_reg;T下降沿打入STATendendmodule另外,由STAT决定小数点位置的电路POINT也应该在控制器中,系统图上将其单独画了出来,具体实现见附图右下角。五、误差分析及改进经过下载测试,实际的测量误差在~档时,误差在~数量级,在~档时,误差相对大一些,。

9、后,运行控制位TR清,停止计数。位定时计数器的最高计数值为,这样在待测信号的频率较低时,定时计数器将发生溢出。当产生定时计数器将溢出,程序进入定时器中断服务程序,中断服务程序对溢出次数进行计数。待测信号的周期由个字节组成:定时计数器溢出次数、定时计数器的高位和低位。信号的频率f与信号的周期T之间的关系为:f=T完成信号的周期测量后,需要做一次倒数运算才能获得信号的频率。为提高运算精度,这里采用浮点数算术运算。浮点数用个字节组成,第一字节最高位为数符,其余位为阶码;第二字节为尾数的高字节;第三字节为尾数的低字节。待测信号周期的个字节定点数首先通过截取高位、设置数符和计算阶码转换为上述格式的浮点数。然后浮点数算术运算对其进行处理,获得用浮点数格式表达的信号频率值。浮点数到BCD码转换模块把用浮点数格式表达的信号频率值变换成本频率计的显示格式,送到显示模块显示待测信号的频率值。无论从哪一种方式进入显示模块,完成显示后,频率计都开始下一次信号的频率测量。()系统软件框图系统软件设计采用模块化设计方法。整个系统由初始化模块、显示模块和信号频率测量模块等各种功能模块组成(见图)。上电后,进入系统初始化模块,系统件开始运行。在执行过程中,根据运行流程分别调用各个功能模块完成频率测量、量程自动切换、周期测量和测量结果显示。图系统软件流程图()浮点数学运算程序系列单片机属于微控制器,由于其CPU字长和指令功能的限制,它适用于控制领域,在信号处理方面不很擅长。在本频率计中需要完成周期到频率的换算,为保证测量结果的准确,这里应用了浮点数数学运算。从周期到频率的换算过程包括:字节定点数到浮点数的转换、浮点数数学运算和浮点数到BCD码的转换。由于通过多次的转换,整个换算过程精度还不是很高,通过实测,精度大约为千分之二左右。()实测结果和误差分析为了衡量这次设计的频率计的工作情况和测量精度,我们对系统进行了试验。以南京电讯仪器厂制造的EB型通用计数器为基准,用这次设计的频率计对信号源进行了测量,测量数据如表所示。表频率测量对比表如图信号予处理电路所示,待测信号在进入单片机之前经过了次分频。频率计以进入单片机时的信号频率等于。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值