课设报告1简易电子琴4.1.8

2019-03-22 12:17

课程设计报告?

课程设计名称: 单片机课程设计 课程设计题目 :单片机简易电子琴设计

专业班级: 测控技术与仪器1101班 姓 名: 管文龙 学 号:110401119 实验室号: 信息楼220 实验组号: 20 实验时间: 2013.12.30-2014.1.10 批阅时间: 指导教师: 许会 成 绩:

沈阳工业大学课程设计报告

专业班级: 测控技术与仪器1101班 学号: 110401120 姓名: 管文龙

1. 题目名称 单片机简易电子琴设计 2. 课设目的 ①掌握KEILuv下汇编语言的调试方法 ②了解单片机简单应用系统的研发及调试过程 ③掌握定时器的功能并能使用定时器产生音频从而使单片机板实现电子琴功能 3. 课设内容 ①、在口线P1.7,通过20uf电解连接0.25W扬声器再接VCC ②、编写软件由键盘控制单片机定时器的溢出频率符合下表,由口线P1.7输出 C调音符 Hz 5 392 6 440 1 494 2 524 3 660 4 698 5 784 6 880 7 988 ③、选择演奏两支简单乐曲 ④掌握串口调试助手的使用,在m2t2上实现单片机串口通信 注释:外接扬声器声音很小,需要外接功率放大电路,而单片机带有一蜂鸣器,可以用单片机上的蜂鸣器代替扬声器,因此定时器的脉冲输出端口为P2.6;在按键时,蜂鸣器响应相应的音符,数码管显示相应的数字。 2014年1月 9日 1/16

沈阳工业大学课程设计报告

专业班级: 测控技术与仪器1101班 学号: 110401120 姓名: 管文龙

4. 课设方案 (1) 定时器控制音符频率原理 乐音实际上是有固定周期的信号,用单片机的一个定时器(如T0)控制,在P2.6输出方波周期信号,产生乐音。根据不同的按键,调节T0的溢出时间,可输出不同频率的乐音。 如果要产生音频脉冲,只要算出某一音频的周期(1/频率),再将此周期除以2,即为半周期的时间。利用定时器计时半周期时间,每当计时终止后就将P2.6反相,然后在定时器中重新装入初值,重复计时再反相。就可在P2.6引脚上得到此频率的脉冲。 用定时器T0实现定时,并使其工作在计数模式1下,改变TH0、TL0的初值以产生不同频率从而产生不同音阶。 例如,SO的频率是784HZ,单片机机器周期为MC=12/22.1184MHZ=0.542us,所以定时器应计的数为: SO音符周期=1/784=1275us 因此可得定时器初值为: 65536-1275/2/0.542=FB68H 故可得音符与计数初值对应表,如下: 表1 C调音符 5 6 1 2 3 4 5 6 7 初值 0F6D1H 0FBD1H 0F7B6H 0F921H 0FA8CH 0FAD8H 0FB68H 0FBE9H 0FC5BH 2014年1月 9日 2/16

沈阳工业大学课程设计报告

专业班级: 测控技术与仪器1101班 学号: 110401120 姓名: 管文龙

(2) 课设思路 单片机有8个按键,根据表1,分别控制K1—K7发出中音DO~SI,这样便可手动演奏简单乐曲,控制K8自动播放简单乐曲——祝你生日快乐。另外,接通电源,当手动按键演奏时,对应数码管显示相应数字。 (3)实现功能 ①、手动演奏简单乐曲 ②、自动播放简易乐曲 ③、数码管显示 5.课设总结 ⑴ 程序清单及注释 DCLK BIT P3.4 ;串行数据时钟,上升沿有效 DIN BIT P3.3 ;串行数据输入 LOAD BIT P2.3 ;串行命令加载,上升沿有效 DOUT BIT P2.2 ;键盘中断和键值数据输出 SPEAKER BIT P2.6 ORG 0000H LJMP MAIN ORG 0030H MAIN: ACALL CH451_INT1;调用CH451_INT1 ACALL DSP ;调用DSP MOV SP,#60H;设置堆栈指针 MOV 30H,#00H;定时器初值清零 MOV 31H,#00H MOV TMOD,#01H;定时器T0工作在工作模式1下 SETB EA SETB ET0 CLR TR0 PLEASE: ACALL SCAN;调用键盘扫描子程序 SJMP PLEASE 2014年1月 9日 3/16

沈阳工业大学课程设计报告

专业班级: 测控技术与仪器1101班 学号: 110401120 姓名: 管文龙

SJMP $ CH451_INT1: CLR DIN ; 置低电平 ,通知ch451使能4线串行接口 SETB DCLK;设置默认高电平 SETB DIN;设置默认高电平 SETB LOAD;设置默认高电平 SETB DOUT;设置默认高电平 CLR IT0 SETB PX0 SETB EX0 MOV B,#04;H设定系统参数,启动键盘和显示 MOV A,#03H ACALL WRITE RET WRITE: CLR LOAD;操作命令开始 MOV R3,#08H WRITE1: CLR DCLK RRC A;进位循环右移,将ACC中8位送出 MOV DIN,C SETB DCLK; DCLK上升沿时CH451从DIN输入数据 DJNZ R3,WRITE1;将A中放入的8位送出,低位在前高位在后 MOV A,B MOV R3,#04H WRITE2: CLR DCLK RRC A MOV DIN,C SETB DCLK DJNZ R3,WRITE2;将B中放入的4位送出,低位在前,高位在后 SETB LOAD;包括一个上升沿的低脉冲,加载12位寄存器中的数据 RET DSP: MOV B,#0FH;加载字数据7 MOV A,#0BEH;数字0的字形码传送给A ACALL WRITE;调用WRITE函数 MOV B,#0EH MOV A,#0BEH ACALL WRITE MOV B,#0DH MOV A,#0BEH ACALL WRITE MOV B,#0CH MOV A,#0BEH 2014年1月 9日 4/16


课设报告1简易电子琴4.1.8.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浙大学子实践报告《楠溪源行记》(上)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: