哈工大C语言课程设计说明书.doc
文本预览下载声明
Harbin Institute of Technology
课程设计说明书(论文)
课程名称: C语言课程设计
设计题目: 音乐、滤波、计时器
院 系:
班 级:
设 计 者:
学 号:
指导教师:
设计时间:
哈尔滨工业大学教务处
哈尔滨工业大学课程设计任务书
姓 名: 院 (系):
专 业: 班 号:
任务起至日期:
课程设计题目:
1.编制音乐程序,曲目自选,不要重复。
2. 在数据测量和传输过程中,由于有强干扰或意外情况,可能会丢掉数据或出现有较大误差的数据 — 奇异项。
应找出奇异项,去掉并补充一个合适的值。可用预测的方法找出奇异项,最简单的方法是一阶差分法。
根据具体情况确定一个允许误差限M
编写处理奇异项的程序;生成一组包含奇异项的数据,画出曲线;
将数据用处理奇异项程序处理,并画出去除奇异项后数据的曲线。
3.编写计时器。
已知技术参数和设计要求:
一、音乐程序
1.音乐程序可实现按键发声,模拟弹钢琴的过程,并设置乐谱供弹奏。
2选择歌曲播放功能。
最后要求有一个简单友好的菜单界面,并具有一定容错能力。
滤波程序
生成一组包含奇异项的数据,画出曲线;
编写处理奇异项的程序,将数据用处理奇异项程序处理
3.画出去除奇异项后数据的曲线。
三、计时器程序
1.要求尽可能设计出较为酷炫的界面。
工作量:一周
工作计划安排:
研究老师给出的例程序,弄清硬件功能,设计音乐程序流程框图与滤波程序流程框图。
完成音乐程序的按键发声部分的程序编写以及滤波程序生成奇异项的程序编写。
完成音乐程序播放音乐的程序编写以及滤波程序的图形生成的编写。
完成音乐程序菜单部分的程序编写以及滤波程序为曲线部分的编写。
修改优化及调试程序。
加分程序计时器的编写
同组设计者及分工:单人
指导教师签字___________________
年 月 日
教研室主任意见:
教研室主任签字___________________
年 月 日 *注:此任务书由课程设计指导教师填写。题目一
题目详细描述:编制音乐程序,曲目自选,不要重复。音乐程序可实现有一个简单友好的菜单界面,并具有一定容错能力,进而选择歌曲播放功能,按键发声模拟弹钢琴的过程并设置乐谱供弹奏。
程序设计思路及流程图:
题目要求编写一个程序,包括可以直接弹奏、播放乐谱等功能。直接弹奏功能初步设计思路是运用BIOS.H头文件中的BIOSKEY函数。bioskey()的函数原型在bios.h中 bioskey()完成直接键盘操作,cmd的值决定执行什么操作。 cmd = 0: 当cmd是0,bioskey()返回下一个在键盘键入的值(它将等待到按下一个键)。它返回一个16位的二进制数,包括两个不同的值。。各键状态存放在返回值的低8位字节中的特性,来检测键盘是否按下以及按下时的键值。播放乐谱功能初步设计思路是通过设定音调的频率控制speaker发声,而音长控制部分由clock_t()控制时间。
程序清单及注释:
#include stdio.h
#include dos.h
#include stdlib.h
#include time.h
#include bios.h
#include conio.h
#define N1 64
#define N2 32
#define N4 16
#define N8 8
#define N16 4
#define END 0
void listenmusic(void);
void Playmusic(void);
enum NOTES{
C10=131,D10=147,E10=165,F10=1
显示全部