科信学院。
单片机系统设计项目(**项目)
设计说明书。
2012/2013学年第二学期)
题目单片机****器_ _
专业班级 :
学生姓名 :
学号 : 指导教师 :
设计周数2周。
设计成绩。2024年6月21日。
单片机****器。
1、课程目的与要求设计。
1.1设计目的。
本课程设计是通信工程专业的一门软硬件相结合实践的专业基础课,旨在提高学生的单片机应用、软件编程及小型工程项目开发能力。本设计将进一步加强学生对单片机硬件的理解,增强对汇编或c语言的灵活运用。要求学生能结合单片机、模拟电路、数字电路、汇编或c语言,实现基本的应用系统,为以后从事相关行业打下实践基础。
本设计以stc89c52单片机为核心。通过对其按键的设定来实现**的**,通过对键盘的设置可以实现人机对话,借助键盘可以向计算机系统输入指令,置数、送操作命令、控制程序的执行走向等,并最终通过数码管显示出**的乐曲。
重点研究内容有:
单片机最小系统的设计与实现。
键盘电路的设计与控制。
扬声器控制电路的设计与实现。
lcd显示器的驱动及显示。
软件模块的设计与编写。
1.2设计要求。
利用i/o口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少三首乐曲,每首不少于30秒)
●采用lcd或数码管显示信息。
●开机时有英文欢迎提示字符,**时显示歌曲序号(或名称)
●可自由选择歌曲进行**,并且能按选上一曲,下一曲。
2、课程设计正文。
2.1、电路设计方面。
2.1.1、****器的工作原理。
利用i/o口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲。
扫描键盘,确定按下的键值,并**相应的曲目。
采用led(或lcd)显示信息。
一首乐曲演奏的原理是:一首乐曲是由音阶和节拍两大要素构成,不同音阶分别对应不同的频率,发出不同的音调,而节拍则控制发出音调时间的长短;若将乐曲的音调连续发出,并使其按相应的节拍变化,即可演奏一首乐曲。根据这一特点,我们采用单片机辅以相应的接口来设计****器。
2.1.2、****器的功能。
此次设计的****器具有以下功能:
****器预先设定1~3共3首乐曲,依次为军港之夜,死了都要爱,中华人民共和国国歌。
设定三个按键:上一曲、下一曲、停止。 通过按键上一曲和下一曲选定某一曲目,在led数码管上显示数字1~3。
当按下暂停键时,****器暂停正在**的曲目。
当按下复位键时,系统将对芯片进行初始化。
2.1.3、****器的硬件组成。
根据系统****器的功能要求,一个完整的****器电路相当于一个简单的单片机系统,该系统由按键开关、单片机、led显示电路、lcd显示电路、扬声器控制电路5个方面构成。
单片机:单片机为整个系统的核心部分,是带动整个系统工作的重要部件。
键盘输入:键盘输入用来控制输入指令,发出指令至单片机,使单片机按照指令工作。
蜂鸣器:蜂鸣器作为输出部分按照键盘给单片机的指令发出乐曲。
lcd、led显示电路:lcd、led显示器也作为输出部分,按照键盘给单片机的指令,显示开机界面和正在演奏的乐曲。
2.1.4、系统方案设计。
根据设计任务的基本要求,设计了由单片机(stc89c52)作为主控器件,按键组成的按键操作电路,以及蜂鸣器组成的发声电路,连接led显示器将要演奏的乐曲序号显示出来,通过连接扬声器使其发出**。系统总体结构如图1所示。
2.1.5、单元电路设计。
2.1.5.1、按键电路。
此次课程设计共使用了3个独立按键,采用中断控制分别接int0、int1、t1中断接口。键盘的设计使用了单片机p3口的p3.2、p3.
3、p3.5口,s1是上一曲按键,s2是下一曲按键,s3是**/暂停按键。按键电路原理图如图2所示。
图2 独立按键电路原理图。
2.1.5.3、扬声器控控制电路的设计。
在扬声器电路的设计中使用了lm386音频功率放大器。在此将放大器增益设为200。lm386的电路原理图如图3所示。
图3 蜂鸣器电路原理图。
2.1.5.4、led显示电路的设计。
led显示器由4位8段led数码管组成,用于显示系统在各种不同条件下的状态。在此用的led数码管为8字型数码管,分为a、b、c、d、e、f、g、dp八段,其中dp为小数点。数码管常用的有12根管脚,每一段有一根管脚,另外4根管脚为一个数码管的公共端,4根之间相连通(本次课程设计只用了1位数码管,故只有1位接地)。
数码管从电路上来看可分为共阴和共阳两种,在本设计中使用的是共阴极的led。led在电路中的连接如图4所示。
图4 数码管电路原理图。
2.1.5.5、lcd显示屏的设计。
此次课程设计采用1602型lcd显示屏,用作显示开机欢迎界面。1602显示屏共有16个引脚,分别为vss、vdd、vl、rs、rw、e、d0-d7、bla、blk。其中vss为电源地,接gnd;vdd接+5v电源;vl为液晶显示器对比度调整端;rs为寄存器选择,高电平选择数据寄存器,低电平选择指令寄存器;rw为读写信号线,高电平进行读操作,低电平进行写操作;e为使能端;d0-d7为8位双向数据线;bla为背光电源正极(+5v);blk为背光电源负极(gnd)。
lcd液晶显示屏电路如图5所示。
图5 lcd液晶显示屏电路原理图。
2.1.6、****器总体电路设计。
设计好各个单元的电路之后,经过组装就组成了****器的总体电路,**器总体电路图如图6所示。
图6:****器总体电路设计图(**图)
2.1.7、proteus**过程。
根据编写好的程序**,利用proteus**软件进行**。本次设计使用了stc89c52单片机、4位8段数码管、数码管保护电阻、1602型lcd液晶显示屏、独立按键、蜂鸣器等器件。根据**选择正确型号的器件及合理的参数,正确连接单片机各个接口(led数码管通过保护电阻连接单片机的p0口,lcd显示屏连接p1及p2.
3、p2.4、p2.5口,按键连接p3.
2、p3.3、p3.5口)连接完成后,烧入**,再进行调试。
2.1.8、**过程中遇到的问题及解决方案。
数码管表数据不正确。
解决方法:在调试过程中,我们发现利用led数码管显示的歌曲信息不正确。检查程序**没有发现问题,接下来检查数码管查询表,随便修改对应位置的表值,然后再进行**,发现显示数据发生了变化(仍不正确),说明是数码管表值发生了错误,通过查阅书籍发现**中的数码管表和书上的完全一样,问题只能是使用的数码管不能正确识别**中的表值,然后我们通过计算,算出了适合使用的数码管的表值(02h,9eh,24h,0ch,98h,48h,40h,1eh,00h,08h)。
然后再进行测试,结果显示正确,问题解决!
2.2硬件连接方面。
2.2.1、器件连接。
根据设计好的电路,焊接独立按键,并利用排线,插排等器件把各个部分(lcd显示屏,按键)连接到单片机上。
2.2.2、硬件调试。
连接**件电路后,使用stc51单片机烧录软件把编译好的程序烧录到单片机中,并调试,直到各个电路正常工作。
2.2.3、硬件调试过程**现的问题及解决方案。
● lcd液晶显示屏不显示信息。
解决方法:因为在**过程中lcd显示屏能够正常工作,所以我们认为问题出现在单片机上,决定更换数据交换接口。首先更改**,因为原**中定义的数据交换接口为p0.
0-p0.7,把它更换为p1.0-p1.
7,然后用proteus从新进行**,电路能正常工作。再利用排线把lcd显示屏连接到单片机的p1.0-p1.
7口,从新烧录新程序,结果lcd显示屏能够正常显示开机欢迎界面,问题解决!
3、课程设计总结。
深该体会到单片机技术应用领域的广泛,不仅使我对学过的单片机知识有了很多的巩固,同时也对单片机这一门课程产生了更大的兴趣。
回顾起此次单片机课程设计,小组的成员们都是感慨颇多,的确,从理论到实践,在两个星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。
这次这个****器的课设让我们明白了团队协作的重要性,以后仍要积极发扬这种合作精神。
4、参考文献。
1] 吴炳胜等。80c51单片机原理与应用技术。冶金工业出版社,2008,6(3):150-152
2] 张毅刚,彭喜元,董继成。高等教育出版社,2009,2(14):26-30 39-59 107-109 120-125 226-263
5、附录。程序**:
rs equ p2.3
rw equ p2.4
e equ p2.5
out bit p2.0 ;定义音频输出端口,p2.0
n equ 3 ;歌曲总数。
out_num equ p0 ;数码管显视当前所放歌曲曲数。
org 0000h
ajmp start
org 0003h
ajmp last_song ;外部中断0用于接上一曲歌按键,p3.2,int0
org 000bh
ajmp f_t0 ;定时器0用于定时,作音符发生器用p3.4 t0
org 0013h
q4: ajmp next_song ;外部中断1接下一曲歌按键,p3.3 int1
org 001bh
ajmp start_pause ;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffh,方式2,p3.5 t1
org 0033h
start: mov sp,#60h
main: lcall xxoo
mov p1,#01h
lcall enable
mov p1,#38h
lcall enable
mov p1,#0ch
lcall enable
mov p1,#06h
lcall enable
mov p1,#80h
lcall enable
mov dptr, #say1
lcall disp
mov p1,#0c0h
课程设计报告格式 课程设计
洛阳理工学院。课程设计说明书。课程名称。设计课题。专业。班级。学号。姓名。完成日期2014年12月26日。问题描述 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的内容要求。基本要求 小四宋体,行间距单倍行距,每段缩进两个字符。叙述一下设计的基本要求。测试数据 小四宋体,行间距单倍行距,每...
课程设计总结,课程设计报告
课程设计总结,课程设计报告。3.尝试应用项目管理软件进行项目进程的规划管理 绘制甘特图,不作硬性要求 二 选题说明。人事管理是企业信息管理的重要部分,面对大量的人事工资信息,财务部门采用人力处理将浪费大量的时间 人力和物力,且数据的准确性低。因此,开发一个界面友好,易于操作的人事工资管理软件进行自动...
课程设计 课程设计报告格式
学校名。课程设计报告。课程名称 c语言程序设计 系别 专业班级 学号。姓名。课程题目 企业人事管理系统 完成日期 指导老师 年月日。附件。课程设计的内容。企业人事管理系统 本项目的目标是开发一个功能实用,操作简便,简单明了的人事管理系统。能够录入人事的基本资料,在操作上能够完成诸如添加 修改 删除 ...