微机原理课程设计-- 波形发生器_第1页
微机原理课程设计-- 波形发生器_第2页
微机原理课程设计-- 波形发生器_第3页
微机原理课程设计-- 波形发生器_第4页
微机原理课程设计-- 波形发生器_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告课程名称: 微机原理课程设计 课 题: 波形发生器 专业班级: 计算机系10101班 学 号: 201017010118 姓 名: 刘 瑶 指导老师: 周慧灿 日 期: 2013年6 月28 日 教师评语:成绩评定: 指导教师(签名): 目 录一、课程设计的目的及意义11.设计目的12.设计意义1二、方案论证11.设计要求12.方案论证1三、硬件电路设计21.波形产生电路22.按键控制电路43.地址译码电路7四、程序设计81.波形发生原理82.程序流程图9五、硬件连接及调试91.硬件连接92.电路调试9六、源程序代码及原理图101.电路原理图112.程序源码11七、体会与心得:1

2、5八、参考书目15一、课程设计的目的及意义1.设计目的(1) 掌握计算机应用系统特别是微机接口系统的设计。(2) 掌握接口电路设计技术,初步掌握电子设计软件protel99使用。(3) 掌握微机接口程序的编制与调试技术。(4) 掌握dac0832芯片的使用方法。(5) 利用所学微机的理论知识进行软硬件整体设计,提高综合应用能力。2.设计意义波形发生器作为一种常用的信号源,是现代测试领域内应用最为广泛的通用仪器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都需要有信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上,用其他仪器观察、测量被测仪器的输出响应,以分

3、析确定它们的性能参数。信号发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种波形信号,如正弦波,三角波,方波等,因而广泛用于通信、雷达、导航、宇航等领域。此次课程设计旨在将理论知识与实际应用结合起来中,通过本次实验掌握微机接口电路的设计和调试方法。2、 方案论证1.设计要求利用桌面计算机和aedk实验系统进行接口电路设计并编写程序制作一个波形发生器。使用数模转换器dac0832构成波形发生器,可以产生方波、三角波、正锯齿波和反锯齿波等多种波形,波形的周期可调。要求了解不同波形的产生原理和设计方案,画出硬件电路图,并编程完成软件部分,最后调试观察产生不同类型的波形信号。具体要

4、求如下:(1) 设计硬件电路。标示引脚编号、元器件参数。 (2) 完成硬件电路的搭建。(3) 编制相应接口程序。与硬件一并调试成功。(4) 写好课程设计论文。(5) 完成任务书的其它内容2.方案论证(1)波形发生器的实现方法方案一:用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试。方案二:可以由晶体管、运放ic等通用器件制作,更多的则是用专门的函数信号发生器ic产生。早期的函数信号发生器ic,如l8038、ba205、xr2207/2209等,它们的功能较少,精度不高,频率上限只有300khz,无法产生更高频率的信号,调节方式也不够灵活,频率和占空比不能独立调

5、节,二者互相影响。方案三:利用专用直接数字合成芯片的函数发生器:能产生任意波形并达到很高的频率。但成本较高。方案四:使用d/a转换器如dac0832,通过程序控制能产生各种波形,且周期、振幅的大小容易调整。方案四整体性能和指标优于其他几种方案,价格也低廉,所以本设计采用方案四。(2)按键控制电路方案一:使用独立按键,电路实现较简单。每个i/o口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的i/o数目较多。方案二:采用阵列式键盘。此类键盘是采用行列扫描方式,优点是当按键较多时可以降低占用的i/o口数目,但是在程序实现上比独立按键麻烦。由于本次设计不需要用到太多按

6、键,故采用方案一。三、硬件电路设计1.波形产生电路该波形发生电路使用dac0832作为波形发生器件,通过程序控制使得dac0832输出不同幅值的电压从而得到所需的波形。由于dac0832的输出为电流,属于电流型芯片,需外接运算放大器才能得到模拟电压输出,所以本电路使用lm324运算放大器来完成电流向电压的转换。(1)波形产生部分电路图图1 波形产生部分电路图(2)主要芯片介绍1) d/a转换器dac0832dac0832是采样频率为八位的d/a转换器件,采用cmos工艺和r-2rt形电阻解码网络,转换结果为一对差动电流iout1和iout2输出。其引脚分布如下图所示:图2 dac0832引脚分

7、布图dac0832引脚功能说明:di0di7:数据输入线,tll电平。ile:数据锁存允许控制信号输入线,高电平有效。cs:片选信号输入线,低电平有效。wr1:为输入寄存器的写选通信号。xfer:数据传送控制信号输入线,低电平有效。wr2:为dac寄存器写选通输入线。iout1:电流输出线。当输入全为1时iout1最大。iout2: 电流输出线。其值与iout1之和为一常数。rfb:反馈信号输入线,芯片内部有反馈电阻.vcc:电源输入线 (+5v+15v)vref:基准电压输入线 (-10v+10v)agnd:模拟地,摸拟信号和基准电源的参考地.dgnd:数字地,两种地线在基准电源处共地比较好

