《我的危机报告》word版.doc_第1页
《我的危机报告》word版.doc_第2页
《我的危机报告》word版.doc_第3页
《我的危机报告》word版.doc_第4页
《我的危机报告》word版.doc_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

微机应用系统设计与综合实验 (微机原理)课程设计报告课题名称: 信号发生器软硬件设计 学 院: 专业班级: 姓 名: 学 号: 指导老师: 日 期: 实验地点: 目录第一章信号发生器的应用背景与作用31.1设计意义31.2作用与功能3第二章设计任务42.1课程设计的内容及要求42.2 实际完成技术指标42.3 系统使用4第三章具体设计方案53.1 总体设计方案概述53.2 所需芯片功能简介63.2.1 8088 功能简介63.2.2 8255A 特性简介.73.2.3 A/D0832功能简介.83.2.4 D/A0809功能简介.93.3子模块设计103.3.1 波形产生103.3.2波形切换.153.3.3无极调频.15第四章 系统调试164.1 系统调试164.2 不足及改进16第五章 心得体会17附录1 源程序代码18附录2 参考文献23第一章 信号发生器的应用背景与作用1.1 设计意义微机应用系统课程设计的实行目的在于使学生更好的掌握和应用书本知识,增强学生自主作业自主研究的能力,逐渐将课本知识与实际工作联系起来。微机应用系统课程设计加深对课本知识的理解,同时因地制宜的在具体环境中具体运用知识, 进一步锻炼同学们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。同学们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最后成功的完成系统的设计。1.2 作用与功能信号发生器又称信号源或振荡器,在生产实践和科技领域中有着广泛的应用。各种波形曲线均可以用三角函数方程式来表示。能够产生多种波形,如三角波、锯齿波、矩形波(含方波)、正弦波的电路被称为函数信号发生器。函数信号发生器在电路实验和设备检测中具有十分广泛的用途。例如在通信、广播、电视系统中,都需要射频(高频)发射,这里的射频波就是载波,把音频(低频)、视频信号或脉冲信号运载出去,就需要能够产生高频的振荡器。在工业、农业、生物医学等领域内,如高频感应加热、熔炼、淬火、超声诊断、核磁共振成像等,都需要功率或大或小、频率或高或低的振荡器。第二章 设计任务2.1课程设计的内容及要求 内容:以8088CPU为核心设计一个信号发生器(D/A采用A/D0832芯片),系统可以产生正弦波、三角波、方波和锯齿波信号,并且频率可调。 要求:设计出电路原理图,说明工作原理,编写程序及程序流程图。 提高:实现各种波形之间的切换,实现频率的无极可调。2.2 实际完成技术指标1. 正弦波、三角波、方波和锯齿波信号的产生。2. 用两个开关控制各波形间的切换。3. 实现频率从3Hz到100Hz无极可调。4. 实现幅值从2V到5V无级可调。2.3 系统使用 系统主要功能是产生方波,锯齿波,三角波和正弦波,频率从3Hz到100Hz。具体使用方法如下: (1). K1 K0 选择波形 0 0: 矩形波 0 1: 锯齿波 1 0: 三角波 1 1: 正弦波 (2). 电位计调频(3100Hz)。 (3). K2 开始和结束程序。第三章 具体设计方案3.1 总体设计方案概述K1K0K2PB21波形产生:通过汇编语言编写各个波形子程序,即各个波形的一个周期代码。通过主程序的循环调用,产生连续波形代码并通过A/D0832将数字量转换成模拟量输出,即可得各种波形。具体方案见第三节。2波形切换:用两个开关量K0,K1来控制波形的选择,即0011分别对应矩形波、锯齿波、三角波和正弦波。每个波形周期开始前,查询这两个开关量,并转到相应的波子程序上。因此可随时进行波形间的切换。具体方案见第三、四节。3无极调频:改变子程序中的各个数据输出时间,及延时,就可改变整个波形的频率。延时越短频率越高。而延时时间长短可由外部输入决定,通过A/D0809将电位计(-55V)的模拟量转化成数字量(00FF)作为延时时间长短。调节电位器即可调节延时,进而调节频率。ADC0809芯片分辨率为8位,即可将延时分为256个等级,实现无极调频。具体方案见第三、四节。4无极调幅:软件调幅较难,可用外接比例运放和反相器来完成调幅。5开始结束:通过K2可以随时开始或结束程序。6总体流程图如下:开 始初始化8255启动AD转换读取结果并存入固定存储单元shu1读取波形选择开关量K0K1=?锯齿子程序三角子程序正弦子程序方波子程序00011011读取启动结束开关K2结束?NY结 束3.2 所需芯片功能简介3.2.1 8088 功能简介8088是一个Intel以8086为基础的微处理器,拥有16位单元暂存器和8位元外部资料总线。内部由两个独立的功能部件组成,分别为BIU和EU,EU负责指令的执行,并进行算术逻辑运算等。EU从BIU中的指令队列中取得指令。当指令要求将数据放在寄存器或输出到外部设备,或者要从寄存器或外部设备读取数据时,EU就向BIU发出请求,BIU根据EU发来的请求完成这些操作。它包括一个算术逻辑单元(ALU)、一组通用寄存器和标志寄存器组成,它们均是16位的。执行部件中含有8个16位的寄存器,这些寄存器属于CPU的专用寄存器,按其用途可将它们分成两组:数据寄存器组和指示器变址寄存器组。总线接口部件BIU包括一组段寄存器、一个指令指示器、指令队列(8086长6个字节,8088长4个字节)、地址产生器和总线控制器等。BIU根据执行部件EU的请求,完成CPU与存储器或I/O设备之间的数据传送。在EU执行指令的过程中,BIU根据需要从存储器中预先取一些指令,保存到指令队列中。如果EU执行一条转移指令,使程序发生转移,那么存放在指令队列中的预先取得的指令就不再有用,BIU会根据EU的指示从新的地址重新开始取指令。管脚图如下: 3.2.2 8255A 特性简介(1)具有24条输入/输出引脚、可编程的通用并行输入/输出接口电路。它是一片使用单一+5V电源的40脚双列直插式大规模集成电路。8255A的通用性强,使用灵活,通过它CPU可直接与外设相连(2)8255A在使用前要写入一个方式控制字,选择A、B、C三个端口各自的工作方式,共有三种。方式0 :基本的输入输出方式,即无须联络就可以直接进行的 I/O方式。其中A、B、C口的高四位或低四位可分别设置成输入或输出;方式1 :选通I/O,此时接口和外围设备需联络信号进行协调,只有A口和B口可以工作在方式1,此时C口的某些线被规定为A口或B口与外围设备的联络信号,余下的线只有基本的I/O功能,即只工作在方式0;方式2: 双向I/O方式,只有A口可以工作在这种方式,该I/O线即可输入又可输出,此时C口有5条线被规定为A口和外围设备的双向联络线,C口剩下的三条线可作为B口方式1的联络线,也可以和B口一起方式0的I/O线。管脚图如下:3.2.3 A/D0832功能简介DAC0832是采用CMOS工艺制成的单片电流输出型8位数 / 模转换器。下图是DAC0832的逻辑框图及引脚排列。DAC0832的引脚功能说明如下:D0D7 :数字信号输入端ILE:输入寄存器允许,高电平有效:片选信号,低电平有效:写信号1,低电平有效:传送控制信号,低电平有效:写信号2,低电平有效IOUT1,IOUT2:DAC电流输出端RfB :反馈电阻,是集成在片内的外接运放的反馈电阻VREF :基准电压(10+10)VVCC :电源电压(515)V3.2.4 D/A0809功能简介ADC0809是采样频率为8位的、以逐次逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。下图是DAC0832的逻辑框图及引脚排列。 ADC0809芯片有28条引脚,采用双列直插式封装,如图1323所示。下面说明各引脚功能。 IN0IN7:8路模拟量输入端。2-12-8:8位数字量输出端。ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地3.3 子模块设计3.3.1 波形产生1. 矩形波 矩形波的产生只要用B口输出一个最大值(此处用FFH),并延时一段时间。在输出一个最小值(此处用00F),延时一段相同时间,就是矩形波的一个周期。 (1).部分代码:MOV AL,0FFHOUT 00H,AL CALL DELAYMOV AL,00HOUT 00H,AL CALL DELAY(2).流程图如下:开 始 B口输出FFH延 时输出00H延 时结 束2. 锯齿波 锯齿波是从最小值开始逐渐上升,到达最大值之后,跳到最小值循环。因此只要先将最小值(此处用00F)放到AL,输出,延时,在AL逐渐加一输出,延时,直到达到最大值。(1).部分代码如下: MOV AL,80HP1: CALL DELAY OUT00H,ALINCAL CMP AL,0FFH JNZ P1 MOV AL,00HP2: OUT 00H,AL CALL DELAY INC AL CMP AL,80HJNZ P2(2).流程图如下:开始输出AL最小值延 时已到最大?AL加1NY输出最小AL最小值延 时AL加13. 三角波三角波与锯齿波类似,只是三角波达到最大后,再逐渐减小到最小,因此三角波有两个过程。(1).部分代码如下: UP: CALL DELAY OUT 00H,AL INC AL CMP AL,0FFH JNZ UP DEC AL DOWN: CALL DELAY OUT 00H,AL DEC AL CMP AL,00H JNZ DOWN(2)流程图如下:4. 正弦波正弦波是利用正弦表(见附录 代码段)输出的,即将正弦表中的数值一一查表输出并延时。(1).流程图如下:取表一首地址于BX查表输出N已到最后?地址加一Y取表二首地址于BX查表输出N已到最后?地址加一Y结束 开始(2).部分代码: MOV CX,128 MOV AL,00HMOV BX,OFFSET TABLE1 S1: PUSH AXXLATOUT 00H,ALPOP AXINC ALCALL DELAYLOOP S13.3.2 波形切换 波形切换是根据K0, K1来实现的,开关不同的状态对应着不同的波形(00:矩形波,01:锯齿波,10:三角波,11:正弦波)。改变开关的状态即可选着波形。K0,K1从PB0,PB1读入,如下图所示:程序代码如下: MOV DX,P8255_B ;选择波形 IN AL,DXAND AL,00000011B CMP AL,00H JE L1 CMP AL,01H JE L2 CMP AL,02H JE L3 CMP AL,03H JE L4L1: CALL FANGBO L2: CALL JUCHI L3: CALL SANJIAO L4: CALL ZHENGXIAN 3.3.3 无极调频 本次实验ADC 0809芯片的输出八位数据线以及CLOCK(1.1625MHz)已通过扁平电缆接到8088控制计算机的8255端口A和系统应用时钟OPCLK(1.1625MHz)上。模拟输入量Vin与数字输出量N的转换公式为Vin=(Vref+Vref-)/256N+Vref-,其中Vref+接+5V,Vref-接-5V。 改变子程序中的各个数据输出时间,及延时,就可改变整个波形的频率。延时时间是0809读入的。即每个循环启动一次D/A转换,启动信号可由C口输出,将读入的数据放到一个特定的存储单元,供延时时使用。由于电位计可无级调(-55V),读入的数据从00H到FFH,即可实现无级调。程序代码如下:P3: MOV AL,00000000B ;启动A/D转换,并读取数据 OUT 63H,AL MOV AL,00000001B OUT 63H,AL IN AL,60H MOV SHU1,AL DELAY PROC PUSH CXMOV CL,SHU1 DEL1: LOOP DEL1 POP CX .硬件接线图如下: PC015vCBAD0D7PA0PA7IN6+5V -5V8086CPU(包含8255)ADC0809PB0PB70832第四章 系统调试4.1 系统调试此项常用波形发生器是我们在学习汇编以来接触到的比较大的程序。无论用何种程序书写,理清思路是关键。因此,从拿到题目开始,我们花了很多时间来对设计波形发生器的硬件和软件进行了分析与思考,从中选出最好的解决方法。最终我选取了8255A的B口来输出波形,因为实验台上的8255芯片的A端口已和0809相连,恰好用来实现无极调速。因为无法使用DOS调用,对于波形的转换用两开关来实现。 在系统调试的过程中,我们用到的一个很重要的分析过程就是先易后难,先局部后整体,先将各个波形的子程序写出来,一一进行测试。无误后再写主程序将各个子程序整合起来。整个过程中最难的是无级调频,开始时一致无法调频,经过对各个部位的仔细调试分析,是0809模数转换的问题。0809需要一个启动信号,且转换需要一定时间。于是我们用C口每周期输出一启动信号进行转换。最终达到理想效果。4.2 不足及改进 1所产生的频率范围较窄。应尽量减少延时拓宽频率。2幅值调节范围太小。3产生的波形不是理想状态。特别是方波,上下跳变时,总会有断点。4由于波形每周期之后要读端口,与下一个周期之间有一定延时误差。第五章 心得体会开始的时候由于没有经验,不知如何下手,所以就去图书管找了一些书看,尽管有许多的设计方案,可是总感觉自己还是有许多的东西弄不太清楚,于是就请教同学。他常做一些设计,有一些经验。经过他的解释分析各方案之后,决定用主程序循环来做。这样可以降低一些设计的难度,初次设计应切合自己的水平。然后我从理论上把整个过程设计出来,但在实验室中出现了很多意想不到的问题,如波形跳转时总有一些断点,由此看来,理论与实际还是有很大的区别,很多东西理论上是对的,但在实际中却行不通。所以 不能只看理论,还要联系实际去分析问题。另外,在课程设计的过程中,我们自主独立的完成各自的课程任务,在遇到技术瓶颈时大家一起讨论解决,我们每一个同学都是大集体中独立的一员,期间我看到了自身不足,也发现了集体的优势所在!这次是我的第一个设计器件,尽管经历了不少的艰辛,但给我积累了一点设计的经验,最后也有点小小的成就感。后面的路还很长,我还得努力! 附录1 源程序代码P8255_A EQU 60HP8255_B EQU 61HP8255_C EQU 62HDATA SEGMENT SHU1 DB ? TABLE1: ;正弦表格 DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80HTABLE2: DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80HDATA ENDSSTACK1 SEGMENT STACK SA DB 100 DUP(?)STACK1 ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,P8255_T ;初始化8255 A,B口输入C口输出 MOV AL,10010010B OUT DX,AL P3: MOV AL,00000000B ;启动A/D转换,并读取数据 OUT 63H,AL MOV AL,00000001B OUT 63H,AL IN AL,60H CMP AL,1 JB P4 JMP P5 P4: MOV AL,1 P5: ; MOV DL,1H ;MUL DL MOV SHU1,AL MOV DX,P8255_B ;选择波形 IN AL,DX AND AL,00000011B CMP AL,00H JE L1 CMP AL,01H JE L2 CMP AL,02H JE L3 CMP AL,03H JE L4L1: CALL FANGBO JMP P3 L2: CALL JUCHI JMP P3L3: CALL SANJIAO JMP P3L4: CALL ZHENGXIAN JMP P3FANGBO PROC ;方波 MOV AL,80H OUT 00H,AL MOV AL,0FFH OUT 00H,AL MOV CX,80HD1: CALL DEL

温馨提示

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

评论

0/150

提交评论