函数发生器zh更好w.doc

上传人:豆**** 文档编号:17492895 上传时间:2022-05-24 格式:DOC 页数:12 大小:167.50KB
返回 下载 相关 举报
函数发生器zh更好w.doc_第1页
第1页 / 共12页
函数发生器zh更好w.doc_第2页
第2页 / 共12页
点击查看更多>>
资源描述

《函数发生器zh更好w.doc》由会员分享,可在线阅读,更多相关《函数发生器zh更好w.doc(12页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流函数发生器zh更好w.精品文档.目录1实验设计分析22硬件结构图33主程序设计44程序清单55试验心得体会11附:参考文献课程设计目的:综合运用本课程知识,利用集成电路设计实现一些中小规模电子电路或者完成一定功能的程序,以复习巩固课堂所学的理论知识,提高程序设计实现系统、绘制系统电路图的能力,为实际应用奠定一定的基础。课程设计题目:函数发生器的设计利用D/A设计一个函数发生器,并利用按键选择输出波形,能分别产生三角波、阶梯波(每阶梯1V)、正向锯齿波、负向锯齿波和方波。并利用按键(自行定义)进行输出波形选择,同时将当前输出波形代号显示在LED

2、上(左边位):0为方波、1为正向锯齿波、2为负向锯齿波 、3 为三角波 、4为阶梯波。具体要求: 按键响应采用中断方式,不能使用8088的I/O作为按键,同时外围扩展9259A作为按键输入端口,需要考虑按键的去抖动问题。一实验设计分析本次课程设计是通过外部设备来进行选择控制,在设计中可以用芯片 8255,通过开关的切换来改变 8255 的输入,从而对数字信号发生器进行控制,然后由0832形成波形。0832输入的数据的延时由硬件完成。硬件延时主要由计时器8253和中断控制器8259来实现。8253输出的方波高低电平,来触发8259的IR0端,8259给CPU中断信号,CPU中断来执行相应的中断子

3、程序,中断子程序为向0832输出数据的程序,通过此程序可以产生三角波。由于8253产生的方波的频率可以控制,所以每次中断执行波形发生程序的时间间隔可以精确控制。从而实现0832输出波形频率的控制。使8255A的端口C工作在方式0并作为输入口,读取K1-K4个开关量,通过开关的不同逻辑组合,选定相应的波形,然后通过用8086CPU编程作用于芯片DAC0832产生对应波形,从而通过示波器观察到波形。另外,本设计中通过开关程序来控制波形之间的切换,开关与波形的显示相对应。开关用外围芯片8255A来实现。频率的调节用调频旋钮W1来实现,用模数转换芯片ADC0809将电压值转换成二进制来实现调频。对于方

4、波的占空比,改变上、下限值输出的延时时间,可改变矩形波的占空比。二 硬件结构图微 IRQn机总线译码电路8255ADAC0832I/V变换电路开关电路k7-K4示波器k3-K0主要部分为8255A和DAC0832两块芯片的连接,译码芯片采用LS138。8255A的C口连接到开关上,K7K0分别接PC7PC0,其中K7到K4用来切换波形,K3到K0用来分频,可用于频率调节。DAC0832的输出OUT端接示波器。运用protel软件进行仿真:三主程序设计主程序的功能是将开关的信号读入到8255A的C口,通过读取开关的状态,与设定的数值进行比较,若两数值相等时则转入到相应的程序段,分别产生方波、锯齿

5、波、三角波、梯形波及正弦波.本软件设计过程中主要实现利用按键来控制不同波形的输出,当按键1按下时,函数发生器就输出锯齿波;当按键2按下时,函数发生器就输出三角波;当按键3按下时,函数发生器就输出正弦波;当按键4按下时,函数发生器就输出方波。主程序流程图: 初始化 设置8255的工作方式 读B口低四位 N 等于0 产生方波 等于0 Y N 等于1 正向锯齿波 等于1 Y N等于2 负向锯齿波 等于2 Y N等于3 三角波 等于3 Y N 等于4 梯形波 等于4 Y 等于5 结束 实验用DAC0832芯片简介:DAC0832是8分辨率的D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低

6、廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控制电路构成。分辨率为8位;* 电流稳定时间1us;* 可单缓冲、双缓冲或直接数字输入;* 只需在满量程下调整其线性度;* 单一电源供电(+5V+15V);* 低功耗,20mW。工作方式:根据对DAC0832的数据锁存器和DAC寄存器的不同的控制方式,DAC0832有三种工作方式:直通方式、单缓冲方式和双缓冲方式。DAC0832引脚功能电路应用原理图DAC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、

7、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。所以这个芯片的应用很广泛,关于DAC0832应用的一些重要资料见下图: D/A转换结果采用电流形式输出。若需要相应的模拟电压信号,可通过一个高输入阻抗的线性运算放大器实现。运放的反馈电阻可通过RFB端引用片内固有电阻,也可外接。DAC0832逻辑输入满足TTL电平,可直接与TTL电路或微机电路连接。四程序清单IOY0 EQU 00H 片选 IOY0 对应的端口始地址CT8255 EQU 63H 8255 的控制寄存器地址B8255 EQU 61H 8255 的 b 口地址DA0832 EQU IOY0+0

8、0H* DA0832 的端口地址DATA SEGMENT TAB 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

9、,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 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,0

10、D6H,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, 80H 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, 35

11、H, 33H, 30H, 2EH, 2BH, 29H, 27H DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H 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 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH DB 15H, 13H, 11H

12、, 10H, 0EH, 0DH, 0BH, 0AH DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H 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 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H DB 0AH, 0BH, 0DH, 0EH,

13、 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, 80H DATA ENDS STACK SEGMENT PARA STACK STACK DB 256 DUP(?) STACK ENDS CODE

14、 SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START: MOV AX,DATA MOV DS,AX MOV AL,82H 初始化 8255,B 口输入,工作在方式 0 OUT CT8255,ALBG: IN AL,B8255 CMP AL,00H 显示方波 JZ FBB CMP AL,01H 显示正向锯齿波 JZ JCBB CMP AL,02H 显示负向锯齿波波 JZ ZXBB CMP AL,03H 显示三角波 JZ SJBB CMP AL,04H 显示梯形波 JZ TXBB CMP AL,0FH JZ QIT JMP BGJCBB:JM

15、P JC0 转至锯齿波子程序SJBB:JMP SJ0 转至三角波子程序FBB:JMP F0 转至方波子程序ZXBB:JMP ZX0 转至正弦波子程序TXBB:JMP TXO 转至梯形波子程序QIT:JMP EXIT 转至调用 DOS 子程序,推出程序JC0 PROC FAR SCB: MOV AL,0FFH 锯齿波 AGAIN1: INC AL MOV DX,DA0832 OUT DX,AL CALL DELAY PUSH AX MOV DX,B8255 IN AL,DX; CMP AL,01H JNZ BG POP AX JMP AGAIN1 RET JC0 ENDP SJ0 PROC FA

16、R SJB: MOV AL,00H 三角波 UP: MOV DX,DA0832 启动 D/A 转换 上升 OUT DX,AL CALL DELAY INC AL CMP AL,7FH JNZ UP MOV DX,B8255 IN AL,DX MOV BL,AL MOV AL,03H CMP AL,02H JNZ BG DEC AL DOWN: MOV DX,DA0832 启动 D/A 转换 下降 OUT DX,AL CALL DELAY DEC AL CMP AL,00H JNZ DOWN MOV DX,B8255 再次读入开关信号,进行比较 IN AL,DX MOV BL,AL MOV AL

17、,03H CMP AL,02H JNZ BG4 JMP SJB BG4 : JMP BG SJ0 ENDPF0 PROC FAR FB: MOV AL,00H 方波 FB1: MOV DX,DA0832 写 00H,输出低电平 OUT DX,AL PUSH CX MOV CX,00FFH 低电平延迟L: CALL DELAY LOOP L POP CX PUSH CX MOV CX,00FFH MOV AL,0FFH MOV DX,DA0832 OUT DX,ALL1: CALL DELAY 高电平延迟 LOOP L1 POP CX MOV DX,B8255 再次读入开关信号,进行比较 IN

18、AL,DX MOV BL,AL AND AL,03H CMP AL,03H JNZ BG1 JMP FB BG1: JMP BG F0 ENDP ZX0 PROC FAR 正弦波 ZXB: LEA BX,TAB MOV CX,0001H ZX2: MOV AL,BX 将 TAB 中的数字一次赋给 AL,再输出正弦波 INC BX INC CX MOV DX,DA0832 OUT DX,AL CALL DELAY PUSH AX MOV DX,B8255 再次读入开关信号,进行比较 IN AL,DX CMP AL,04H JNZ BG2 POP AX CMP CX,256 JNE ZX2 JMP

19、 ZXBBG2: JMP BGZX0 ENDPTXO PROC NEAR 梯形波 LOOP1:MOV CX,0100H MOV AL,00H LL0: MOV DX,DA0832 低电平段 OUT DX,AL CALL DELAY DEC CX JNZ LL0 LL1: INC AL 上升段 MOV DX,DA0832 OUT DX,AL CALL DELAY CMP AL,7FH JNE LL1 MOV CX,0100H LL2: OUT 00H,AL 高电平段 CALL DELAY DEC CX JNZ LL2 LL3: DEC AL 下降段 MOV DX,DA0832 OUT DX,AL

20、 CALL DELAY CMP AL,00H JNZ LL3 MOV DX,B8255 再次读入开关信号,进行比较 IN AL,DX CMP AL,05H JNZ BG3 JMP LOOP1 BG3: JMP BG TXO ENDP EXIT:MOV AH,4CH 调用 DOS,推出 INT 21H DELAY PROC NEAR PUSH CX PUSH AX MOV CL,2 MOV AL,BL SHR AL,CL MOV AH,00H MOV CX,0090H MUL CL MOV CX,AX DEL1:PUSH AX POP AX LOOP DEL1 POP AX POP CX RET

21、 DELAY ENDP CODE ENDS END START五试验心得体会 对于我们大学生来说,一次课程设计就是一次能力提高训练。刚开始接到课程设计的时候,思考了很久,一直有种无从下手的感觉。渐渐的在请教其它同学之后,我开始在网上寻找各种资料,了解符合设计要求芯片的引脚功能,工作方式。不停的修改程序代码,最后用软件进行仿真、画图,一路走来确实不易。回望设计历程,我感觉自己的信息搜索获取,新知识的应用等个方面的能力都得到了很大的锻炼!温习旧知识,学习新知识,提高动手能力,设计的目的不外如此。经过这么长时间的锻炼,我感觉自己受益颇深。附:参考文献 1 朱定华 微机原理、汇编与接口技术,清华大学出

22、版社,2005 2 刘书明. 高性能模数与数模转换器件.西安:西安电子科技大学出版社,2000 3 赵辉 protel99电子线路CAD 北京邮电大学出版社4、课程设计考核方式考查要求:提交课程设计报告,设计报告内容包括设计任务,设计要求,软硬件设计,程序结果描述。1 每人独立完成1个题目的基本功能。包括设计报告和程序清单(带注释),运行结果及有关运行说明。2 程序检查。分优、良、中、及格、不及格 如为不及格,下学期需进行重新程序设计;3 课程设计报告,正规书写,否则不计成绩;封面:学号、姓名、班级、专业、指导教师、课程设计时间等信息;正文:课程设计的题目、要求;A、在微机原理及接口技术课程设计中,所使用的基本的知识点描述;例如:文件的建立、打开、读出、写入、关闭等文件操作的系统调用,涉及硬件的将电路图打印出来B、程序的流程图。详细描述程序中执行的过程C、(关键)程序清单(要求有程序注释)D、如有硬件需画出硬件电路图E、参考文献(如 1 朱定华,微机原理、汇编与接口技术,清华大学出版社,2005)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com