单片机课程设计报告

发布 2022-10-06 08:04:28 阅读 1846

报告。课程名称: 单片机课程设计报告。

课设题目: 基于单片机的**盒设计。

专业班级: 电子科学与技术0902班。

姓名: 徐万利学号: 090403038

课设时间: 2024年3月批阅时间。

指导教师: 朱建光成绩。

目录。摘要。

时间安排。第一部分:设计要求3

第二部分:方案设计3

第三部分:硬件介绍及原理图4

第四部分:程序流程图12

第五部分:系统调试12

第六部分:总结13

参考文献14

附录:程序15

摘要。本设计是一个基于stc12c5410ad单片机的**盒,依据单片机技术原理,通过硬件电路制作以及软件编译,设计制作出一个多功能**盒。该**盒主要由按键电路、复位电路、数码管显示电路以及蜂鸣器组成。

本设计利用keil编程软件对**盒源程序进行编程并调试。

时间安排:第一周: 周一至周三确定设计方案。

周四至周五画程序流程图。

第二周:周一至周二编写程序。

周三****调试程序。

周四撰写课程设计报告。

周五答辩。一、 课程设计要求。

利用i/o口产生一定频率的方波,驱动蜂鸣器,根据按键发出不同的音调,并能**一首歌。

二、 设计方案。

要想发出声音,只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的i/o反相,然后重复计时此半周期时间再对i/o反相,就可在i/o脚上得到此频率的脉冲。 具体做法如下所示 。

例如:高音(do)的音频=1109hz,周期t=1/1109s=901μs

定时器/计数器0的定时时间为:t/2=901/2μs =450μs 定时器450μs的计数值=定时时间/机器周期=450μs /0.54μs =833(时钟频率=22.

1184mhz) 装入计数器初值为65536-833=64703, 将64703装入t寄存器中,启动定时/计数器工作后,每计数833次时将产生溢出中断,进入中断服务时,每次对p2.6引脚的输出值进行取反,就可得到高音do(1109hz)的音符音频。不同的初值可以产生不同的频率。

把do re mi fa so la si分别编码为1—7,把计算出的对应音调初值储存在一个数据类型为unsigned int的数组中。

歌曲**的设计。先将歌曲的简谱进行编码,储存在一个数据类型为unsigned char 的数组中。程序从数组中取出一个数,查找到对应的音调初值赋给定时器,使之定时操作蜂鸣器,得出相应的音调。

三、 硬件介绍及原理图。

硬件原理框图:

1、stc12c5410ad

其中,其工作电压为3.5v到5.5v。ram是节,pwm是4路,程序空间大小是10k字节,有a/d转换功能,工作频率可得35m赫兹,工作温度范围-40 --85摄氏度。

其管脚说明如下所示:

2、ch451

ch451是一个整合了数码管显示驱动和键盘扫描控制以及μp监控的多功能外围芯片。ch451内置rc振荡电路,可以动态驱动8位数码管或者64位led,具有bcd译码、闪烁、移位等功能;同时还可以进行64键的键盘扫描;ch451通过可以级联的串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。

其管脚说明如下:

ch451的操作命令均为12位,操作命令如下:

3、按键连接方式如下:

按键**如下:

4、 数码管显示电路连接如下:

5、内部晶振电路连接如下:机器周期=12/22.1184μs

6、 扬声器链接电路如下:

四、 程序流程图。

五、 程序调试。

keil软件。我们写的汇编语言源程序要变为cpu可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编。

目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于mcs-51单片机的汇编软件有早期的a51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,keil软件是目前最流行开发mcs-51系列单片机的软件,这从近年来各**机厂商纷纷宣布全面支持keil即可看出。keil提供了包括c编译器、宏汇编、连接器、库管理和一个功能强大的**调试器等在内的完整开发方案,通过一个集成开发环境(uvision)将这些部份组合在一起。

运行keil软件需要pentium或以上的cpu,16mb或更多ram、20m以上空闲的硬盘空间、win98、nt、win2000、winxp等操作系统。

六、 总结。

将程序导入芯片,调试成功后,可任意弹奏自己想要的旋律。本课题通过制作电子琴,将几个模块很好的融合起来,对使用单片机设计简易电子琴进行了分析,并介绍了基于单片机电子琴统硬件组成。利用单片机产生不同频率来获得我们要求的音阶,最终可随意弹奏想要表达的**。

