微机原理课设 波形发生器.doc_第1页
微机原理课设 波形发生器.doc_第2页
微机原理课设 波形发生器.doc_第3页
微机原理课设 波形发生器.doc_第4页
微机原理课设 波形发生器.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录1 设计目的.11.1 课程设计目的.11.2 课程设计任务及要求.12 设计方案论证.22.1 DAC0832(D/A 转换器).32.2 255(可编程并行接口芯片).32.3 件的外部连线.42.4 程序.62.5 程序段流程.73 序设计结果与分析.103.1 本的波形选择和波形发生.103.2 实现波形选择和频率可调(三级可调关键程序段).184. 课程设计体会.235. 参考文献.23课程设计说明书 NO.11 设计的目的1.1 课程设计目的 微型计算机原理与接口技术是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086 微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求学生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086 微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。微机应用系统设计与综合实验课程是自动化专业本科生必修的一门技术基础课程。通过该课程的学习,可以使学生对微机系统有一个全面的了解,掌握常规的芯片使用方法、掌握简单的微型计算机应用系统软硬件的设计方法。课程中要求学生根据课程设计指导书来选择课题,并且独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路板图,编写程序以及程序流程图。针对数字信号发生器及其控制这一课题,主要涉及到硬件的连接(主要用到芯片有:8088CPU、DAC0832、8255 等)以及硬件连接原理图,程序的编写(主要涉及到显示波形以及通过开关来对波形进行选择)以及各个子程序或程序段的程序流程等,具体详见各个小节。通过课程设计不仅可以锻炼学生在微机应用方面的实际工作能力,将所学转化为所用,更是一个锻炼解决实际问题能力的很好机会。1.2 课程设计任务及要求1.2.1简述我们知道当我们用计算机来构成数据采集或者是过程控制等系统时,所要采集的外部信号或被控制对象的参数,往往是温度,压力,流量,声音和位移等连续变化的模拟量。但是,计算机只能处理不连续的数字量,即离散的有限值。因此,必须用模数转换器即A/D 转换器将模拟信号变成数字量后才能送入计算机进沈 阳 大 学 课程设计说明书 NO.2行处理。而计算机处理后的结果也必须通过数模转换器即D/A 转换器转换成模拟量后,在示波器上显示结果波形和在记录仪上描述下来,或者是驱动执行部件,才能达到控制目的。可见模数或数模转换在构成一个控制系统中起着非常重要的作用。我们这里通过设计这个数字信号发生器,可以使我们加深对该转换过程的认识和理解,有利于以后的学习及设计一个控制系统。针对这个课程设计题目,主要是通过外部设备来进行选择控制,比如说可用开关来选择波形和调节波的频率等,因而在设计中可以用到借口芯片8255 来完成该功能,通过开关的切换来改变8255 的输入,从而对数字信号发生器进行控制。具体说来,我们可以选用一定数目的开关来选波形,另外选一定的波形来改变波的频率,在使用时,可以用四个开关来选波形(可8255接PB0 至PB3 端口),用另外四个开关来调节频率(可接8255 的PB4 至PB7 端口)。用于实验箱上只有四个可用的开关,只能分别用两个,可分别完成四次选波和频率的三级可调。1.2.2内容及要求以8086CPU 为核心,拓展相应的接口单元,要求产生正弦波、三角波、方波等,并且各种波形可以选择,可在虚拟仪器上实现。主要的接口芯片是0832转换器(D/A)。实验条件:TD-ACC 教学设备及所需的接口芯片。设计要求:1) 画出数字信号发生器系统的原理图,并分析工作原理及过程。2) 编写系统的控制总线程序及程序的流程图。3) 设计PCB 电路版图。4) 获取实验结果。2 计方案论证课程设计应用的是TD-ACC 试验箱,以8086CPU 为核心,涉及到DAC0832和沈 阳 大 学 课程设计说明书 NO.38255以其他的硬件设备。下面对谈谈对各个所需硬件的认识以及在课程设计中各硬件在使用时所需要的外部接线。2.1 DAC0832(D/A转换器)D/A0832 是8 位并行输出电流型D/A转换器,其主要参数:转换时间1us,满量程误差土1LSB,参考电压10V+10V,供电电压+5V+15V,输入逻辑电平与TTL 兼容。TD-ACC 教学系统中的D/A0832。起输入数字量的8 位数据线以及读线和片选已通过扁平电缆接至8088 控制计算机总线上。D/A0832 引脚图及逻辑结构图如下所示:图1 D/A0832 引脚图及逻辑结构图2.2 8255(可编程并行接口芯片)8255 可编程并行接口芯片有三个输入输出端口,即A 口、B 口和C 口,对应于引脚PA7PA0、PB7PB0 和PC7PC0。其内部还有一个控制寄存器,即控制口。通常A 口、B 口作为输入输出的数据端口。C 口作为控制或状态信息的端沈 阳 大 学 课程设计说明书 NO.4口,它在方式字的控制下,可以分成4 位的端口,每个端口包含一个4 位锁存器。它们分别与端口AB 配合使用,可以用作控制信号输出或作为状态信号输入。8255 可编程并行接口芯片工作方式说明:方式0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式1:选通输入输出方式。这时A 口或B 口的8 位外设线用作输入或输出,C口的4 条线中三条用作数据传输的联络信号和中断请求信号。方式2 :双向总线方式。只有A 口具备双向总线方式,8 位外设线用作输入或输出,此时C 口的5 条线用作通讯联络信号和中断请求信号。8255 可编程并行接口芯片方式控制字格式说明:8255 有两种控制命令字;一个是方式选择控制字;另一个是C 口按位置位复位控制字。在实验设备上可用的只有B 口可用,因而在8255 初始化写入的方式选择控制字是82H(10000010B), 此时定义B 口输入,工作在方式0 状态。2.3 硬件的外部连线1).最小模式:8088CPU 可以工作在两种工作模式,即最小模式和最大模式,其中最小模式用于单机系统,系统中所需要的控制信号全部由8088 直接提供。在最小系统中,除了8088CPU、存储器、以及I/O 接口芯片外,还包括:一片8284A,作为时钟频率;三片8282/8283 或74LS373,作为地址锁存器;二片8286/8287 或74LS245,作为双向数据总线收发器。8088CPU 工作在最小模式下,各模块如图:沈 阳 大 学 课程设计说明书 NO.5图2 8088CPU最小模式下各模块图2).外部接线在设计中,由于要利用开关来控制波的频率和波形,因而需要I/O 接口芯片8255 将开关的状态读入到8255 的B 口,从而写入到寄存器中。具体的外部接线图如下:沈 阳 大 学 课程设计说明书 NO.6图3 外部接线图2.4主程序沈 阳 大 学 课程设计说明书 NO.7主程序主要是将开关的信号读入到8255 的B 口的低四位,通过读取开关的状态,与设定的数值进行比较,若两数值相等时则转入到相应的程序段,分别产生三角波、梯形波、正弦波、锯齿波以及方波。图4 主程序图2.5子程序段流程沈 阳 大 学 课程设计说明书 NO.81).梯形波:图5 梯形波流程图2).锯齿波:图6 锯齿波流程图沈 阳 大 学 课程设计说明书 NO.93).三角波:图7 三角波流程图4).方波:图8 方波流程图沈 阳 大 学 课程设计说明书 NO.105).正弦波:图9 正弦波流程图3 序设计结果与分析3.1基本的波形选择和波形发生IOY0 EQU 00H ;片选IOY0 对应的端口始地址CT8255 EQU 63H ;8255 的控制寄存器地址B8255 EQU 61H ;8255 的b 口地址DA0832 EQU IOY0+00H*4 ;DA0832 的端口地址DATA SEGMENTTAB DB 80H,83H,86H,89H,8DH,90H,93H,96HDB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEHDB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5HDB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8HDB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9HDB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H沈 阳 大 学 课程设计说明书 NO.11DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDHDB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFHDB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDHDB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6HDB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAHDB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAHDB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7HDB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1HDB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99HDB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80HDB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69HDB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51HDB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AHDB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27HDB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16HDB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AHDB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02HDB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00HDB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02HDB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09HDB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15HDB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25HDB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38HDB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EHDB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66HDB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HDATA ENDS沈 阳 大 学 课程设计说明书 NO.12SSTACK SEGMENT PARA STACK STACKDB 256 DUP(?)CODE SEGMENTASSUME CS:CODE,DS:DATA,SS:SSTACK,ES:DATASTART: MOV AX,DATAMOV DS,AXMOV AL,82H ;初始化8255,B 口输入,工作在方式0OUT CT8255,ALBG:IN AL,B8255CMP AL,01H ;显示锯齿波JZ JCBBCMP AL,02H ;显示三角波JZ SJBBCMP AL,03H ;显示方波JZ FBBCMP AL,04H ;显示正弦波JZ ZXBBCMP AL,05H ;显示梯形波JZ TXBBCMP AL,0FHJZ QITJMP BGJCBB: JMP JC0 ;转至锯齿波子程序SJBB: JMP SJ0 ;转至三角波子程序FBB: JMP F0 ;转至方波子程序沈 阳 大 学 课程设计说明书 NO.13ZXBB: JMP ZX0 ;转至正弦波子程序TXBB: JMP TX0 ;转至梯形波子程序QIT: JMP EXIT ;转至调用DOS 子程序,推出程序JC0 PROC FARSCB: MOV AL,0FFH ;锯齿波AGAIN1: INC ALMOV DX,DA0832OUT DX,ALCALL DELAYPUSH AXMOV DX,B8255IN AL,DX ;再次读入开关信号,进行比较CMP AL,01HJNZ BGPOP AXJMP AGAIN1RETJC0 ENDPSJ0 PROC FARSJB: MOV AL,00H ;三角波UP: MOV DX,DA0832 ;启动D/A 转换上升OUT DX,ALCALL DELAYINC ALCMP AL,7FHJNZ UP沈 阳 大 学 课程设计说明书 NO.14MOV DX,B8255 ; 再次读入开关信号,进行比较IN AL,DXCMP AL,02HJNZ BGDEC ALDOWN: MOV DX,DA0832 ;启动D/A 转换下降OUT DX,ALCALL DELAYDEC ALCMP AL,00HJNZ DOWNMOV DX,B8255 ;再次读入开关信号,进行比较IN AL,DXCMP AL,02HJNZ BGJMP SJBSJ0 ENDPF0 PROC FARFB: MOV AL,00H ;方波FB1: MOV DX,DA0832 ;写00H,输出低电平OUT DX,ALPUSH CXMOV CX,00FFH ;低电平延迟L: CALL DELAYLOOP LPOP CXPUSH CX沈 阳 大 学 课程设计说明书 NO.15MOV CX,00FFHMOV AL,0FFHMOV DX,DA0832OUT DX,ALL1: CALL DELAY ;高电平延迟LOOP L1POP CXMOV DX,B8255 ;再次读入开关信号,进行比较IN AL,DXCMP AL,03HJNZ BG1JMP FBBG1: JMP BGF0 ENDPZX0 PROC FAR ;正弦波ZXB: LEA BX,TABMOV CX,0001HZX2: MOV AL,BX ;将TAB 中的数字一次赋给AL,再输出正弦波INC BXINC CXMOV DX,DA0832OUT DX,ALCALL DELAYPUSH AXMOV DX,B8255 ;再次读入开关信号,进行比较IN AL,DX沈 阳 大 学 课程设计说明书 NO.16CMP AL,04HJNZ BG2POP AXCMP CX,256JNE ZX2JMP ZXBBG2: JMP BGZX0 ENDPTX0 PROC FAR ;梯形波LOOP1: MOV CX,0100HMOV AL,00HLL0: MOV DX,DA0832 ;低电平段OUT DX,ALCALL DELAYDEC CXJNZ LL0LL1: INC AL ;上升段MOV DX,DA0832OUT DX,ALCALL DELAYCMP AL,7FHJNE LL1MOV CX,0100HLL2: OUT 00H,AL ;高电平段CALL DELAYDEC CX沈 阳 大 学 课程设计说明书 NO.17JNZ LL2LL3: DEC AL ;下降段MOV DX,DA0832OUT DX,ALCALL DELAYCMP AL,00HJNZ LL3MOV DX,B8255 ;再次读入开关信号,进行比较IN AL,DXCMP AL,05HJNZ BG3JMP LOOP1BG3: JMP BGTX0 ENDPEXIT: MOV AH,4CH ;调用DOS,推出INT 21HDELAY PROC NEAR ;延迟程序PUSH CXMOV CX,0090HDEL1: PUSH AXPOP AXLOOP DEL1POP CXRETDELAY ENDPCODE ENDSEND START沈 阳 大 学 课程设计说明书 NO.183.2可实现波形选择和频率可调(三级可调)关键程序段START: MOV AX,DATAMOV DS,AXMOV AL,82H ;初始化8255,B 口输入,工作在方式0OUT CT8255,ALBG:IN AL,B8255MOV BL,AL ;将AL 保存到BLAND AL,03H ;取AL 的低二位做波形选择CMP AL,01H ;显示梯形波JZ TXBBCMP AL,02H ;显示三角波JZ SJBBCMP AL,03H ;显示方波JZ FBBCMP AL,0FHJZ QITJMP BGSJBB: JMP SJ0FBB: JMP F0TXBB: JMP TX0QIT: JMP EXITSJ0 PROC FARSJB: MOV AL,00H ;三角波UP: MOV DX,DA0832 ;启动D/A 转换上升OUT DX,AL沈 阳 大 学 课程设计说明书 NO.19CALL DELAYINC ALCMP AL,7FHJNZ UPMOV DX,B8255 ;再次读入开关信号IN AL,DXMOV BL,ALAND AL,03HCMP AL,02H ;再次进行比较JNZ BGMOV AL,7FHDOWN: MOV DX,DA0832 ;启动D/A 转换下降OUT DX,ALCALL DELAYDEC ALCMP AL,00HJNZ DOWNMOV DX,B8255 ;再次读入开关信号IN AL,DXMOV BL,ALAND AL,03HCMP AL,02H ;再次进行比较JNZ BG4JMP SJBBG4: JMP BGSJ0 ENDP沈 阳 大 学 课程设计说明书 NO.20F0 PROC FARFB: MOV AL,00H ;方波FB1: MOV DX,DA0832 ;写00H,输出低电平OUT DX,ALPUSH CXMOV CX,00FFH ;低电平延迟L: CALL DELAYLOOP LPOP CXPUSH CXMOV CX,00FFHMOV AL,0FFHMOV DX,DA0832OUT DX,ALL1: CALL DELAY ;高电平延迟LOOP L1POP CXMOV DX,B8255 ;再次读入开关信号IN AL,DXMOV BL,ALAND AL,03HCMP AL,03H ;再次进行比较JNZ BG1JMP FBBG1: JMP BGF0 ENDP沈 阳 大 学 课程设计说明书 NO.21TX0 PROC FAR ;梯形波LOOP1: MOV CX,0100HMOV AL,00HLL0: MOV DX,DA0832 ;低电平段OUT DX,ALCALL DELAYDEC CXJNZ LL0LL1: INC AL ;上升段MOV DX,DA0832OUT DX,ALCALL DELAYCMP AL,7FHJNE LL1MOV CX,0100HLL2: OUT 00H,AL ;高电平段CALL DELAYDEC CXJNZ LL2LL3: DEC AL ;下降段MOV DX,DA0832OUT DX,ALCALL DELAYCMP AL,00HJNZ LL3MOV DX,B8255 ;再次读入开关信号沈 阳 大 学 课程设计说明书 NO.22IN AL,DXMOV BL,ALAND AL,03HCMP AL,01H ;再次进行比较JNZ BG3JMP LOOP1BG3: JMP BGTX0 ENDPEXIT: MOV AH,4CHINT 21HDELAY PROC NEAR ;延迟程序PUSH CX ;将CX、AX 入栈,保护数据PUSH AXMOV CL,2MOV AL,BLSHR AL,CLMOV AH,00HMOV CX,0010HMUL CLMOV CX,AXDEL1: PUSH AXPOP AXLOOP DEL1POP AXPOP CXRETDELAY ENDP沈 阳 大 学 课程设计说明书 NO.23CODE ENDSEND START4 课程设计体会通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知

温馨提示

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

评论

0/150

提交评论