西安交通大学电子系统实践与设计报告
差。
a.量化误差--?1误差
在测频时,主门的开启时间与计数脉冲之间的时间关系是不相关的,即它们在时间轴上的相对位置是随机的。这样,即使是在相同的主门开启时间T(先假定标准时间相对误差为零)内,计数器所计得的数却不一定相同。
第一种情况进入8个脉冲,而第二种情况却只进入7个脉冲7个脉冲,即引起可能多一个或少一个的?1误差,这是频率量化时带来的误差,故称量化误差。
图14 ?1误差示意图
b.闸门时间误差(标准时间误差)
如果闸门时间不准,造成主门启闭时间或长或短,显然要产生测频误差。闸门信号是由晶振信号所得。设晶振频率为fc(周期为TC)分频系数为m,所以有
T?mTC?m1 fc由误差合成定理对上式微分得:
df?fdT?T??c 即为:??c TfcTfc闸门时间的相对误差在数值上等于晶振频率的相对误差。通常对标准频率准确度
?fc的要求是根据所要求的测频准确度提出来的。方案一中的晶振频率为单fc片机的晶振频率。 综上所述
计数器直接测频的误差主要有两项,即?1误差和标准频率误差。一般总误差可采用分项误差绝对值合成,即
西安交通大学电子系统实践与设计报告
?fx?f1??(?C) fxfxTfc由此式可知,在fx一定时,闸门时间T选得越长,测量准确度越高。而当T选定后,fx越小,标准频率误差
?fc将对测量结果产生影响,并以?fcfc为极限。 fc测量低频时,由于?1误差产生的测频误差大得惊人。例如,fx?10Hz,T?1s时,则由?1误差引起的测频误差可达10%,所以低频时不宜采用直接测频方法。 另一方面,虽然闸门时间T越长,则测量准确度越高,但事实上为了保证测频的实时性,我们不可能将闸门时间取得太长,所以一般通过闸门时间来调整测频精度范围不大。
(2)方案二的误差分析:
设在一次预置门时间T中对被测信号计数值为Nx,对标准信号的计数值
Ns为则下式成立:
ffX?S NXNS推得: fX?fS?NX NS相对误差公式为: ???(?NsNS??fSfS)
从误差公式中可以看出,其测量频率精度和NS与标准频率精确度有关,而与被测频率无关。显然,NS决定于预置门时间和标准频率信号的频率,其关系如下
NS?T?fS
如果采用频率为50MHz的晶体振荡器,忽略标准高频的误差,则有:
??1N
S若预置门时间为T=0.1s,则:
NS=0.1?50000000=5000000,??0.2?10?6
可见,在整个测量范围内,要达到题目所要求的精度是完全可行的。
西安交通大学电子系统实践与设计报告
3、系统参数确定
(1)测频范围:2Hz-60KHz (2)测频精度: (3)测频数据表:
八、实验小结(问题处理、包括展望与不足与感想)·
1、实验遇到的问题及处理
(1)刚开始的时候,只是在编程序然后编译通过就行,忽略了调试,到后面开始调试的时候才发现程序根本运行不下去,最让人难受的是再三检查感觉逻辑没问题,可结果不出来。调试程序花的时间都差不多比编第一个测频程序的时间长,最后没办法只能从头重写,一步步的在实验室编译调试。尽管老师当时强调了程序不要一次编写太长,但最开始的时候还是没注意到这个问题,直到自己遇到了才会发现问题的严重性。
(2) 参考文献
[1] 王建校 杨建国 宁改娣 危建国 51系列单片机及C51程序设计 北京:科学出版社 2002.1
[2]王建校 张虹 金印彬 电子系统设计与实践实验指导书 西安交通大学电气工程学院电工电子教学实验中心
西安交通大学电子系统实践与设计报告
附:源程序
#include
#include
#define lcddat XBYTE[0xFFFF]//lcd数据寄存器 #define maxdat0 XBYTE[0x1FFF]//ns0-7 #define maxdat1 XBYTE[0x3FFF]//ns8-15
#define maxdat2 XBYTE[0x5FF]// ns16-23
#define maxdat3 XBYTE[0x7FFF]//ns 24-31
#define maxdat4 XBYTE[0x9FFF]//nx 0-7
#define maxdat5 XBYTE[0xBFFF]//nx 8-15
bit fuwei; //LCD显示口 sbit cs1=P1^5;
sbit cs2=P1^5; //low sbit RW=P1^6; sbit cr=P1^7; sbit gate=P3^3; //按键查询口 sbit key0=P1^0; sbit key1=P1^1; sbit key2=P1^2; sbit key3=P1^3;
sbit key4=P1^4;
unsigned char working; unsigned int timecount=0; unsigned int count_1s=1; unsigned int ws; unsigned char nsdat0,nsdat1,nsdat2,nsdat3,nxdat0,nxdat1;
unsigned long nx,ns,fx,pxwide,T;
/*~~~~~~~~~~~~~~~~ 数据段~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ unsigned char code number0[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 0
宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午10:16:57
------------------------------------------------------------------------------*/
0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00 };
unsigned char code number1[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 1
宽×高(像素): 8×16
西安交通大学电子系统实践与设计报告
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:17:43
------------------------------------------------------------------------------*/
0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00 };
unsigned char code number2[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 2
宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:18:02
------------------------------------------------------------------------------*/
0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00 };
unsigned char code number3[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 3
宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:18:21
------------------------------------------------------------------------------*/
0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00 };
unsigned char code number4[]= { /*------------------------------------------------------------------------------ 源文件 / 文字 : 4 宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:18:48
------------------------------------------------------------------------------*/
0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00 };
unsigned char code number5[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 5
宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:19:19
------------------------------------------------------------------------------*/
0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00 };
unsigned char code number6[]= {
/*------------------------------------------------------------------------------ 源文件 / 文字 : 6
宽×高(像素): 8×16
字模格式/大小 : 单色点阵液晶字模,纵向取模,字节倒序/16字节 数据转换日期 : 2008-5-1 上午 10:19:30
------------------------------------------------------------------------------*/
0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x