河北工业大学计算机硬件技术基础设计报告
学院 班级 姓名 学号
成绩 __ ___
简易电子琴的设计
一、题目:简易电子琴的设计
二、问题的提出
问题描述:设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等音符。
三、总体设计
(1) 所实现的功能描述
通过电路图连接电路, 按下键就可以发出所设定频率的相应的
音调, 即1,2,3,4,5,6,7等音符.
(2) 设计方案的描述。
因为不同音调是由许多不同音阶组成,每个音阶对应不同的频率,这样我们可用不同频率组合,即可构成我们想要的音乐了. 我们可用单片机的定时/计数器0来产生这样的方波频率信号, 根据计算得出相应的十进制数值. 利用查表方式来响应, 得出不同的声音。
(3) 设计过程
本次实验是由我们一组俩人共同完成, 我们俩人共同努力商讨, 不会的地方就互帮互助, 也会去请教别人的指导, 最终完成了程序的设计
四、详细设计:
(1)所需设备为 8031单片机,蜂鸣器,开关 等
(2)硬件系统电路如下:
3、设计中的主要困难及解决方案
对于晶振频率为11.0592MHz 的单片机,定时器假如选择工作方式1,那T 值便为T =216-5*105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值。建立这样一个数据表,然后采用查表程序即可。用导线将A2的P3.3 (INT1)与B5区的BUZZ 接口相连,用排线将D1区的 J53 与 A2区的J61相连,如上图所示。
五. 程序的流程图
六. 程序清单
ORG 8000H
LJMP MAIN
ORG 800BH
LJMP TC0SV
MAIN:MOV TH0,#0FFH ;送高八位定时器/计数器初值
MOV TL0,#0FFH ;送低八位定时器/计数器初值
MOV TMOD,#01H ;置T/CO的工作方式1
SETB EA ;CPU开中断
SETB ET0 ;T/CO允许中断
MOV P1,#0FFH
AA:MOV A,P1
CJNE A,#0FFH,BB ;判断键是否闭合
MOV TH0,#0FFH
MOV TL0,#0FFH
CLR TR0 ;停止T/CO计数
LJMP AA
BB:MOV R2,#00H
CC:JNB ACC.0,DD
INC R2
RR A
LJMP CC
DD:MOV A,R2
RL A
MOV DPTR, #TABLE ;查表
MOVC A,@A+DPTR
MOV 31H,A
MOV A,R2
RL A
INC A
MOVC A,@A+DPTR
MOV 30H,A
SETB TR0 ;启动T/CO计数
LJMP AA
TC0SV: MOV TL0,30H ;将查询的结果赋给高八位定时器/计数器 MOV TH0,31H ;将查询的结果赋给低八位定时器/计数器 CPL P3.3 ;蜂鸣器发声
RETI
TABLE:DW 64580,64684,64777,64820,64898,64968,65030,65058 END
七. 调试程序的方法
调试方法:把程序编译成功后,在硬件机板上按指定的硬件图的要求把
线连好运行,分别在键盘上按下1,2,3,4,5,6,
7,对应的相应的声音响起,表示调试运行成功.
不足之处: 虽然该程序发出的音调很准确, 但是不能唱一首完整的歌曲.
不能达到只按开关就能控制全部音节. 只能按一键响一
声.
八. 收获及心得体会
电子琴这个试验用到了课本上软件与硬件知识,它的模拟过程也使程序更加的形象化,这种有趣的现象也激发了我学习单片机的兴趣,经过两个星期的设计,让我大概的了解了单片机的基础知识,也到了学习方法,最后虽然运行出了比较理想的结果,但是在细节上还有比较多的问题,而且我们在创新上也没有大胆的尝试,我们还有很多需要学习,单片机在生活中运用的很广泛,我们有必要对它有个整体的认识和初步的了解,我认为本次试验达到了这个目的。
在每次的上课过程中, 我对单片机的学习只是对软件的知识部分了解, 不能在实际过程中进行应用. 开放性实验让我们了解到了单片机对现实生活的影响. 利用简单的程序是我们的生活变的方便, 美化我们的生活. 这次实验的学习是我和我的同学共同完成的, 在操作过程中, 我们体会到了成功的来之不易, 分享快乐.
通过这次单片机设计,我知道了将课本知识与实际结合的重要性。这次实验是综合性、设计性、开放性、探索性的,极大地激发我学习单片机的兴趣,并锻炼了我解决问题,分析问题的能力,也正是此次设计,让我发现了自己学习中的不足,编程过程中,一句有错误,就不可能得到正确的结果,需要联系上下反复琢磨和修正,直到编译没有错误为止。还有,硬件连接必须和软件设计结合在一起,由于硬件实验室设施的有限,此次课题遇到了点儿困难, 但是通过学习和努力, 我们克服了难题。此次单片机设计真是受益匪浅。
日期: 2007年 12 月 28 日
河北工业大学计算机硬件技术基础设计报告
学院 班级 姓名 学号
成绩 __ ___
简易电子琴的设计
一、题目:简易电子琴的设计
二、问题的提出
问题描述:设计一简易电子琴,要求能够发出1、2、3、4、5、6、7等音符。
三、总体设计
(1) 所实现的功能描述
通过电路图连接电路, 按下键就可以发出所设定频率的相应的
音调, 即1,2,3,4,5,6,7等音符.
(2) 设计方案的描述。
因为不同音调是由许多不同音阶组成,每个音阶对应不同的频率,这样我们可用不同频率组合,即可构成我们想要的音乐了. 我们可用单片机的定时/计数器0来产生这样的方波频率信号, 根据计算得出相应的十进制数值. 利用查表方式来响应, 得出不同的声音。
(3) 设计过程
本次实验是由我们一组俩人共同完成, 我们俩人共同努力商讨, 不会的地方就互帮互助, 也会去请教别人的指导, 最终完成了程序的设计
四、详细设计:
(1)所需设备为 8031单片机,蜂鸣器,开关 等
(2)硬件系统电路如下:
3、设计中的主要困难及解决方案
对于晶振频率为11.0592MHz 的单片机,定时器假如选择工作方式1,那T 值便为T =216-5*105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值。建立这样一个数据表,然后采用查表程序即可。用导线将A2的P3.3 (INT1)与B5区的BUZZ 接口相连,用排线将D1区的 J53 与 A2区的J61相连,如上图所示。
五. 程序的流程图
六. 程序清单
ORG 8000H
LJMP MAIN
ORG 800BH
LJMP TC0SV
MAIN:MOV TH0,#0FFH ;送高八位定时器/计数器初值
MOV TL0,#0FFH ;送低八位定时器/计数器初值
MOV TMOD,#01H ;置T/CO的工作方式1
SETB EA ;CPU开中断
SETB ET0 ;T/CO允许中断
MOV P1,#0FFH
AA:MOV A,P1
CJNE A,#0FFH,BB ;判断键是否闭合
MOV TH0,#0FFH
MOV TL0,#0FFH
CLR TR0 ;停止T/CO计数
LJMP AA
BB:MOV R2,#00H
CC:JNB ACC.0,DD
INC R2
RR A
LJMP CC
DD:MOV A,R2
RL A
MOV DPTR, #TABLE ;查表
MOVC A,@A+DPTR
MOV 31H,A
MOV A,R2
RL A
INC A
MOVC A,@A+DPTR
MOV 30H,A
SETB TR0 ;启动T/CO计数
LJMP AA
TC0SV: MOV TL0,30H ;将查询的结果赋给高八位定时器/计数器 MOV TH0,31H ;将查询的结果赋给低八位定时器/计数器 CPL P3.3 ;蜂鸣器发声
RETI
TABLE:DW 64580,64684,64777,64820,64898,64968,65030,65058 END
七. 调试程序的方法
调试方法:把程序编译成功后,在硬件机板上按指定的硬件图的要求把
线连好运行,分别在键盘上按下1,2,3,4,5,6,
7,对应的相应的声音响起,表示调试运行成功.
不足之处: 虽然该程序发出的音调很准确, 但是不能唱一首完整的歌曲.
不能达到只按开关就能控制全部音节. 只能按一键响一
声.
八. 收获及心得体会
电子琴这个试验用到了课本上软件与硬件知识,它的模拟过程也使程序更加的形象化,这种有趣的现象也激发了我学习单片机的兴趣,经过两个星期的设计,让我大概的了解了单片机的基础知识,也到了学习方法,最后虽然运行出了比较理想的结果,但是在细节上还有比较多的问题,而且我们在创新上也没有大胆的尝试,我们还有很多需要学习,单片机在生活中运用的很广泛,我们有必要对它有个整体的认识和初步的了解,我认为本次试验达到了这个目的。
在每次的上课过程中, 我对单片机的学习只是对软件的知识部分了解, 不能在实际过程中进行应用. 开放性实验让我们了解到了单片机对现实生活的影响. 利用简单的程序是我们的生活变的方便, 美化我们的生活. 这次实验的学习是我和我的同学共同完成的, 在操作过程中, 我们体会到了成功的来之不易, 分享快乐.
通过这次单片机设计,我知道了将课本知识与实际结合的重要性。这次实验是综合性、设计性、开放性、探索性的,极大地激发我学习单片机的兴趣,并锻炼了我解决问题,分析问题的能力,也正是此次设计,让我发现了自己学习中的不足,编程过程中,一句有错误,就不可能得到正确的结果,需要联系上下反复琢磨和修正,直到编译没有错误为止。还有,硬件连接必须和软件设计结合在一起,由于硬件实验室设施的有限,此次课题遇到了点儿困难, 但是通过学习和努力, 我们克服了难题。此次单片机设计真是受益匪浅。
日期: 2007年 12 月 28 日