单片机课程设计
- 格式:doc
- 大小:3.72 MB
- 文档页数:20
课程设计单片机秒表一、教学目标本课程旨在通过学习单片机秒表的设计与实现,让学生掌握单片机的基本原理、编程方法和实际应用。
具体的教学目标如下:1.了解单片机的基本结构和工作原理;2.掌握C语言编程的基本语法;3.掌握单片机秒表的设计方法和步骤。
4.能够使用单片机开发工具进行程序编写和调试;5.能够独立完成单片机秒表的设计和实现;6.能够对单片机程序进行优化和升级。
情感态度价值观目标:1.培养学生的创新意识和团队合作精神;2.培养学生对新技术的敏感度和持续学习的兴趣;3.培养学生对社会和科学的负责任态度。
二、教学内容本课程的教学内容主要包括以下几个部分:1.单片机的基本原理:介绍单片机的结构、工作原理和编程语言;2.C语言编程:讲解C语言的基本语法和编程技巧;3.单片机秒表的设计:讲解单片机秒表的设计方法和步骤,包括硬件设计和软件编程;4.实践操作:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现。
三、教学方法为了达到上述教学目标,我们将采用以下教学方法:1.讲授法:讲解单片机的基本原理和C语言编程基础知识;2.案例分析法:分析具体的单片机秒表设计案例,让学生了解实际应用;3.实验法:安排实验室实践环节,让学生亲手操作单片机,完成秒表的设计和实现;4.讨论法:学生进行小组讨论,培养团队合作精神和创新意识。
四、教学资源为了支持本课程的教学内容和教学方法,我们将准备以下教学资源:1.教材:选择合适的单片机和C语言编程教材;2.参考书:提供相关的参考书籍,供学生自主学习;3.多媒体资料:制作PPT和教学视频,帮助学生更好地理解教学内容;4.实验设备:准备单片机开发板和实验工具,让学生进行实践操作。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采用以下评估方式:1.平时表现:通过课堂参与、提问和小组讨论等方式,评估学生的学习态度和积极性;2.作业:布置相关的编程练习和设计任务,评估学生的编程能力和设计水平;3.考试:安排期末考试,测试学生对单片机秒表设计和C语言编程知识的掌握程度。
单片机课设心得体会(精选10篇)单片机课设心得体会1做了两周的单片机课程设计,我有了许多的体会和感想。
我们的课程设计有两个主要内容:一个是出租车计费器系统(还包括255计数和50000计数);另一个就是温度报警系统。
实习可以在试验室里做,也可以在寝室里自己做,我大部分时间还是在寝室里做的。
出租车计费器的设计是第一周的内容,由于有了老师的设计图和程序,只需要改一下自己所要求的变量就好。
单片机的编程用的主要是汇编语言,说实话,我对汇编语言谈不上把握,充其量只是了解。
学校安排的课程真的太少了,关于语言部分的学习只学了几节课的内容,整本单片机书的内容也是学了三分之一多一点。
第二周的内容就是温度报警系统的设计。
这个内容没有现成的程序和设计图,需要我们真正亲自去编,最郁闷的莫过于画设计图。
根据试验要求上的图画了出来,加载程序以后却不能正常运行,改了好多次都没有胜利。
同学们电脑上软件的版本差异也影响了交流。
有些元件的型号不同,但在选用时图形确很相像,致使选错了元件,影响了结果。
这两周的实习真的有点郁闷,程序里面的好多内容不懂,自我感觉是单片机我们所学的内容还不足以编出这两个程序,但是只好硬着头皮去看去理解。
但在学习过程中也布满了乐趣,当看懂了程序的一些语句,画出了要求的设计图,那我喜悦那种成就感油然而生。
这次实习让我受益匪浅,无论从学问上还是其他的各个方面。
上课的时候的学习从来没有见过真正的单片机,只是从理论的角度去理解枯燥乏味。
但在实习中见过甚至使用了单片机及其系统,能够理论联系实际的学习,开阔了眼界,提高了单片机学问的理解和水平。
在这次课程设计中又让我体会到了合作与团结的力气,当遇到不会或是设计不出来的地方,我们就会在群里讨论或者是同学之间相互帮忙。
团结就是力气,无论在现在的.学习中还是在以后的工作中,团结都是至关重要的,有了团结会有更多的理念、更多的思维、更多的情感。
单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,假如学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问题。
单片机课程设计评语一、课程目标知识目标:1. 让学生掌握单片机的基本结构、工作原理及其在各行各业的应用。
2. 使学生了解并熟练运用单片机编程语言,完成简单的程序编写和调试。
3. 帮助学生理解单片机与其他电子元件的协同工作原理,培养电路设计与系统集成能力。
技能目标:1. 培养学生运用单片机进行创新设计的能力,能独立完成简单的单片机项目。
2. 提高学生动手实践能力,熟练使用编程软件、开发板等工具,具备初步的故障排查和问题解决能力。
3. 培养学生团队协作精神,学会在项目中进行有效沟通与分工合作。
情感态度价值观目标:1. 激发学生对单片机及电子技术的兴趣,培养科技创新精神。
2. 培养学生严谨、细心的学习态度,提高自主学习能力。
3. 引导学生关注单片机在现实生活中的应用,认识到科技对社会发展的推动作用,增强社会责任感。
课程性质:本课程为实践性较强的学科,注重理论联系实际,培养学生动手能力、创新能力及团队协作能力。
学生特点:本年级学生具备一定的电子基础知识,对新技术、新事物充满好奇,但实践经验不足,需要通过本课程加强实践操作能力的培养。
教学要求:教师应结合学生特点,以实践为主线,注重启发式教学,引导学生主动探索,提高课堂教学效果。
同时,关注学生个体差异,因材施教,确保每个学生都能在课程中取得实际进步。
通过课程目标分解,为后续教学设计和评估提供依据。
二、教学内容1. 单片机基础理论:- 单片机的结构组成与工作原理- 单片机编程语言(C语言基础)- 单片机指令系统与寻址方式2. 单片机编程与调试:- 常用编程软件的使用方法- 单片机程序设计步骤与技巧- 程序调试与故障排查3. 单片机外围电路设计:- 常用电子元件的原理与应用- 单片机与外围电路的接口技术- 电路设计与系统集成4. 实践项目:- 简单的交通灯控制系统- 数字温度计设计- 智能小车控制教学大纲安排:第一周:单片机基础理论及编程语言介绍第二周:单片机指令系统与寻址方式学习第三周:编程软件使用及程序设计基础第四周:外围电路设计原理及实践第五周:实践项目一:简单交通灯控制系统设计与实现第六周:实践项目二:数字温度计设计第七周:实践项目三:智能小车控制教材章节关联:第一章:单片机概述第二章:单片机结构与原理第三章:单片机编程语言第四章:单片机指令系统第五章:单片机外围电路设计第六章:单片机实践项目教学内容确保科学性和系统性,以实践为导向,结合教材章节,分阶段逐步提升学生的理论水平和实践能力。
一、项目背景随着科技的不断发展,单片机技术在各个领域得到了广泛应用。
为了提高学生的实践能力和创新意识,本课程设计旨在让学生掌握单片机的基本原理、硬件设计和软件编程方法,培养学生的动手能力和团队合作精神。
二、设计目标1. 熟悉单片机的基本原理和组成;2. 掌握单片机的硬件设计方法;3. 掌握单片机的软件编程技巧;4. 培养学生的动手能力和创新意识;5. 培养学生的团队合作精神。
三、设计内容1. 单片机基础知识(1)单片机的概念、发展历程和分类;(2)单片机的内部结构及功能;(3)单片机的编程语言及编译器;(4)单片机的接口技术。
2. 单片机硬件设计(1)单片机系统设计原则;(2)单片机外围电路设计;(3)单片机电源电路设计;(4)单片机时钟电路设计;(5)单片机通信接口设计。
3. 单片机软件设计(1)单片机程序设计方法;(2)单片机程序结构及流程;(3)单片机中断系统设计;(4)单片机定时器/计数器设计;(5)单片机A/D和D/A转换设计。
4. 单片机综合应用(1)单片机在智能家居中的应用;(2)单片机在工业控制中的应用;(3)单片机在物联网中的应用;(4)单片机在汽车电子中的应用。
四、设计步骤1. 确定设计主题和目标;2. 进行市场调研和需求分析;3. 设计单片机系统方案;4. 选择合适的单片机型号;5. 设计硬件电路图;6. 编写程序代码;7. 调试和优化系统性能;8. 撰写设计报告。
五、评价标准1. 设计方案的合理性、创新性和实用性;2. 硬件电路图的规范性、正确性和美观性;3. 软件代码的规范性、正确性和可读性;4. 设计报告的完整性、条理性和逻辑性;5. 项目答辩的表现。
六、设计时间安排1. 前期准备(1周):确定设计主题、进行市场调研和需求分析;2. 设计方案(2周):设计单片机系统方案、选择单片机型号;3. 硬件设计(3周):设计硬件电路图、绘制原理图和PCB板;4. 软件设计(3周):编写程序代码、调试和优化系统性能;5. 项目答辩(1周):准备答辩材料、进行项目答辩。
单片机课程设计单片机课程设计可以涉及许多不同的主题和项目,主要取决于你所学的单片机型号和课程要求。
以下是一个可能的单片机课程设计的概述:主题:设计一个简单的智能家居系统设计目标:1. 使用单片机控制智能家居系统的各个部分,如灯光,窗帘,温度等。
2. 实现通过手机应用或网页控制家居系统的功能。
3. 添加传感器以监测环境条件。
设计步骤:1. 硬件准备:- 选择适合的单片机型号,如Arduino、Raspberry Pi等。
- 选择需要控制的组件,如LED灯、电机、温度传感器等。
- 连接单片机和组件,确保硬件能够正常工作。
2. 软件开发:- 使用合适的集成开发环境(IDE),如Arduino IDE、Python等。
- 编写代码来控制各个组件,例如控制LED灯的亮度、电机的转动方向等。
- 开发一个手机应用或网页来远程控制家居系统的功能。
3. 系统测试和优化:- 测试代码是否能够正确地控制各个组件。
- 测试远程控制功能是否正常工作。
- 根据测试结果进行代码优化,确保系统的稳定性和可靠性。
4. 展示和演示:- 展示智能家居系统的功能和界面。
- 演示如何通过手机应用或网页远程控制家居系统。
- 回答观众的问题,解释实现原理和技术细节。
总结:单片机课程设计可以选择不同的主题和项目,这只是其中一个例子。
通过设计一个智能家居系统,你可以学习如何使用单片机控制各种组件,并实现远程控制功能。
这个项目还可以扩展,添加更多的功能和传感器,以满足不同的需求和兴趣。
完成这个课程设计,你将有机会学习和应用单片机的基础知识和开发技巧。
单片机课程设计心得体会合集15篇单片机课程设计心得体会合集15篇单片机课程设计心得体会11、通过这次课程设计,加强了我们动手、思考和解决问题的能力。
在整个设计过程中,我们通过这个方案包括设计了一套电路原理和PCB 连接图,和芯片上的选择。
这个方案总共使用了74LS248,CD4510各两个,74LS04,74LS08,74LS20,74LS74,NE555定时器各一个。
2、在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的接法可以行得通,但实际接上电路,总是实现不了,因此耗费在这上面的时间用去很多。
3、我沉得做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解和运用各个元件的功能,而且考试内容有限,所以在这次课程设计过程中,我们了解了很多元件的功能,并且对于其在电路中的使用有了更多的认识。
平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。
而且还可以记住很多东西。
比如一些芯片的功能,平时看课本,这次看了,下次就忘了,通过动手实践让我们对各个元件映象深刻。
认识来源于实践,实践是认识的动力和最终目的,实践是检验真理的唯一标准。
所以这个期末测试之后的课程设计对我们的作用是非常大的。
4、在制作PCB时,发现细心耐心,恒心一定要有才能做好事情,首先是线的布局上既要美观又要实用和走线简单,兼顾到方方面面去考虑是很需要的,否则只是一纸空话。
5、在画好原理图后的做PCB版时,由于项目组成员对单面板的不熟悉,导致布线后元件出现在另一边,增加了布线难度,也产生很多不曾注意的问题,今后要牢记这个教训,使以后布线更加顺利。
6、经过两个星期的实习,过程曲折可谓一语难尽。
在此期间我们也失落过,也曾一度热情高涨。
从开始时满富盛激情到最后汗水背后的复杂心情,点点滴滴无不令我回味无长。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
51单片机课程设计报告一、课程目标知识目标:1. 理解51单片机的硬件结构、工作原理及其功能特点;2. 学会使用51单片机的指令系统进行程序设计;3. 掌握51单片机与外围电路的接口技术,能实现简单的硬件控制功能;4. 了解51单片机在嵌入式系统中的应用及发展趋势。
技能目标:1. 能够运用C语言编写51单片机的程序,实现基础控制功能;2. 能够运用仿真软件对51单片机程序进行调试,分析并解决简单问题;3. 能够设计简单的51单片机硬件系统,进行电路连接和功能测试;4. 培养学生的动手能力、创新能力和团队协作能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发学习热情;2. 培养学生严谨、务实的科学态度,提高自主学习能力;3. 培养学生关注社会发展,了解科技在生活中的应用,增强社会责任感;4. 培养学生团队合作精神,尊重他人意见,善于沟通交流。
课程性质:本课程为实践性较强的电子技术课程,以51单片机为核心,结合硬件和软件,培养学生的实际操作能力和创新能力。
学生特点:学生具备一定的电子技术基础知识,对单片机有一定了解,但实践经验不足。
教学要求:结合学生特点,注重理论与实践相结合,强调动手实践,提高学生的实际操作能力和解决问题的能力。
通过课程学习,使学生能够独立完成简单的51单片机控制系统设计。
二、教学内容根据课程目标,教学内容分为以下几个部分:1. 51单片机硬件结构及原理- 熟悉51单片机的内部结构、引脚功能;- 掌握51单片机的工作原理及性能特点。
2. 51单片机指令系统与编程- 学习51单片机的指令集,理解各指令的功能和使用方法;- 掌握C语言在51单片机编程中的应用。
3. 51单片机外围接口技术- 学习51单片机与常见外围电路(如LED、LCD、键盘等)的接口技术;- 掌握外围设备的控制原理及编程方法。
4. 仿真软件的使用- 学习使用Keil、Proteus等仿真软件进行51单片机程序设计和调试;- 掌握仿真软件的操作方法,提高程序调试效率。
单片机电子时钟课程设计实验报告(1)单片机电子时钟课程设计实验报告一、实验内容本次实验的主要内容是使用单片机设计一个电子时钟,通过编程控制单片机,实现时钟的显示、报时、闹钟等功能。
二、实验步骤1.硬件设计根据实验要求,搭建电子时钟的硬件电路,包括单片机、时钟模块、显示模块、按键模块等。
2.软件设计通过C语言编写单片机程序,用于实现时钟功能。
3.程序实现(1)时钟显示功能通过读取时钟模块的时间信息,在显示模块上显示当前时间。
(2)报时功能设置定时器,在每个整点时,通过发出对应的蜂鸣声,提示时间到达整点。
(3)闹钟功能设置闹钟时间和闹铃时间,在闹钟时间到达时,发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
(4)时间设置功能通过按键模块实现时间的设置,包括设置小时数、分钟数、秒数等。
(5)年月日设置功能通过按键模块实现年月日的设置,包括设置年份、月份、日期等。
三、实验结果经过调试,电子时钟的各项功能都能够正常实现。
在运行过程中,时钟能够准确、稳定地显示当前时间,并在整点时提示时间到达整点。
在设定的闹铃时间到达时,能够发出提示蜂鸣,并在屏幕上显示“闹钟时间到了”。
同时,在需要设置时间和年月日信息时,也能够通过按键进行相应的设置操作。
四、实验感悟通过本次实验,我深刻体会到了单片机在电子设备中的广泛应用以及C 语言在程序设计中的重要性。
通过实验,我不仅掌握了单片机的硬件设计与编程技术,还学会了在设计电子设备时,应重视系统的稳定性与可靠性,并善于寻找调试过程中的问题并解决。
在今后的学习和工作中,我将继续加强对单片机及其应用的学习与掌握,努力提升自己的实践能力,为未来的科研与工作做好充分准备。
单片机课程设计实验报告设计题目:基于单片机的多功能综合应用系统的设计专业:电子信息工程班级:姓名:指导老师:目录第一章设计说明1.1 设计目的 (3)1.2 设计内容及要求 (3)第二章硬件电路仿真实现2.1 硬件结构分析 (5)2.2基本功能仿真电图 (6)2.3扩展功能仿真电路图 (10)2.4 实物电路图 (15)第三章软件设计实现3.1软件程序内容 (16)3.2模块分析 (16)3.3 程序流程图 (17)第四章系统测试4.1 软件调试 (19)4.2硬件调试 (19)第五章心得体会 (20)第六章参考文献 (21)附录 (21)第一章设计说明1.1 设计目的单片机在许多领域使用十分广泛,如智能仪器仪表、实时工控、通讯设备、导航系统、家用电器等。
各科任老师们经常说“学好单片机,工作就不成问题了。
”可见学好单片意义之重大。
单片机作为一门基础学科,既是对前期学习C语言的综合运用,也是理论与实践相结合的一大体现。
本次课程设计通过基础部分,拓展功能以及整体电路的实现能很好地锻炼我们的动手及编程能力。
1.2 设计内容及要求内容:1.设计并实现具有复位功能的单片机小系统。
2.利用单片机进行灯光的场景开关控制、循环点亮控制、花样变化控制及速度变化控制(如:左右循环、扩散收缩式移动、流星雨、舞台灯光综合效果、名曲名句跟随显示等。
至少应做两项:前两项选一并有速度变化控制功能,后三项选一或自创特色花样)。
3. 炫彩音乐显示(依据3秒以上某名曲名句,模拟高、中、低音三分频,彩色LED随音频变化而起伏显示的效果,进一步地,LED 亮度跟随音乐响度闪烁)。
4.利用单片机进行灯光的色彩连续变化效果控制。
5.利用单片机进行灯光的三色联动定时控制(以交通灯为例)。
(说明:3、4中二选一,1、2、5必选)6. 配合2至5项中功能,实现液晶屏输出功能或状态信息。
7. 以调节5或4项中的时间为例实现基于4X4键盘的输入功能。
课程设计报告第一部分:概述1.1 课程设计的背景和意义单片机技术在现代工业生产和科研中起着举足轻重的作用,因此对单片机技术的理论和应用知识的学习显得尤为重要。
本课程设计的目的在于通过理论与实践相结合的方式,使学生能够全面掌握单片机技术的基本原理和应用方法,为将来的工作和研究打下坚实的基础。
1.2 课程设计的目标和要求本课程设计旨在培养学生对单片机技术的全面理解和应用能力,具体要求包括:- 掌握单片机的基本原理和结构- 熟练掌握单片机的编程语言和开发工具- 能够设计并实现简单的单片机应用系统- 具备一定的单片机故障排除和维护能力第二部分:课程内容2.1 单片机基础知识- 单片机的定义和分类- 单片机的基本结构和工作原理- 单片机的发展历程及应用领域2.2 单片机编程语言- C语言在单片机编程中的应用- 汇编语言在单片机编程中的应用- 单片机常用编程语言对比与选择2.3 单片机开发工具- 单片机编程与仿真工具的选用- 常用单片机开发板介绍与使用- 单片机调试工具的应用2.4 单片机应用系统设计- 单片机控制原理- 单片机在自动控制领域的应用案例- 单片机在智能监控领域的应用案例2.5 单片机故障排除与维护- 单片机常见故障及解决方法- 单片机维护的注意事项- 单片机相关知识的拓展与学习第三部分:课程设计方法3.1 教学内容的设置本课程设计旨在通过理论教学和实践操作相结合的形式展开教学,具体内容包括课堂讲解、实验演示、课程设计等多种形式。
3.2 教学方法的选择- 教师为主导,学生为主体的教学方式- 实验操作和项目设计为主要形式- 多媒体教学与互动授课相结合3.3 课程评估方式本课程将通过平时表现、实验报告、课程设计报告和期末考核等方式对学生的学习情况进行全面评估。
第四部分:课程设计实施4.1 教学内容详细安排- 第1-2周:单片机基础知识- 第3-4周:单片机编程语言- 第5-6周:单片机开发工具- 第7-8周:单片机应用系统设计- 第9-10周:单片机故障排除与维护4.2 实验教学实施方案- 设置不同难度的实验内容- 强调实验操作的规范性和实用性- 配备实验教学相关设备和工具4.3 课程设计作业安排- 各阶段的课程设计报告要求- 课程设计报告的提交时间和形式- 课程设计报告的评分标准第五部分:课程总结和展望5.1 课程总结通过本次课程设计,学生对单片机技术的基本理论和应用能力得到了显著提升,实践操作能力也得到了锻炼和提高。
单片机课程设计—八音盒
专 业 自动化
学 号 1062510233
学生姓名 张成振
指导教师 黄皎
摘要
本设计是基于STC90C516RD+单片机设计的八音盒,按下按键可以演奏预先
设定的歌曲旋律。通过本设计,可以学习MCS-51系列单片机定时器、外部中断、
按键扫描、数码管显示以及蜂鸣器控制等程序设计,从而对51系列单片机有直
观的认识。
本设计设定中7音和高7音,通过矩阵键盘可以控制蜂鸣器发出某一对应音
调,可以弹奏乐曲,实现电子琴的功能。通过外部中断可实现演奏预先设定的歌
曲的功能。同时,数码管动态显示歌曲对应曲目或音调对应音高。
通过反复调试,各项功能均能准确无误的实现,实现基本部分和提高部分要
求。通过本次课程设计,加深了对单片机原理课程的理解,强化了责任意识,增
强了团队合作,达到了预期目的和效果。
关键词:51单片机 八音盒 定时器 外部中断 按键扫描 数码管显示
一、绪论
1.1 课程设计背景
《单片机》是一门技术性、应用性很强的学科,实验课教学是它的一个极为
重要的环节。不论理论学习还是实际应用,都离不开实验课教学。如果不在切实
认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理
论与实践脱节,学习与应用脱节的局面。
1.2 课程设计目的
让同学们在理论学习的基础上,通过完成一小系统的设计,使学生不但能够
将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器
件、印制电路板等方面的知识进一步加深认识,同时在焊接技术、相关仪器设备
的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些传感器应
用系统的开发设计工作打下一定的基础。
1.3 课程设计任务
1.3.1 基本部分要求
利用蜂鸣器和K20-K27制作一个八音盒,内存八首乐曲,当按下不同的按键
时,奏出不同的乐曲。其中《茉莉花》是必选曲目,其他任意。例如:按下K20
奏出《茉莉花》。(提示:利用定时器产生不同的音调,需要查do,re,mi等音
调的频率。)
1.3.2 提高部分要求
把其他按键当作琴键,可以弹奏乐曲。
1.4 课程设计意义
通过自己动手设计单片及组成的器件,在软件及硬件上进一步了解单片机的原理,深入
了解了单片机C51语言的实际应用,能更深地理解课堂上所学的内容,巩固C语言程序编
写,体会作为一名设计人员所需要具备的各种能力,学会理论知识联系实际,提高发现问题,
分析问题,解决问题和实践动手的能力。
二、系统整体设计
2.1 系统设计原理
2.1.1 音乐发生器设计流程及思路
在进行设计前,首先要对音乐知识有基本的理解,其次要明白单片机产生音
乐脉冲的原理,最后完成硬件原理图和相关程序的设计。
音作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人
耳,听觉系统将神经冲动传达给大脑,进而产生听觉。人耳能听到的声音频率大
约在11~20000Hz,而音乐中使用的音一般在27~4100Hz。
乐音体系中各音级的名称叫做音名,被广泛采用的是C D E F G A B(do re
mi fa so la si则多用于歌唱,称为唱名)。乐音体系中音高关系的最小尽量单
位叫做半音,两个半音构成一个全音。乐音中有几十个高低不同的音,但是最基
本的只有这七个音,其他高、低音的音名都是在这个基础上变化出来的。
在乐谱表上用来表示正在进行的音的长短的符号,叫做音符。不同的音符代
表不同的长度。音符有一下几种:全音符、二分音符、四分音符、八分音符、十
六分音符、三十二分音符、六十四分音符。
此外,还有一种附点音符,它就是指带附点的音符,所谓附点就是记载音符
右边的小圆点,表示增加前面音符时值的一半。
音持续的长短即时值,一般用拍数表示,休止符表示暂停发音。音符与节拍
数之间的对应关系如表1所示。
表1 音符与节拍数之间的对应关系表
音符 节拍数 音符 节拍数
x--(全音符) 4拍 x·(附点八分音符) 3/4拍
x-(二分音符) 2拍 x·(附点十六分音符) 3/8拍
X(四分音符) 1拍 000(三分休止符) 休止3拍
X(八分音符) 1/2拍 00(二分休止符) 休止2拍
X(十六分音符) 1/4拍 0(四分休止符) 休止1拍
x·(附点四分音符) 1.5拍 0(八分休止符) 休止1/2拍
一首音乐及时由许多不同的音符组成的,而每一个音符对应着不同的频率,
这样就可以利用不同的频率的组合,加以拍数对应的延时来构成不同的音乐。
2.1.2 音频脉冲和音乐节拍的实现
音乐是由不同的音乐脉冲和音乐节拍配合产生的,因此设计之前,首先要对
它们进行了解。
2.1.3 音频脉冲的产生
音乐的产生需要不同频率的音频脉冲,对于单片机而言,可以利用它的定时
/计数器产生这样的方波频率信号。具体地说,只要知道某一音频的频率,求得
它的周期,然后将次周期除以2,得到半周期的时间,利用定时/计数器计时这
半个周期,计时到后就将输出脉冲的I/O反相。就可以在I/O端口上得到此脉冲。
单片机工作在12MHz时钟频率下,其时钟周期为1us,因此可以利用89C51
的内部定时/计数器T0,使其工作模式为1,工作在计数器状态下[9],改变计数
初值TH0和TL0以产生不同频率的脉冲信号。T的值决定了计数初值TH0和TL0
的值,TH0=T/256,TL0=T%256。
计数值公式如下:
2622100000065536265536riFFT
式中,iF:单片机内部时钟周期为1us,所以其频率为1MHz。
rF:产生音符所需的频率。
通过上式计算,可以求得各个音符频率的计数值T。
2.1.4 音乐节拍的产生
节拍是指音乐持续的长短,是除音符之外音乐的另一关键组成部分,在单片
机系统中可以通过延时来实现。
如果1/4拍的延时设为0.2s,则1拍的时间为0.8s。以此类推,可以求出
其余节拍的值,节拍的延时时间值与音乐的曲调值有相对应的关系,表2所示为
不同曲调下的1/4和1/8节拍的时间设定。
如果单片机要实现自己播放音乐,那么必须在程序设计中考虑到节拍的设
置,在89C51中,可以用一个直接存储一个音符,其中低4位是节拍码。节拍数
和节拍码的对照表如表3所示。
表2 各调节拍的时间设定
曲调值(1/8节拍) DELAY 曲调值(1/4节拍) DELAY
调4/4 62ms 调4/4 125ms
调3/4 94ms 调3/4 185ms
调2/4 125ms 调2/4 250ms
表3 节拍数与节拍码的对照
节拍码 节拍数 节拍码 节拍数
1 1/4拍 1 1/8拍
2 2/4拍 2 1/4拍
3 3/4拍 3 3/8拍
4 1拍 4 1/2拍
5 1.25拍 5 5/8拍
6 1.5拍 6 3/4拍
8 2拍 8 1拍
A 2.25拍 A 1.25拍
C 3拍 C 1.5拍
F 3.75拍
2.1.5 音频功放
音乐的播放最后是通过扬声器完成的,但是直接用单片机产生的音频脉冲不
足以直接驱动扬声器来完成音乐的播放,因此这就要求在单片机端口与扬声器之
间链接功率放大电路,以实现最终的目的。
评定功率放大电路有3个重要的指标,即输出功率、效率、非线性失真。总
的来说,要求功率放大器在保证系统安全运用的情况下,获得尽可能大的输出功
率、尽可能高的效率和尽可能小的非线性失真[10]。为了简化设计,这里用了基
于三极管的音频功放电路。驱动电路如图1所示。
图1 音频驱动电路
2.2 系统硬件设计
2.2.1 51单片机最小系统设计
音乐发生器设计电路包括51系列单片机系统图和音频功放电路以及显示电
路。单片机输出的音频脉冲信号比较微弱,一般只有几个微安,经过三极管的放
大可以直接驱动喇叭发声。硬件电路原理图如图2所示。
图2 硬件设计图
2.2.2 键盘接口电路
如图2-2所示,为键盘接口电路,包含行列式键盘和独立式按键输入电路。
P20-P23为行,P24-P27为列,构成4×4行列式键盘。按键编号规律为S2+行
号+列号。例如S226表示P22行和P26列跨接处的按键。
K20-K27构成独立式按键,分别接在P20-P27上,当按键按下时,对应的
口线输入0,同时相应的LED点亮。D20-D27构成P20-P27的状态指示,当某
口线输出0,相应的LED点亮。有4个用途:1、当行列式键盘逐行扫描时,可
做为正在被扫描的行的指示。2、当行列式键盘逐行扫描时,可做为已按下键的
指示。例:当S215键按下,扫到P21行时,D21和D25会被点亮。3、可做为独
立式按键被按下的指示。见上一段。4、当P2口不做为键盘输入时,D20-D27
可做为输出器件,实现流水灯等功能。
2.2.3 数码管显示电路
如图2-3所示,为数码管显示电路。这部分电路由4位共阴的数码管LED1、
单个数码管LED2和8个独立发光二极管L1-L7组成。这3个部分都是共阴结构,
并联在一起,连接在P0口上。
LED1用于完成LED动态显示实验,各个位选线为P24-P27,段码由P0口输
出;LED2的COM端接地,完成LED静态显示实验;L1-L7,可以方便地读出P0
输出的二进制数据,亦可做流水灯实验。
图2-2 键盘接口电路