文档详情

音乐喷泉控制系统设计….docx

发布:2016-11-15约8.32千字共10页下载文档
文本预览下载声明
音乐喷泉控制系统设计报告 姓名:张彦波 学号:201258502248 班级:计122-2 指导教师:孙红霞 一、设计任务 1、设计内容:设计随音乐节拍变化的喷泉控制系统,并编程实现其相应功能 2、设计要求:按音乐节拍快慢等变化控制喷泉的各喷头水柱高低变化,以构成各种造型。 二、设计思路和原理 通过8255和8254接口芯片来完成音乐喷泉的模拟, 该设计主要是由三部分组成:第一部分为键盘扫描,用来确定按键位置,并给8254计数器赋初值;第二部分为发声部分,是由8254计数器0的输出端产生一定频率的方波信号从而使扬声器发声;第三部分为LED彩灯部分,通过8255端口C控制彩灯亮的个数。 第一部分键盘扫描由8255芯片的PA0—PA4,PB0—PB4分别与键盘单元的Y1—Y4,X1—X4相连,其中B口低4位为输出端,A口低4位为输入端,由它们对键盘单元进行扫描,其确定键值的过程为:先给所有列线输入低电平,然后读取行线,检测行线是否为低电平,如果有某条行线输出低电平,则说明该键盘有按键被按下,否则,说明无按键被按下。采用这种方法就可以快速判断键盘是否有键被按下。在检查到有键按下后,再通过行扫描法判断按下的位置,从而确定按下的是什么键,后经过计算得出计数器0的初值。 第二部分主要用到了8254芯片中的计数器0,其CLK0端在微机内部已接好频率为1MHZ的方波信号(由系统自动提供),计数控制端GATE1接至+5V,计数器输出端OUT0接至发声单元,可以经过键盘的控制来发出声音。 第三部分主要由8255端口C控制,端口C与发光二极管相连,当键盘判断出所按位置的时候,根据所发音的不同亮不同盏数的灯,例:哆— 一盏,唻— 两盏,咪— 三盏以此类推,以上三部分即可完成音乐喷泉的模拟。 三、设计原理流程图 控制LED显示单元 程序结束 无条件转移 开始程序 定义8255,8254的控制字 键 盘 扫 描 有无键按下 确定按键位置 键值送CPU处理取对应频率 频率计算并对8254的初始值 初始值送8254发出方波 调用延迟控制发音长短 无按键 四、实际硬件接线图 键 X1盘 ∶ 数 X4码 管 显 Y1 示 ∶ 单 Y4 元 D0 ∶ D7 LED 显 示 单 元 PB0 D0 ∶ ∶ PB3 D7 PA0 A0 ∶ PA3 A1 WR PC0 ∶ PC7 RD CS 8255单元 XD0 XD0 ∶ ∶ XD7 XD7 XA1 XA1 XA2 XA2 IOW IOW IOR IOR IOY1 IOY2 CLK 系统总线 D0 ∶ D7 GATE1 A0 A1 OUT0 WR RD CS CLK0 8254单元 电子发声单 元 +5V 五、程序清单 MY8255_A EQU 0640H MY8255_B EQU 0642H MY8255_C EQU 0644H MY8255_MODE EQU 0646H MY8254_MODE EQU 0686H MY8254_A EQU 0680H SSTACK SEGMENT STACK DW 8 DUP(?) SSTACK ENDS DATA SEGMENT FREQ_LIST DW 441D,495D,556D,589D,661D,742D,833D,882D DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE MOV AL,90H OUT DX,AL MOV DX
显示全部
相似文档