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

下载本文档

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

文档简介

课程设计说明书 no. 161. 课程设计的目的(1) 综合了模拟电子线路、数字电子技术和微机原理等多门专业基础课程的知识,是使学生对以计算机为核心的通信、测量或控制系统有个全面了解和实践的过程;(2)需要综合应用各种微机接口和其他单元电路构成小规模 “ 原理 ” 型的微机应用系统,体现了既强化本学科内容,又扩展知识面的特点;(3) 让学生体验分析问题、提出解决方案、通过编程等手段实现解决方案、不断调试最终达到设计要求的全过程;(4) 培养学生的创造力和对专业的适应性;2. 设计方案论证2.1 设计方案的选择在进行系统设计之前,必须先熟悉被控制对象的生产过程和工艺要求,对控制对象的工作过程进行深入的调查,根据实际应用中的问题提出具体的控制要求,以确定系统所要完成的任务;然后提出不同的总体方案进行比较论证,确定出系统的总体方案。在确定系统的总体方案时,对系统的硬件和软件功能应进行综合性考虑,因为系统的一个控制功能一般是既可以用硬件来完成,也可以由软件来完成,究竟采用什么方式,则要根据系统的实时性及硬件系统的性能价格比综合平衡后加以确定。一般情况下,用硬件来完成速度快,可节约cpu的大量时间,但这会使系统非常复杂,而且价格会高一些;用软甲实现价格便宜,但要占用cpu较多的时间。所以一般的原则是在cpu时间允许的情况下,尽量采用软件,如果控制回路较多或者有些软件设计比较困难,则可考虑用硬件来完成,总之,一个控制系统哪一部分用硬件来实现,哪一部分用软件来实现,要结合具体情况进行比较后再确定。2.2 设计任务以微机为主控制器扩展适当的接口电路,制作一个波形发生器,通过示波器观察所得的信号波形。要求设计制作出硬件电路。2.3 设计思路波形发生器的波形的产生是通过8086执行某一波形发生程序,向d/a转换器的输入端按一定的规律发生数据,从而在d/a转换电路的输出端得到相应的电压波形。在8086接8255的某一接口接5个按扭,通过软件编程来选择各种波形、幅值电压和频率,另有3个接口管脚接芯片,以驱动数码管显示电压幅值和频率,每种波形对应一个按钮。此方案的有点是电路原理比较简单,实现起来比较容易。缺点是,采样频率由单片机内部产生故使整个系统的频率降低。 (1)波形发生器技术指标 波形:锯齿波、脉冲波、正弦波、三角波、直流信号5种波形;(2)操作设计上电后,系统初始化,数码显示8个,等待输入设置命令;按钮分别控制“幅值”、“频率”、“ 锯齿波”、“ 脉冲波”、“ 正弦波”、“ 三角波”、“ 直流信号”。2.4 所用器件简介图1 存储器ram存储器ram:ram(随机存取存储器)ram -random access memory 随机存储器。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。 按照存储信息的不同,随机存储器又分为静态随机存储器(static ram,sram)和动态随机存储器(dynamic ram,dram)。图2 中央处理器cpu 中央处理器cpu: cpu是中央处理单元(central processing unit)的缩写,它可以被简称做微处理器(microprocessor),不过经常被人们直接称为处理器(processor)。cpu是计算机的核心,其重要性好比大脑对于人一样,因为它负责处理、运算计算机内部的所有数据,而主板芯片组则更像是心脏,它控制着数据的交换。cpu的种类决定了操作系统和相应的软件。cpu主要由运算器、控制器、寄存器组和内部总线等构成,是pc的核心,再配上储存器、输入/输出接口和系统总线组成为完整的pc(个人电脑)。图3 译码器译码器:译码器是组合逻辑电路的一个重要的器件,其可以分为:变量译码和显示译码两类。 变量译码一般是一种较少输入变为较多输出的器件,一般分为2n译码和8421bcd码译码两类。 显示译码主要解决二进制数显示成对应的十、或十六进制数的转换功能,一般其可分为驱动led和驱动lcd两类。图4数模转换器数模转换器:又称d/a转换器,简称dac,它是把数字量转变成模拟的器件。d/a转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。2.5 相关说明结合dac和adc转换,用键盘输入来控制dac0832的输出波形,如按1输出锯齿波,按2输出脉冲波,按3输出正弦波,按4输出三角波,按5输出直流信号,按6结束。实验中用示波器测量vout1的输出波形。3. 设计结果与分析3.1 原理图图5 原理图3.2原理框图图6原理框图3.3流程图图7 流程图3.4程序清单源程序如下:d/a转换子模块波形输出 syad2.asmdacs equ 290hpublic maindata segment public datamess4 db 0dh,0ah,0dh,0ah db * submain menu * ,0dh,00ahdb press 1 for sawtooth wave,0dh,0ahdb press 2 for pulse wave,0dh,0ahdb press 3 for sin wave,0dh,0ahdb press 4 for triangle wave,0dh,0ahdb press 5 for direct signal,0dh,0ah db press 6 to end,0dh,0ah,0dh,0ah,$mess5 db 0dh,0ahdb please select again.,0dh,0ah,$mess6 db 0dh,0ahdb press any key to end,0dh,0ah,0dh,0ah,$sinbuf1 db 080h,08ch,098h,0a5h,0b0h,0bch,0c7h,0d1hdb 0dah,0e2h,0eah,0f0h,0f6h,0fah,0fdh,0ffhdb 0ffh,0fdh,0fah,0f6h,0f0h,0eah,0e2h,0dahdb 0d1h,0c7h,0bch,0b0h,0a5h,098h,08ch,080hdb 7fh, 73h, 67h, 5ah, 4fh, 43h, 38h, 2ehdb 25h, 1dh, 15h, 0fh, 09h, 05h, 02h, 00hdb 00h, 02h, 05h, 09h, 0fh, 15h, 1dh, 25hdb 2eh, 38h, 43h, 4fh, 5ah, 67h, 73h, 7fhsinbuf2 db 128d,135d,141d,148d,155d,161d,167d,174d,180d,186ddb 192d,198d,203d,209d,214d,219d,223d,227d,231d,235ddb 239d,242d,245d,248d,250d,252d,253d,254d,255ddb 255d,254d,253d,252d,250d,248d,245d,242d,239ddb 235d,231d,227d,223d,219d,214d,209d,203d,198d,192ddb 186d,180d,174d,167d,161d,155d,148d,141d,135d,128ddb 121d,115d,108d,101d, 95d, 89d, 82d, 76d, 70ddb 64d, 58d, 53d, 47d, 42d, 37d, 33d, 29d, 25d, 21ddb 17d, 14d, 11d, 08d, 06d, 04d, 03d, 02d, 01d, 00ddb 17d, 14d, 11d, 08d, 06d, 04d, 03d, 02d, 01d, 00ddb 21d, 25d, 29d, 33d, 37d, 42d, 47d, 53d, 58d, 64ddb 70d, 76d, 82d, 89d, 95d,101d,108d,115d,121ddb 127d,126d,125d,124d,122d,120d,117d,114d,111ddb 107d,103d, 99d, 95d, 91d, 86d, 81d, 75d, 70d, 64ddb 58d, 52d, 46d, 39d, 33d, 27d, 20d, 13d, 07d, 00ddb 00d, 07d, 13d, 20d, 27d, 33d, 39d, 46d, 52d, 58ddb 64d, 70d, 75d, 81d, 86d, 91d, 95d, 99d,104d,107ddb 111d,114d,117d,120d,122d,124d,125d,126d,127ddata endsstac segment para stack stacksta db 100 dup(?)top equ length stastac endscode segmentassume cs:code,ds:data,ss:stac,es:datamain proc farstart: mov ax,datamov ds,axbg: lea dx,mess4mov ah,09hint 21hmov ah,08hint 21h push ax lea dx,mess6mov ah,09hint 21hpop axmov ah,alcmp al,1 jz b1 mov al,ahcmp al,2jz b2 mov al,ahcmp al,3jz b3 mov al,ahcmp al,4 jz b4mov al,ah cmp al,5 jnz wx jmp donewx: lea dx,mess5mov ah,09hint 21hjmp bgb1: call jcb jmp bgb2: call mcb b3: call zxb jmp bgb2: call mcb b3: call zxb jmp bgb3: call zxb jmp bgb4: call sjbjmp bgb5: call zlxhjmp bg done: retmain endpjcb proc;锯齿波型发生程序 mov al,00hbbb: mov dx,dacs mov cx,0200hbb: out dx,alinc dxout dx,aldec dxadd al,01hcmp al,00hjnz bbloop bb mov bx,ax mov dl,0ffhmov ah,06hint 21h jnz retn1mov ax,bx jmp bbbretn1: retjcb endpmcb proc;脉冲波型发生程序 mov al,00heee: mov dx,dacs mov cx,0200hee: out dx,alinc dxout dx,aldec dx add al,01h cmp al,0ffh jne eeff: out dx,alinc dxout dx,aldec dxsub al,01hcmp al,00hjne ffloop ee mov bx,ax mov dl,0ffhmov ah,06hint 21h jnz retn2 mov ax,bxjmp eeeretn2: retmcb endpzxb proc;正弦波发生程序mov dx,dacshhh: mov cx,50hhh: lea si,sinbuf2mov bl,116ii: mov al,siout dx,alinc dxout dx,aldec dxinc sidec bljnz kkloop jjpush axpush dxmov dl,0ffhmov ah,06hint 21hpop dx pop ax jnz bg3jmp jjjbg3: retzxb endpsjb proc;三角波型发生程序 mov al,00hjjj: mov dx,dacsmov cx,0200hjj: out dx,alinc dxout dx,aldec dxadd al,01hcmp al,0ffhjne eekk: out dx,alinc dxout dx,aldec dxsub al,01hcmp al,00hjne ffloop eemov bx,ax mov dl,0ffhmov ah,06hint 21h jnz retn2 mov ax,bxjmp eeeretn4: retsjb endpzlxh proc ;直流信号发生程序 mov ax,0000hll: mov dx,dacs out dx,alinc dxout dx,aldec dxadd ah,01hcmp ah,00hjne hhmov al,0ffhmm: out dx,alinc dxout dx,aldec dxadd ah,01hcmp ah,00jne ii mov bx,axmov dl,0ffhmov ah,06hint 21h jnz retn3 mov ax,bxmov al,00hjmp hhretn5: retzlxh endpcode ends end4. 设计体会4.1 对设计的体会以前在上课的时候,老师经常强调在写一个程序的时候,一定要事先把程序原理方框图化出来,但是我开始总觉得这样做没必要,很浪费时间。但是,这次课程设计完全改变了我以前的那种错误的认识,以前我接触的那些程序都是很短、很基础的,但是在课程设计中碰到的那些需要很多代码才能完成的任务,画程序方框图是很有必要的。因为通过程序方框图,在做设计的过程中,我们每一步要做什么,每一步要完成什么任务都有一个很清楚的思路,而且在程序测试的过程中也有利于查错。其次,以前对于编程工具的使用还处于一知半解的状态上,但是经过一段上机的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在赵老师的辛勤指导下,终于游逆而解。同时,在赵老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!4.2 心得体会从本次课程设计中使我获益匪浅,首先使我对微机原理及应用这门课程有了更深的体会,通过对波形发生器的设计使我将以前所学的理论知识运用

温馨提示

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

评论

0/150

提交评论