二○一一~二○一二学年第一 学期 信息科学与工程学院 自动化系 课程设计计划书 课程名称: 班级: 姓名: 学号: 指导教师: 二○一一年十二月十一日 一. 设计题目 函数发生器的设计 经过这段时间对微机原理及接口技术的相关学习,利用所学的知识来设计一个函数发生器,使其具有外部选择波形的功能。 二. 设计任务及需求分析 a) 波形的产生方式:要求产生方波、正向锯齿波、负向锯齿波、三角波、阶梯波。 实现这个要求可以利用8 位数模转换器DAC0832。 在 8088 中编写相应可以产生所需波形的程序,输出数字量给DAC0832,利用0832 的数模转换功能,输出相应的电信号波形。使用一片DAC0832 芯片,其他的各个输出波共用同一端口Iout1。 b) 按键选择功能:波形编号为0~4,通过按键选择产生相应的输出波形。 CPU 外围扩展可编程中断控制器8259A 对外为中断进行管理。使用按键的方式,将外部的按键连接在8259A 的中断输入线IR0~IR4上面,分别对应相应的波形序号0~4,按下按键,由于在按键的一端皆有下拉电阻是终端输入端口的初始电平为低,按下按键之后,电平拉高,产生中断,为了减小按键抖动产生的误判,在程序中应改进行按键去抖动的处理。 三. 总体设计方案 四. 具体方案选择和硬件设计 3.1 最大组态系统搭建 参考《微机原理、汇编与接口技术》朱定华第171 页 利用8284 产生CPU 所需要的CLK、 READY、 RESET 信号。 该电路只利用石英晶体构成振荡器结合8284 产生固定的时钟频率。 另外复位RESET 电路中串联电容,具有滤波的作用。电路如下图: a) 8088 外部时钟电路: 8088CPU 8259A 中断控制 8255I/O 扩展 DAC0832 波形输出 按键输入 数码管输出 *该电路产生的CLK 约为4Mhz。 b)地址锁存器使用 74LS373,数据总线驱动器使用 74LS245,总线控制器使用 8288. 由于版面的问题详细电路图可以参见附录总图。 3.2 按键选择产生的波形类型 方案 1:可以 CPU 的I/O 查询功能,将按键接到 CPU 的各个 I/O 端口,设定一个扫描周期,对端口上的电平变化信息进行查询和记录,当端口上面出现低电平则说明有按键被按下,根据硬件电路设定,不同的端口接不同的按键,这样就可以直到按下了几号键,并产生对应的波形。 方案 2:利用中断来记录无不的按键动作。使用一片 8259A 将按键接到 8259A 的IR0~IR4,这样每一个不同的按键被按下时候,触发对应引脚的中断,实现按...