说明一首**是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们就可以利用不同的频率的组合,即可构成我们所想要的**了,于是我们可以利用单片机的定时/计数器来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可,然后我们利用功放电路来将**声音放大,同时通过显示模块来确知自己所弹的音符。

通过这次课程设计,我感觉收获了很多: 第一,通过实践,加深对单片机系列知识及其系统的认识。这个设计题目并不是新的,但从中能体现到一个系统开发设计的过程,足于让我们受益。

第二,通过设计学习到了很多软件的使用。本次设计,软件部分用到了protues进行硬件设计,用keil进行程系编译。

第三,提高了自己的动手能力。动手在一定程度上反映了一个人的能力,作为当代大学生,社会要求的我们不是只能说而不能做的人才。

参考文献。1]谭浩强著、c程序设计教程、北京:清华大学出版社、2007.7

2]李群芳,张士军,黄建编著、单片微型计算机、北京:电子工业出版社、2008.5

附录:程序。

#include<>

#define uchar unsigned char

#define uint unsigned int

sbit dout=p2^2;

sbit load=p2^3;

sbit din=p3^3;

sbit dclk=p3^4;

unsigned char code table=

unsigned int code music_freq=

65536,64703,64749,64835,64874,64948,65011,65066};/do,re,mi,fa,so,la,si高音,对应频率的定时器初值。

乐谱。unsigned char code tabmusic=

1,1,5,5,6,6,5,4,4,3,3,2,2,1,5,5,4,4,3,3,2,5,5,4,4,3,3,2,4,4,3,3,2,2,1};/一闪一闪亮晶晶。

sbit speak=p2^6; /音频输出端口。

unsigned char m=0,tt=0,tl=0,m0;

uchar flag=1; /电子琴与**盒切换标志位。

延时函数。void delay(uint a)

while(a--)

void timer0init()

tmod=0x11;

th1=music_freq[tabmusic[tl]]/256;

tl1=music_freq[tabmusic[tl]]%256;

tl0=(65536-50000)%256;

th0=(65536-50000)/256;

ea=1;et0=1;tr0=0;et1=1;tr1=0;

函数名称:外部中断0初始化说明:下降沿触发。

unsigned char ch451_read()

uchar i,value=0;

uchar temp=0x07;

if(dout==0)

{load=0;

for(i=0;i<4;i++)

din=temp&0x01;

dclk=0;

temp>>=1;

dclk=1;

load=1;

for(i=0;i<7;i++)

if(dout)value|=0x01;

value<<=1;

dclk=0;

dclk=1;

switch(value>>1)

case 0x40 : return 1;break;

case 0x43 : return 2;break;

case 0x41 : return 3;break;

case 0x42 : return 4;break;

case 0x48 : return 5;break;

case 0x4b : return 6;break;

case 0x49 : return 7;break;

单片机课程设计报告

单片机系统课程设计报告。专业 电气技术。学生姓名 朱海李威张杰。学号。指导教师 陈高燕。完成日期 2014 年 7 月 5 日。目录。1 设计任务和性能指标 1 1.1设计任务 1 2 设计方案 1 2.1方案论证 2 2.2总体设计框图 2 3 系统硬件设计 4 3.1红外线解码电路设计 4 3....

单片机课程设计报告

韶关学院。课程设计说明书 设计题目 基于单片机控制的智能交通灯设计。课程名称 微机原理与应用实训。学生姓名 学号。院系 物理与机电工程学院汽车系。专业班级 12机械制造及其自动化 5班。指导教师姓名及职称 谢杰讲师。陈锦儒助理实验师。起止时间 2015 年 3 月 2015 年 5 月。课程设计评分...

单片机课程设计报告

南京工程学院。课程设计说明书 题目实时钟芯片pcf8563的应用 课程名称单片机原理及应用a 院 系 部 中心 通信工程学院。专业电子信息工程 传感网 班级。学生姓名。学号。设计地点信息楼 c 210 指导教师。设计起止时间 2013年12月23日至 2013年12月27日。一 摘要1 二 课程设计...