AT89S52单片机共有4个8位并行双向口
摘 要: 本系统利用单片机AT89S52采用程序设计方法产生锯齿波、正弦波、矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,能产1Hz—3kHz的波形。通过键盘来控制三种波形的类型选择、频率变化,并通过液晶屏1602显示其各自的类型以及数值,系统大致包括信号发生部分、数/模转换部分以及液晶显示部分三部分,其中尤其对数/模转换部分和波形产生和变化部分进行详细论述。 关键词:单片机AT89S52、DAC0832、液晶1602
方案如下:利用AT89S52单片机采用程序设计方法产生锯齿波、正弦波、
矩形波三种波形,再通过D/A转换器DAC0832将数字信号转换成模拟信号,滤波放大,最终由示波器显示出来,通过键盘来控制三种波形的类型选择、频率变化,最终输出显示其各自的类型以及数值。
1.1、设计要求
1)、利用单片机采用软件设计方法产生三种波形
2)、三种波形可通过键盘选择 3)、波形频率可调 4)、需显示波形的种类及频率1.1 课题的来源与技术背景 不论是在生产还是在科研与教学上,信号发生器都是电子工程师仿真实验的最佳工具。随着我国经济和科技的发展,对相应的测试仪器和测试手段也提出了更高的要求,信号发生器己成为测试仪器中至关重要的一类,因此开发信号发生器具有重大意义。传统的信号发生器采用专用芯片,成本高,控制方式不灵活。本设计充分利用单片机灵活的控制、丰富的外设处理能力,采用DDS技术,实现频率、幅值可调的函数波形的输出,同时可以根据需要方便地实现各种比较复杂的调频、调相和调幅功能,具有良好的实用性。
根据其频率发生方法又可分为谐振法和合成法两种。一般的传统发生器都是采用的谐振法,即用具有频率选择性的回路来产生正弦振荡,来获得所需频率,也可以根据频率合成技术来获得所需频率。
利用频率合成技术制成的合成波形发生器,通常被称为频率合成器或频率综合器。频率综合器是指利用频率合成技术合成的频率源,它常常是没有调制的,也没有足够宽的和足够准确的输出电平调节,其工作范围往往也不宽,最小频率间隔也比较大,一般做专用设备使用,或做某一个系统中的一个组成部分。
1.2 研究信号发生器的目的及意义 波形发生器是信号源的一种,主要给被
测电路提供所需要的己知信号(各种波形),然后用其它仪表测量感兴趣的参数。可见信号源在各种实验应用和试验测试处理中,它的应用非常广泛。它不是测量仪器,而是根据使用者的要求,作为激励源,仿真各种测试信号,提供给被测电路,以满足测量或各种实际需要。
目前我国己经开始研制波形发生器,并取得了可喜的成果。但总的来说,我国波形发生器还没有形成真正的产业。就目前国内的成熟产品来看,多为一些PC仪器插卡,独立的仪器和VXI系统的模块很少,并且我国目前在波形发生器的种类和性能都与国外同类产品存在较大的差距,因此加紧对这类产品的研制显得迫在眉睫。函数波形发生器发展很快近几年来,国际上波形发生器技术发展主要体现在以下几个方面:
(1)过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把波形数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如Visual Basic, Visual C等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。
(2)与VXI资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的VXI模块。由于VXI总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用VXI系统测量产生复杂的波形,VXI的系统资源提供了明显的优越性,但由于开发VXI模块的周期长,而且需要专门的VXI机箱的配套使用,使得波形发生器VXI模块仅限于航空、军事及国防等大型领域。在民用方面,VXI模块远远不如台式仪器更为方便。
(3)随着信息技术蓬勃发展,台式仪器在走了一段下坡路之后,又重新繁荣起来。不过现在新的台式仪器的形态,和几年前的己有很大的不同。这些新一代台式仪器具有多种特性,可以执行多种功能。而且外形尺寸与价格,都比过去的类似产品减少了一半。 1.3 主要研究内容
(1)理论基础分析。了解波形发生器的相关理论,包括几种常用波形,如正弦波、方波等,然后介绍了波形发生器的主要方案及原理。
(2)硬件系统设计。主要包括以下几个模块:串口电路;键盘、LED显示电
路;单片机系统;DAC芯片和放大电路设计。
(3)软件系统设计。主要有:系统总体流程设计;串口程序设计;单片机程序设计;键盘响应程序设计;LED显示程序设计;DAC控制程序设计。
(4)系统仿真调试。通过计算机进行模拟仿真调试。
2. 信号发生器的理论分析与设计方案
在测试与测量技术过程中,常用到已知波形的数字化生成,它在许多与测量有关的领域有着不可替代的作用。例如,数字化仿真,常被用于算法研究、模型研究、系统辨识或以蒙特卡罗法搜索模型与算法。
任意波形发生器出现以后,给人们提供的不仅是一个通用的基础技术平台,而是在人们面前打开了通往无限宽广空间的一扇门,使得人们对于信号波形的掌握与应用再也不必局限于简单的正弦波、方波等几种有限的波形了,它可以按照人们提供的测量序列产生出几乎任意形状的连续波形信号。常用波形介绍
?(c,c....c,t)12m函数波形的一般表达式可以表示为 y,下面来介绍几种常
用的函数波形[3]: 2.1.1 正弦函数
正弦信号与余弦信号,两者只是在相位上相差2π,可以统称为正弦信号。 其一般形式为 f (t)=Asin(ωt+θ ) (1)
式中,A 为振幅,ω 是角频率,θ 为初相位。上述三量是正弦信号的三要素。它的波形见图1。正弦信号是周期信号,其周期T 与频率f 及角频率ω 之间的
12?T??关系为:f? (2)
图1 正弦波形
在实际应用中经常遇到单边指数衰减的正弦信号,其波形如图2所示,表达
式为:
??t(t?0)?Aesintf(t)?? (3) t?0)?0(?
图2 指数衰减的正弦信号波形
2.1.2 方波波形函数
方波函数是一种常用的波形函数,其表达式为:
T(0?t?)??2t)??T f( (4) ???(?t?T)2方波的波形如图2-3所示:
图3 方波波形
2.2 设计方案 目前信号发生的主要实现方法由直接模拟法、直接数字法两种。
2.2.1 直接模拟法
图4 直接模拟法框图
这是传统函数发生器的简化基本结构,一般都是由自由振荡器产生原始波形,然后经过转换电路将原始波形转换成其他波形,在上图中三角波是由振荡器
产生的,方波是三角波通过比较器转变而成的,正弦波是三角波通过一个波形整形电路(正弦波整形器)演变而来的,所需要波形经过放大和衰减输出,显然这种方式产生的波形种类有限,每增加一种波形,都要增加相应的转换电路,整个电路变得很复杂,最重要的是要产生用户所需要的任意波形复杂的波形几乎不可能[5]。
2.2.2 直接数字法
直接数字法是采用直接数字合成(Direct Digital Synthesis)的方法实现信号产生。该技术具有频率转换速度快、频率分辨率高、易于控制的突出特点。直接数字合成技术近年来发展得很快,而要产生任意波形就必须采用直接数字很成技术。随着DDS技术的发展,出现了各种各样的直接数字合成的结构,但基本上可以发成两种:
(1)基于地址计数器的数字频率合成法; (2)基于相位累加器的数字频率合成法。
由于直接数字法在设计上的的优点,本课题设计采用的是基于地址计数器的直接数字合成法。
1.2方案设计与论证
1.2.1 信号发生电路方案论证
方案一:通过单片机控制D/A,输出三种波形。此方案输出的波形不够稳定,抗干扰能力弱,不易调节。但此方案电路简单、成本低。 方案二:使用传统的锁相频率合成方法。通过芯片IC145152,压控振荡器搭接的锁相环电路输出稳定性极好的正弦波,再利用过零比较器转换成方波,积分电路转换成三角波。此方案,电路复杂,干扰因素多,不易实现。 方案三:利用MAX038芯片组成的电路输出波形。MAX038是精密高频波形产生电路,能够产生准确的三角波、方波和正弦波三种周期性波形。但此方案成本高,程序复杂度高。以上三种方案综合考虑,选择方案一。1.2.2
单片机的选择论证
方案一:AT89S52单片机是一种高性能8位单片微型计算机。它把构成计算机的中央处理器CPU、存储器、寄存器、I/O接口制作在一块集成电路芯片中,从而构成较为完整的计算机、而且其价格便宜。 方案二:C8051F005单片机是完全集成的混合信号系统级芯片,具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容。除了具有标准8052的数字外设部件,片内还集成了