8、.dac0832内部结构资料:芯片内有两级输入寄存器,使dac0832具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路d/a异步输入、同步转换等)。d/a转换结果采用电流形式输出。要是需要相应的模拟信号,可通过一个高输入阻抗的线性运算放大器实现这个供功能。运放的反馈电阻可通过rfb端引用片内固有电阻,还可以外接。其内部结构如下图所示:图3 dac0832内部结构图2)lm324运算放大器lm324系列器件为价格便宜的带有真差动输入的四运算放大器。与单电源应用场合的标准运算放大器相比,它们有一些显著优点。该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为m

9、c1741的静态电流的五分之一。lm324的引脚排列如下图:图4 lm324引脚图lm324主要参数如下:放大器数目:4带宽:1.2mhz工作温度范围:0c to +70c3db带宽增益乘积:1.2mhz变化斜率:0.5v/s电源电压 最大:32v电源电压 最小:3v2.按键控制电路本次设计中使用可编程并行i/o接口芯片8255与拨码开关实现按键控制。8255工作在简单的输入/输出方式,8255的pa口作为输入口与拨码开关相连。微机通过读取8255pa口的状态判断拨码开关的状态,然后执行相应的程序产生对应波形。(1)按键控制电路原理图图5 按键控制电路原理图(2)主要芯片介绍1)8255可编程

10、并行i/o接口芯片8255是intel公司生产的可编程并行i/o接口芯片,有3个8位并行i/o口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。其引脚分布图如下:图6 8255引脚分布图8255引脚功能说明:reset:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有i/o口均被置成输入方式。cs:芯片选择信号线,当这个输入引脚为低电平时,即/cs=0时,表示芯片被选中,允许8255与cpu进行通讯;/cs=1时,8255无法与cpu做数据传输.rd:读信号线,当这个输入引脚为低电平时,即/rd=0且/cs=0时,允许8255通过数据总线向cpu发

11、送数据或状态信息,即cpu从8255读取信息或数据。wr:写入信号,当这个输入引脚为低电平时,即/wr=0且/cs=0时,允许cpu将数据或控制字写入8255。d0d7:三态双向数据总线,8255与cpu数据传送的通道,当cpu 执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。a1,a0:地址选择线,用来选择8255的pa口,pb口,pc口和控制寄存器.当a1=0,a0=0时,pa口被选择;当a1=0,a0=1时,pb口被选择;当a1=1,a0=0时,pc口被选择;当a1=1.a0=1时,控制寄存器被选择.8255具有3个相互独立的输入/输出通道端口,用

12、+5v单电源供电,能在一下三种方式下工作:方式0(基本输入/输出方式):这种工作方式不需要任何选通信号。a口,b口及c口的两个4位口中任何一个端口都可以由程序设定为输入或者输出。作为输出口时,输出数据被锁存:作为输入口,输入数据不锁存。方式1( 选通输入/输出方式):在这种工作方式下,a,b,c三个口分为两组。a组包括a口和c口的高四位,a口可由编程设定为输入口或者输出口,c口的高四位则是用来作为a口输入/输出操作的控制和同步信号:b组包括b口和c口的低四位,b口可由编程设定为输入口或者输出口,c口的低四位则是用来作为b口输入/输出操作的控制和同步信号。a口和b口的输入或者输出的数据都被锁存。

13、方式2( 双向传送方式)在这种方式下,a口可以用于双向传送,c口的pc3pc74用来作为输入/输出的控制同步信号。应该注意的是,只有a口允许用作双向传送,这时b口和pc0pc2则可编程为方式0或者方式1工作。8255编程控制字格式图7 8255控制字格式3.地址译码电路本电路模块为138译码电路,提供的i/o空间地址为20023f。(1)电路原理图图8 译码电路原理图(2)主要芯片资料1)74ls13874ls138 为3 线8 线译码器,其引脚分布图如下图所示:图9 74ls138引脚分布图该译码器真值表如下表所示:输入输出e1 e2# e3#a2 a1 a0y0#y1#y2#y3#y4#y

14、5#y6#y7#lhhhhhhhhhlll lllllhlll llllllll lhhhhll hhllhhlhlhlhlhhhhlhhhhhhhhhhhlhhhhhhhhhhhlhhhhhhhhhhhlhhhhhhhhhhhlhhhhhhhhhhhlhhhhhhhhhhhlhhhhhhhhhhhl表1 74ls138译码器真值表四、程序设计1.波形发生原理连续的波形都可以分解为若干个离散的数据点。要实现各种波形的输出,可周期性地定时输出一些随时间迁移而有规律变化的数据,这些数据的变化规律与要求的输出波形相一致,通过d/a转换就可以得到需要的输出波形。输出波形的曲线光滑程度取决于每个周期中数

