1、江苏城市职业学院 毕业设计(论文) (2012届) 设计(论文)题目 标 准 相 位 差 输 出 分 析 系 统 办 学 点 (系) 昆山办学点 专 业 计算机网络技术 班级 09普专 学号 090408350327 学生姓名 周小青 起讫日期 201
2、1年12月20日~ 2012年4月22日 地点 江苏城市职业学院昆山办学点 指导教师 徐辰 职称 讲师 年 月 日 江苏城市职业学院教务处制 摘要 本设计利用单片机的定时器/计数器定时和计数的原理,相位差输出装置,两个波形的赫兹都是50,在两波形相同的前提下,以一个波形为基础,另一个波形延迟1ms,3ms,5ms,7ms,赫兹相同而产生相位差。本实验中有一示波器,A,C波就是显示两波形的相位差的变化。实验中有四个开关按键,k
3、ey1~ key4按下去数码管分别显示1ms,3ms,5ms,7ms。 标准相位差输出装置设计——用STC89C52RC设计一个4位LED数码显示所按得的延迟时间。 关键词:相位差,单片机,示波器、定时器 Abstract The design of SCM timer / counter timing and counting principle, phase difference output device, a two waveform Hz is 50, in the two waveform of the same premise, to
4、a waveform as the foundation, another wave of delayed 1ms,3MS,5ms,7ms, Hz phase and phase difference. In this experiment a oscilloscope, A, C wave is revealed two waveform of the phase difference changes. Experiments with four switch keys, key1 ~ key4press down on the digital tube display 1ms,3MS,5m
5、s,7ms. Standard phase difference output device design -- design using STC89C52RC and a4 LED digital display according to delay time. Key words: SCM, phase difference, oscilloscope, timer 目录 摘要…………………………………………………………………………………… ABSTRACT……………………………………………………………………………… 第一章:绪论 1.
6、1课题研究的现状………………………………………………………………… 1.2课题研究相关概念………………………………………………………… 1.2.1相位和相位差的概念………………………………………………… 1.2.2单片机的含义与分类………………………………………………… 1.3课题研究的内容与意义……………………………………………………… 第二章:设计任务 2.1设计指标……………………………………………………………………… 2.2设计要求……………………………………………………………………… 2.3硬件图及设计说明…………………………………………………
7、………… 第三章:程序设计与说明 3.1程序设计………………………………………………………………………… 3.2软件说明………………………………………………………………………… 第四章:使用说明 4.1使用说明………………………………………………………………………… 4.2硬件调试………………………………………………………………………… 第五章:结束语 参考文献 1.1课题研究的现状 相位差测量技术的研究由来已久,最早的研究和应用是在数学的矢量分析和物理学的圆周运动以及振动学方面,随之在电气及电力方面也相应得到重视和发展。随着电子
8、技术和计算机技术的发展,相位差测量技术得到了迅速的发展,目前相位差测量技术已较完善,测量方法及理论也较成熟,相位差测量仪器已系列化和商品化。 现代相位测量技术的发展可分为三个阶段[1]:第一阶段是在早期采用的诸如李沙育法、阻抗法、和/差法、三电压法等,这些测量方法通常采用比对法和平衡法,虽然方法简单,但测量精度较低;第二阶段是利用数字专用电路、微处理器等来构成测试系统,使测量精度得以大大提高;第三阶段是充分利用计算机及智能化测量技术,从而大大简化设计程序,增强功能,使得相应的产品精度更高、功能更全。同时,各种新的算法、测量手段和新的设计方法及器件也随之出现 在相位测量技术方面,美
9、国一直处于领先地位,主要的研究机构及公司有NBS、HP、AD–YU公司及DRANETZ实验室,俄罗斯在此领域也具有较高的水平。商品化的通用相位计的水平为低频段达μHz数量级,甚高频可达100GHz,相位分辨率可达0.001°,相位测量范围为0~360°,–180°~180°,少数可达720°。在相位准确度方面,低频为±0.002°,高频为±0.2°,微波为±0.5°。 随着电子技术的迅速发展,国外从60年代后期开始设计和制造基于过零交叉检测原理的低频相位计,并开始用于工频相位的测量。在国内,60和70年代是相位测量研究的黄金时代,有众多的研究所、工厂及其它行业部门均进行了相位测量技术的研究并
10、取得了一定的成果,如国家计量科学院、国防科工委、电子部十、十四、十七研究所、天津无线电一厂、南京电讯仪器厂等单位,初步奠定了我国相位测量的基础,研制了一批专用、通用的相位计产品。1964年我国第一台相位测量仪器US2型交流相位差计问世,其极限误差为30'。1979年12月国家计量总局正式批准进行相位量值传递。从80年代开始,将微处理器广泛地用于各个技术领域,多种型号的电子相位计投入市场,取代了以往的相位计。 在70年代中期以后,由于资金、技术、管理、市场等因素的原因,国内相位测量技术的发展进入了低潮,研究相位测量的单位和技术人员越来越少。目前,国内生产商品化相位计的主要厂家仅有天津中环电子仪
11、器公司,相位计量机构是中国计量科学研究院和国防科工委。总的来说,我国的相位测量技术与国外有较大的差距,主要体现在产品种类较少,配套产品少;产品测试功能单一;仪器精度、数字化和自动化程度不高;相位计量标准不完备。 目前国外提出了改进测相位测量精确度的方法,包括有: (1)用专用数字处理芯片,利用正余弦表格及傅立叶变换方法来计算相位差,可大大提高测量精度。 (2)采用新器件及设计方法提高相位测量精度及展宽工作频率范围。 (3)采用新的算法来进行相位测试。 (4)采用高精度相位测量设备,通过相位输出信号,利用桥路与输入信号相位进行比较,从而测出相位差。 现代电子测量仪器与智能测量技术、
12、计算机技术紧紧结合在一起,每一次计算机技术和电子技术的革命都带来电子测量仪器的革命。因此,只有不断的采用新技术和新方法,才能使相位计的性能和精度得以不断的提高。 相位差的测量在研究网络特性中具有重要作用。设计一个测量快速、精确的相位差计已成为生产科研中重要课题。 1.2 课题相关概念 1.2.1 相位和相位差的概念 (1) 相位是信号的三种特性之一(另两种分别为频率、幅度),它说明谐波振荡在某一瞬时的状态。在数学上定义为正弦或余弦函数的幅角,其数学模型为: u(t)=E sin(ωt+ψ)
13、 (2-1) 式中ψ是初相角,ωt+ψ就是相位角,通常称为相位。 φ(t)=ωt+ψ (2-2) 由(2-2)式可以看出相位是时间t的线性函数。 令φ1(t)、φ2(t)表示角频率为ω1、ω2的两个简谐振荡的相位,则有: φ(t)=φ1(t)-φ2(t)=(ω1-ω2)t+(ψ1-ψ2)=ωt+(ψ1-ψ2) (2-3) 由(2-3)式可知相位差也是时间t的线性函数。 若ω1=ω2即两个同频信号,则有: φ(t)= φ1(t)- φ2(t)=ψ1-ψ2 (2-4)
14、显而易见,两个同频信号的相位差为常数,由其初相位角之差确定,即我们通常所说的静态相位差。 假设,我们选定一个信号为参考信号,认定它的初相角为零,譬如:ψ1=0 即: u1(t)=Esin(ωt) (2-5) u2(t)= Esin(ωt+ψ) (2-6) 由(2-5)式确定的信号叫做基准信号,(2-6)式确定的信号则称为被测信号。这时,相位差 φ=φ1-φ2=-ψ (2-7) 这里的负号表示φ1滞后φ2或φ2超前φ1。 这种“静态”相位差
15、在国防、科研和工业生产中是很有用的。例如:工频电压加在具有感性的负载上,则电压与电流的相位不同,具有差值,一个交变信号通过电路或滤波器都要产生相移,等等。 (2) 物理学中的相位差 两个频率相同的交流电相位的差叫做相位差,或者叫做相差。这两个频率相同的交流电,可以是两个交流电流,可以是两个交流电压,可以是两个交流电动势,也可以是这三种量中的任何两个。 例如研究加在电路上的交流电压和通过这个电路的交流电流的相位差。如果电路是纯电阻,那么交流电压和电流电流的相位差等于零。也就是说交流电压等于零的时候,交流电流也等于零,交流电压变到最大值的时候,交流电流也变到最大值。这种情况叫做同相位,或者
16、叫做同相。如果电路含有电感和电容,交流电压和交流电流的相位差一般是不等于零的,也就是说一般是不同相的,或者电压超前于电流,或者电流超前于电压。 加在晶体管放大器基极上的交流电压和从集电极输出的交流电压,这两者的相位差正好等于180°。这种情况叫做反相位,或者叫做反相。 1.2.2单片机的含义与分类 单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成一个小而完善的
17、计算机系统。 51系列单片机 51系列单片机最早有Intel公司推出,主要有8031系列,8051系列。后来Atmel公司以8051的内核为基础推出了AT89系列单片机。其中AT89C51 AT89C52 AT89S51 AT89S52 AT89S8252等单片机完全兼容8051系列单片机,所有的指令功能也是一样的。就是功能上做了一系列的扩展,比如说AT89S系列都支持ISP功能,AT89S52 AT89S8252增加了内部WDT功能,增加了一个定时器等功能。为了学习简单Atmel也推出了8051指令完全一样的AT89C2051 AT89C4051等单片机,这些单片机可
18、以看成精简型的8051单片机。比较适合初学者的需要。 AVR单片机 AVR单片机也是Atmel公司的产品,最早的就是AT90系列单片机,现在很多AT90单片机都转型给了Atmega系列和Attiny系列,AVR单片机最大的特点是精简指令型单片机,执行速度,据我所知是8位MCU中最快的一种单片机了(相同的振荡频率下)。学习AVR单片机当然可以直接就学,但是建议还是从51系列学起。 PIC单片机 PIC单片机是Microchip公司的产品,它也是一种精简指令型的单片机,指令数量比较少,中档的PIC系列仅仅有35条指令而已,低档的仅有33条指令。但是如果使用汇编语言编写PIC单片
19、机的程序有一个致命的弱点就是PIC中低档单片机里有一个翻页的概念,编写程序比较麻烦。但是我个人认为PIC还是一个不错的8位MCU. 1.3课题研究的内容与意义 本课题是实现对两列信号的相位差的精确测量并数字显示测量结果,通过认真调研国内外相位测量应用的现状和发展趋势,分析当前工业用的工频相位所采用的算法,为达到要求的精确度,本设计采用16位A/D对输出的直流电压进行,送入单片机进行相位显示,这样就使得相位差具有足够高的分辨率,完成任务要求,在单片机AT89C51实现以上功能的同时,利用单片机中的多位计数器、定时器对输入信号进行等精度频率的测量。相位测量作为一种重要的信号检测技术,已广泛
20、应用于电力、机械、航空航天、医疗、化工等领域,而其性能往往对应用的系统起着重要的作用。目前,国内相位计生产厂家或研究单位明显存在着技术老化问题,其采用的器件、方法和技术与发达国家相比有较大的差距。同时,随着国防和科技等发展又迫切需要高精度、高性能的相位计,本文以单片机为核心,16位A/D转换器测量相位差,用LED数码管显示测量结果,构成一个高精度、高性能的数字式相位计,满足当前社会的需求。 随着相位检测技术在各个领域的进一步深入,为满足工程测量的要求,系统分析相位计的原理和研究国外最新的相位测量方法,不断的将先进的计算机技术及新一代器件和新的设计方法应用于相位计中,具有长期而深远的意义。
21、针对现在很多领域需要高精度、高性能的相位计,本论文主要目的是从相位差的测量方法入手,在系统的分析、研究相位计的原理和当今最新相位检测的基础上,将先进的相位检测方法和新一代器件和新的设计方法等应用于相位计中,进一步提高相位测量的精度和速度,从而满足工程应用场合下的相位检测要求。 二、设计任务 2.1设计指标 了解AT89C51芯片的的工作原理和工作方式 ,使用该芯片对LED数码管和示波器进行显示控制,实现用单片机的端口控制数码管,显示要求的数字,并能用按实键使数码管上的数字进行停止、继续计数等功能,示波器上两波形的相位差的显示。 要求选用定时器的工作方式,画出使用单片机控制
22、LED数码管显示的电路图,并实现其硬件电路,并编程完成软件部分,最后调试数码管上的停止、继续计数等功能和示波器的显示相位差的值。 2.2设计要求 ① 画出电路原理图(或仿真电路图); ② 电路仿真与调试; 2.3硬件图及设计说明 将硬件连线按上图所示连接,P3.0,P3.1分别连接是A与C上的示波器,显示相同的50赫兹的相位差 P3.4,P3.5.P3.6,P3.7分别接按键1,2,3,4,显示延长的时间。P3.4管脚上的按键1,按一下数码管上显示1ms,示波器上的两波形就会产生相位差,波形一样,就会产生1ms的相位差。以此类推,分别按开关2,3,4时,示波器上就会产生3
23、 ms,5ms,7ms的相位差。
三、程序设计及设计说明
3.1程序设计:
#include
24、W1=P1^1; sbit W2=P1^2; sbit W3=P1^3; sbit P2_7=P2^7; sbit s1=P3^4; sbit s2=P3^5; sbit s3=P3^6; sbit s4=P3^7; unsigned int m=0; unsigned int n; unsigned int l; void delay (void) { unsigned long int i ; for (i=0;i<100;i++);//f=12MHZ,延时0.05S } void wei
25、xuan_ze(unsigned char data n ) { P0=0x00;//关闭段,防止闪烁 //P1_0=P1_1=P1_2=P1_3=1;//所有位关闭 W0=W1=W2=W3=1; switch(n) { case 0: W0=0;break;//开千位 case 1: W1=0;break;//开百位 case 2: W2=0;break;//开十位 case 3: W3=0;//开个位 } } void main() { TMOD
26、0X11; TL0=0xe0; TH0=0xb1; ET0=1; //开启定时器0中断 TR0=1; //启动定时器 TF1=0; //T1清0 TL1=0xe0; TH1=0xb1; ET1=1; //开启定时器1中断 TR1=1; //启动定时器 EA=1; //开启总中断 /*EA=1; ET0=1; TR0=1; TMOD=0x01; P2_7=1; P3=0xff;*/ for(i=0;
27、i<4;i++) dispbuffer[i]=0; while(1) { for(i=0;i<4;i++) { wei_xuan_ze(i);//位驱动 P0=table[dispbuffer[i]];//段驱动 delay();//延时 } if(s1==0) { n=(65536-1000)/256; l=(65536-1000)%256; for (i=0;i<4;i++) { dispbuffer[0]=0;
28、 dispbuffer[1]=0; dispbuffer[2]=0; dispbuffer[3]=1; } } if(s2==0) { n=(65536-3000)/256; l=(65536-3000)%256; for (i=0;i<4;i++) { dispbuffer[0]=0; dispbuffer[1]=0; dispbuffer[2]=0;
29、 dispbuffer[3]=3; } } if(s3==0) { n=(65536-5000)/256; l=(65536-5000)%256; for (i=0;i<4;i++) { dispbuffer[0]=0; dispbuffer[1]=0; dispbuffer[2]=0; dispbuffer[3]=5; } } if(s4==0) { n=(65536
30、7000)/256; l=(65536-7000)%256; for (i=0;i<4;i++) { dispbuffer[0]=0; dispbuffer[1]=0; dispbuffer[2]=0; dispbuffer[3]=7; } } } } void timer0(void) interrupt 1 { TL0=0xe0; TH0=0xb1; P3_0=~P3_0; TL1=l; TH1=n;
31、 TR1=1; //开启中断 } void timer1(void) interrupt 3 { P3_1=~P3_1; TR1=0; //关闭中断 } 3.2软件说明: P3_0管脚,P3_1管脚,接的是示波器A,C两个矩形方波,输出两个波形都是50赫兹。显示区,放需要显示的数据每个数据的范围0-9。P3^4管脚~ P3^7管脚分别接的是按键1~4,通过公式计算出延长的时间,按键后数码管依次显示1ms,3ms,5ms,7ms,开启中断1时波形为50HZ,打开定时器,延长所计算的时间,在中断3时按开关观察C 波形与A波形的将产生相位差,然
32、后再关闭定时器,循环 … 四、使用说明 1. 使用说明 通过编写程序,实现数码管与波形图的统一,使用按钮开关,在已确定两个波形为50hz的基础上,实现两个波形之间的相位差,两个波形之间的延迟时间分别为1ms,3ms,5ms,7ms,以公式(65536-x)*1us=1000us, (65536-x)*1us=3000us, (65536-x)*1us=5000us, (65536-x)*1us=7000us,可以求得。 将编好的C语言程序用Keil软件加载进来,然后进行一些设置,调试无误后,用仿真原理图进行仿真。打开仿真原理图要加载程序的.hex文件,然后开始运行程序,当启
33、动开始时,按开关1,2,3,4,显示1ms,3ms,5ms,7ms的时间,示波器上的波形会显示相位差。 2. 硬件调试 通过软件对程序的编译,组建,执行,和最终生成.hex文件,把.hex下载到TX-1C开发板的STC89C52RC单片机上,进行download下载,然后再进行MCU上电复位,则会在开发板上显示,同样进行调试,按开关K1,K2,K3,K4键,在数码管分别显示1,3,5,7. 五、结束语 首先要感谢徐辰老师给了我一个发挥自己的机会,发现自己的不足。 通过对相位差原理的分析和程序设计、仿真,实现了一个高精度、宽频率范围的相位差。该测量方法的最大优点是系统电路简单,
34、占用的逻辑资源少,大大提高了被测信号的频率范围及测量精度,具有一定的应用价值。 通过学习单片机,学会使用AT89C51,粗浅的接触编程,在老师的协助下,对本门学科加深了理解,提高了动手能力,交流能力,合作能力,更能查补以往缺漏,学习能力提高了很多,从初接触本门学科时的迷茫,到现在对单片机学科有一定的了解,每一步走来,都很不容易,一度的真想放弃学习此门课程。 老师考虑到实际情况,改变教学模式,让我们在课堂上既学习的理论知识又将理论与实际联系起来,很大程度上调动了我们学习的积极性。 汇编语言与C 语言相结合,使得本身学的不精的内容在脑中混搭成了糨糊,从编程自主学习这几周以来 ,虽然每一周
35、进步幅度较小,但总归给了我些许动力,虽然现在知识面较浅,但看着编写出的程序逐渐成功,大大地调动学习积极性,让我深刻体会到一分耕耘,一分收获的意义,希望通过学习此门课程,更通过老师的教学方法,帮助我们在以后的人生路上越走越宽。 参考文献: [1] 徐江海. 单片机实用教程[M]. 机械工业出版社,2007. [2] 任旭虎,梁 锴,宋玉章. 低频数字式移相信号发生器的设计[J]. 仪表技术与传感器,2004. [3] 唐丽丽,何 刚,文小森. 基于89C51的信号发生器设计与实现[J]. 仪表技术与传感器,2007. [4] 吴振宇等. 正弦信号发生器的设计与制作[J]. 应用电
36、子制作,2007. [5] 汤忠庆. 一种正弦波信号发生器的设计[J]. 电子工程师,2006. [6] 周航慈,饶运涛. 单片机程序设计基础[M]. 北京航空航天大学出版社,2002. [7] 国家计量检定规程汇编[M]. 温度手册 国家计量局,2000. [8] 谢筑森,张 辉,陈粤初. 单片机开发与典型应用设计[M]. 中国科学技术大学出版社,1997. [9] 张良杰,林 盛. PLM程序设计技巧与实例荟萃[M]. 科学出版社,1996. [10] 张立勋,王立权,杨勇.机械电子学[M]. 哈尔滨工程大学出版社,2003. [11] 郭 庆,杨海玲,陈尚松. 双路相位
37、差可调信号发生器的设计[J]. 电子测量与技术,2007,4 [12] 刘 峰. 任意频谱信号发生器的硬件设计[J]. 燕山大学硕士论文,2005,12 [13] 王秀霞. 高精度相位计的研究与设计[J]. 燕山大学硕士论文,2004,3 [14] 陶益凡. 基于DDS的信号发生器的研制[J]. 南京信息工程大学硕士论文,2006,5 [15] 王新柳. 基于DSP的任意波形发生器的设计[J]. 电子科技大学硕士论文,2007,5 [16] 樊 炜. 虚拟任意波信号发生器研究[J]. 浙江大学硕士论文,2003,2 [17] 湛洪然. 一种相位信号发生器的设计方法[J]. 安庆师范学院学报,2006,2