15、据点的多少,或者说数据点间时间间隔的长短。数据点越多,时间隔越短,输出的曲线将越光滑。1)方波:首先赋给al 00h,然后执行out指令输出,然后延时一段,再赋给al 0ffh,执行out指令输出,同样延时一段时间,这一直循环下去,就可以得到方波。2)正锯齿波:首先赋给al 00h,然后执行out指令输出,在执行inc自动增1,直到al是否加满,未满则继续,已满,就可以继续判断是否有键按下,这样一直循环下去,就可得到连续的正锯齿波。3)反锯齿波:首先赋给al 0ffh,然后执行out指令输出,在执行dec自动减1,直到al为0,又赋给al 0ffh,这样一直循环下去,就可得到连续的反锯齿波。4

16、)三角波:首先赋给al 00h,然后执行out指令输出,再执行inc自动增1,直到al是否加满,未满则继续,已满,al置全“1”,然后输出数据减1,然后判断al是否减到“0”,不为0则继续。这样一直循环下去,就可得到连续的三角波。2.程序流程图图10 程序流程图五、硬件连接及调试1.硬件连接本次课程设计是基于aedk实验系统进行的接口电路设计。硬件连接要求如下:1)dac0832 cs#接译码电路的输出端y3(218h-21fh)2)8255 cs#接译码电路的输出端y0(200h-207h)3)dac0832的vout接单色led4)8255的pa0pa4接拨码开关2.电路调试1)调试方法由

17、于没有示波器,调试时可延长波形输出时各采样点之间的延时,从而加长波形的周期。这样便能通过观察单色led的亮暗变化查看波形输出是否符合要求2)预期效果按要求连接好电路后,接通电源,此时输出为低电平。拨下相应开关,将产生相应的波形。若拨下了二分频按钮,则输出波形的周期为原来的两倍。通过单色led即可观察。3)波形图正锯齿波方波三角波图11 波形图3)调试结果结果和预期效果一样,能达到设计要求。六、源程序代码以及原理图1.电路原理图2.程序源码;宏定义 addr_8255 equ 200h ;8255地址 addr_0832 equ 208h ;adc0832地址 cw_8255 equ 90h ;

18、8255控制字 fangbo_ equ 0eh zjuchi_ equ 0dh fjuchi_ equ 0bh sanjiao_ equ 07h;代码段 code segment assume cs:code start: mov dx,addr_8255+3 ;初始化8255工作方式 mov al,cw_8255 ;方式0,a口输入、b口输出 keyscan: mov dx,addr_8255 ;读取拨码开关状态 in al,dx and al,1fh ;只读取5个开关状态 mov bl,0 ;清除2分频标志位 mov cl,al ;检测是否2分频 and cl,10h cmp cl,10h

19、 jz div2 goon: cmp al,fangbo_ jz fangbo cmp al,zjuchi_ jz zjuchi cmp al,fjuchi_ jz fjuchi cmp al,sanjiao_ jz sanjiao mov dx,addr_0832 ;无按键时输出0 mov al,0 out dx,al jmp keyscan ;没检测到开关则继续检测 div2: mov bl,1 jmp goon fangbo: call fangbowave ;跳转到相信波形程序 jmp keyscan zjuchi: call zjuchiwave jmp keyscan fjuchi

20、: call fjuchiwave jmp keyscan sanjiao: call sanjiaow jmp keyscan fangbowave: mov dx,addr_0832 ;方波 mov al,0 out dx,al mov cx,0ffffh loop $ cmp bl,0 jz t1 mov cx,0ffffh loop $ t1: not al out dx,al mov cx,0ffffh loop $ cmp bl,0 jz t2 mov cx,0ffffh loop $ t2: ret zjuchiwave: mov dx,addr_0832 ;正锯齿波 mov a

21、l,0 loop1: out dx,al mov cx,00fffh loop $ cmp bl,0 jz t3 call delay1 t3: inc al cmp al,0ffh jnz loop1 out dx,al ret fjuchiwave: mov dx,addr_0832 ;反锯齿波 mov al,0ffh loop2: out dx,al mov cx,00fffh loop $ cmp bl,0 jz t4 call delay1 t4: dec al jnz loop2 out dx,al ret sanjiaow: mov dx,addr_0832 ;三角波 mov al,0 up: out dx,al mov cx,00fffh loop $ cmp bl,0 jz t5 call delay

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论