最新范文 方案 计划 总结 报告 体会 事迹 讲话 倡议书 反思 制度 入党

单片机实训总结报告

日期:2020-12-30  类别:最新范文  编辑:一流范文网  【下载本文Word版

单片机实训总结报告 本文关键词:单片机,实训,总结报告

单片机实训总结报告 本文简介:超声波测距实训总结报告专业:电子信息工程班级:信息091姓名:郑干恒(15)何清华(43)指导教师:邬志锋日期:2012.6.19广东交通职业技术学院交通信息学院摘要超声波测距技术在当今社会生活中已有很广泛的应用,本报告在了解超声波测距原理的基础上,完成了基于时差测距原理的一种超声波测距系统的软硬件

单片机实训总结报告 本文内容:

超声波测距实训

总结报告

专业:

电子信息工程

班级:

信息091

姓名:

郑干恒(15)

何清华(43)

指导教师:

邬志锋

日期:

2012.6.

19

广东交通职业技术学院

交通信息学院

摘要

超声波测距技术在当今社会生活中已有很广泛的应用,本报告在了解超声波测距原理的基础上,完成了基于时差测距原理的一种超声波测距系统的软硬件设计,其中的控制芯片是STC89C52RC系列单片机。报告着重介绍了STC89C52RC与超声波测距模块组成的超声波测距系统的组成原理以及应用,另外也介绍了LCD显示等模组的应用。该系统可广泛应于小距离测距、机器人检测、车辆倒车雷达以及家居安防系统等应用方案。最后实际使用表明能实现基本测量。

【关键词】STC89C52RC

超声波

距离测量

一、设计背景

本次设计的是以STC89C52RC单片机为核心的微型化数字显示超声波距离测量仪。

二、

设计任务要求

1、

实现对目标距离非接触性测量

2、

实现测量距离的显示

三、超声波测距简介

超声波测距原理:超声波具有方向性好,在介质中传播能量消耗缓慢,且其速度远小于光速等特点,因而超声波可用于距离测定。超声波测距的基本思想是,通过测量从超声波发射到接受到反射回波的时间间隔来计算距离。

四、系统工作原理框图

超声波发送

发送

障碍物

液晶显示

超声波接收

图1

超声波测距系统原理框图

五、超声波测距的实现方法

总体介绍:

规格:10cm*10cm

实图:

功能简介

增加5cm报警距离

发射信号

超声波发射

超声波接收

复位键

减少5cm报警距离

液晶显示

蜂鸣器

下载端口

电源开关

停止信号发射

图2

实物图展示

5.1硬件实现方法

硬件电路主要分为单片机系统、显示及发声电路、矩阵键盘电路、超声波发射电路和超声波接收电路五部分。

5.1.1超声波发射电路

超声波发射电路原理图如图3所示,发射电路主要由反向器(74LS04)和超声波换能器构成。单片机P31口输出的40KHZ方波信号经一级反向器后送到超声波换能器的另一个电极,用这种推挽形式将方波信号加到超声波换能器两端以提高超声波的发射强度。输出端采用两个反向器并联,用以提高驱动能力。上拉电阻R9和R10一方面可以提高反向器74LS04输出高电平的驱动能力,另一方面可以增加超声波换能器的阻尼效果,缩短其自由振荡的时间。

图3

超声波发射电路

5.1.2超声波接收电路

超声波接收电路原理图如图4所示。集成电路CX20106A是一款红外线检波接收的专用芯片,考虑到红外遥控常用的载波频率38KHZ与测距的超声波频率40KHZ较为接近,可以利用它制作超声波接收电路。

图4

超声波接收电路

5.1.3单片机系统

测距系统以单片机STC89C52RC为核心,采用24MHZ晶振,以获得较稳定的时钟频率,减小测量误差。单片机用P31端口输出超声波换能器所需的40KHZ方波信号,利用外中断0监测超声波接收电路的返回信号。单片机系统电路如图5所示。

图5

单片机最小系统

5.1.4显示、发声电路

显示电路采用LCD1602液晶。发声电路采用蜂鸣器HXD。如图6

所示。

图6显示、发声电路

错误!未找到目录项。由于本系统所需要用到的按键比较少,所以采用独立式键盘电路

图7矩阵键盘电路

5.2软件实现方法

5.2.1

测距算法

超声波测距电路的程序设计主要由主程序、超声波发生子程序、超声波接收中断程序及显示子程序组成。

测量过程:超声波发生器发射出一系列超声波后,碰到反射物返回,然后接收器接收到发射波后送往CX20106A进行检波,产生外部中断,单片机通过计算前后时间差即可算出距离。假设环境温度为25°C,此时声速为V=346m/s,由此可以推出距离S:

S

=

v*△t

/2

△t=(TH0*256+TL0)/

(fosc/12)

既得,

S=V*(TH0*256+TL0)/

(fosc/12)/2

说明:THO,TLO为产生外部中断时的当前值,fosc为我们采用的晶振频率(24MHZ),通过上式可以求出距离S(m)。

5.2.2

主程序流程图

系统初始化

发送超声波脉冲

接收反射信号触发中断

计算距离

显示结果

图5

主程序流程图

说明:T0用于计算超声波的传播时间,工作在方式1,16位计数器,约32.5ms溢出一次,T1用于发射超声波,工作在方式2,8位重装载计数器,初值为0xe7,即每12.5us取反一次,产生40KHZ方波。T1以查询方式发射超声波,当定时器T0中断产生时,在中断处理程序中读取T1当前的计数值,因为晶振频率为24mhz,所以每计数一次用时0.5us,所以可以得到从超声波发送到反射回来的时间,进而可以通过计算得到距离。

六、

系统测试与误差分析

实际(cm)

1

2

3

4

10

40

60

80

100

110

120

130

测量(cm)

3

3

4

4

10

40

60

80

99

110

120

129

误差(cm)

2

1

1

0

0

0

0

0

1

0

0

1

经过测试得该系统的测距误差大约为1cm,测量盲区为0-—4cm,最大有效范围250cm

七、

参考文献

《单片机C语言应用100例》

王东峰

王会良

懂冠强

编著

电子工业出版社

《单片机实训指导书》

邬志锋

香永辉

编著

广东交通职业技术学院

《Altium

Designer

快速入门》

余向民

主编

北京航空航天大学出版社

实训心得

这次亲手做出超声波测距器,再用自己做的超声波测距行距离的测量,不仅能判断数据的正误,而且对其测距的原理非常的清楚,掌握了怎样把距离变为信号再表示出来的转换思想。在做超声波测距器的过程中,我们小组成员分工明确,各有所职,从刚开始找资料,分析资料讲的超声波测距原理,到大家确定方案,再到准备材料单,画出电路图,做出电路板,到焊接电路,和最后的调试电路,使其能够显示出数据,和尽可能的准确测出数据。在这个过程中,大家也碰到了些小麻烦,比如说,第一次制作好电路板的时候,我们的系统根本无法工作,无法下载程序,经过我们的细心查找,终于发现了一个重大的错误——我们的原理图上,原本应该接地的一个端口被接上了电源,导致晶振无法起振;并且在实际焊接电路板时有一个排阻也接反了。发现了这些错误后我们毅然决定重新再做一块电路板。第二块电路板做出来后,我们的板子已经能下载程序了。但是我们在接下来编写程序的工作中又遇到了一个难题:我们把在软件上调试好的程序下载到单片机系统中,但是却没能实现测距的功能,在多次反复检查硬件后,我们一致认为是超声波模块出现了故障,最后我们又到电协用示波器测试超声波的发射端,示波器显示我们的超声波发射电路工作正常,于是我们才确定了是超声波的接收电路出现故障。最后通过各种尝试及对发射电路的排查,我们终于找到超声波接收电路的故障所在,就是有一个电阻的阻值太大,我们换了阻值小的电阻后,终于实现了系统的测距功能,测距显示成功之后,还有一个问题就是测距不是那么准确,我们又对程序进行了多次改进,使我们的超声波测距系统测出的距离精确度大大提高了。

通过这次制作超声波测距,我们收获的,不仅仅是那些有关超声波、电子制作等的知识,更重要的是让我们明白到很多时候,大胆的猜测和勇敢地尝试,往往会得到意想不到的收获,心动不如行动,亲自动手付出的一份一份劳动,才能累积足够的高度去成为去抓住梦想的阶梯。

篇2:单片机及DSP课程设计报告

单片机及DSP课程设计报告 本文关键词:课程设计,机及,报告,DSP

单片机及DSP课程设计报告 本文简介:一、课设目的1、通过本设计,能综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。2、学会使用KEILC和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,

单片机及DSP课程设计报告 本文内容:

一、课设目的

1、通过本设计,能综合运用《单片机技术原理与应用》、《DSP原理与应用》《C语言程序设计》以及《数字电路》、《模拟电路》等课程的内容,为以后从事电子产品设计、软件编程、系统控制等工作奠定一定的基础。

2、学会使用KEIL

C和PROTEUS等软件,用C语言或汇编语言编写一个较完整的实用程序,并仿真运行,保证设计的正确性。

3、了解单片机接口应用开发的全过程:分析需求、设计原理图、选用元器件、布线、编程、调试、撰写报告等。

二、课设内容

设计一个基于单片机的音乐播放器,在播放音乐的同时并能显示播放的歌曲序号,同时可以实现上一曲、下一曲的转换;在播放的同时,还能实现暂停/开始的功能。

3、

问题分析、方案的提出、设计思路及原因

要想使播放器发出响声,就得设计一个能产生声响的程序,让单片机输出到扬声器。音调的高低用音阶表示,不同的音阶对应不同的频率。因此,不同频率的方波就可以产生音阶。由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。将与扬声器连接就可得到方波的周期,从而达到了控制频率,即音阶的目的。通过TXAL1

与TXAL2输入时钟信号,通过p1.0~p1.7输出控制现实控制信号显示,有p3.2、p3.3与p3.5分别作为上一曲、下一曲和开始暂停的控制输入。

显示电路是一个8位共阴极LED数码管。

单片机的P0.0-P0.7分别与数码管的A、B、C、D、E、F、G、DP相连接。

晶振电路由两个1nF的电容和一个6Mhz的晶体振荡器组成。节点1与单片机的XTAL2相连接,节点2与单片机的XTAL1相连接,从而为单片机提供时间信号,为音乐的播放节拍控制提供基本时间单位:当晶体振荡频率为6.MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:

控制电路,键一与p3.2相连、键二与p3.3相连、键3与p3.5相连。当电键按下时接口接低电平,从而实现对音乐播放器的控制。

键一联通实现上一曲更换,键发声电路由数字扬声器连接p2.0接口实现音乐的输出,由控制电路发出操作指令后,单片机调用相应程序,并将音乐信号由p2.0口输出,通过驱动扬声器发出美妙的音乐。二联通实现下一曲更换,键三联通实现开始暂停操作。

四、电路设计及功能说明,硬件原理框图及电路图

AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS

8位微处理器,俗称单片机。

总原理图

51单片机

显示电路

电源电路

键控电路

复位电路

晶振电路

发声电路

时钟电路

与振荡器共同产生单片机所需的工作时钟信号

功能选择电路

实现播放器的功能操作

显示电路

实现单片机的信息显示功能

开始

4、

软件部分的程序流程图,算法和使用的编程技巧;

初始化

查询歌曲曲目

上一曲、下一曲

数码管显示

暂停、播放

等待播放

关闭显示

播放音乐

判断是否结束?

结束

1、总体思路

主程序实现对单片机进行初始化后,进入曲目识别子程序,进行歌曲曲目判断。确定歌曲曲目后,数码管再进行显示。然后,子程序对是否播放进行循环判断,得到播放中断的指令后再进行播放。

执行播放后,关闭数码管显示并调用查表子程序进行播放音乐。在播放音乐的过程中,查表子程序循环判断音乐是否结束。当音乐结束时,程序跳转回曲目识别子程序。

5、

源程序清单

OUT

BIT

P2.0

;定义音频输出端口,p2.0

N

EQU

3;歌曲总数

OUT_NUM

EQU

P1;数码管显视当前所放歌曲曲数

ORG

0000H

AJMP

MAIN

ORG

0003H

AJMP

LAST_SONG

;外部中断0用于接上一曲歌按键

ORG

000BH

AJMP

F_T0

;定时器0用于定时,作音符发生器用

ORG

0013H

q4:

AJMP

NEXT_SONG

;外部中断1接下一曲歌按键

ORG

001BH

AJMP

START_PAUSE

;定时器1用计数,这里用作中断,接开始/暂停键,初值为0ffH,方式2

ORG

0030H

MAIN:

MOV

SP,#60H

MOV

DPTR,#TABLE

;DPRT指向每首歌曲的入口地址的地址。

MOV

R0,#30H

;R0中存入数据30H,这里在以30H开始的单元存放每首歌曲的入口地址,其中30H,31H存放歌曲的节拍入口地址,32H,33H存放歌曲音符入口地址,每首歌占用四个存储存单元。

MOV

R5,#00H

;R5中存放表TABLE中正在执行操作的序号

MOV

R6,#1

;R6存放正在设置入口信息的歌曲数

SET_TAB:

MOV

A,R5

;设置每首歌曲的入口信息,存放在以30H开始的存储单元中。

MOVC

A,@A+DPTR

MOV

@R0,A

INC

R5

INC

R0

MOV

A,R5

MOVC

A,@A+DPTR

MOV

@R0,A

INC

R5

INC

R0

MOV

A,R5

MOVC

A,@A+DPTR

MOV

@R0,A

INC

R0

INC

R5

MOV

A,R5

MOVC

A,@A+DPTR

MOV

@R0,A

INC

R0

INC

R5

INC

R6

;设置完一首歌曲后,歌曲数加一

CJNE

R6,#N+1,SET_TAB

;是否设置完,没有便继续,否则进行下面的操作

;***********************************

对中断,计数器的相关参数进行设置

MOV

TMOD,#61H

;计数器0工作方式1,计数器1工作方式2

MOV

TH1,#0FFH

;给计数器1置初值0FFH,又由于是工作方式2,所以

MOV

TL1,#0FFH

;计数器计数为1,相当于一外部中断。

SETB

ET1

;允许计数器1中断

SETB

ET0

;允许计数器具0中断

CLR

PT0

;计数器0为低优先级

SETB

PT1

;计数器1为高优先级

SETB

IT0

;外部中断0为跳沿触发

SETB

PX0

;高优先级

SETB

IT1

;外部中断1为跳沿触发

SETB

PX1

;高优先级

SETB

EX1

;允许外部中断1中断

SETB

EX0

;允许外部中断定0中断

SETB

EA

;开中断总开关

SETB

TR1

;定时器1开始工作,作中断用

SETB

OUT

;音频输出端口初始化

;***********************************

;设置结束

CLR

F0

;设置F0=0,用来作暂停/播放的标置位用

MOV

22H,#01H

;22H单元中存放正在播放的歌曲编号

MOV

DPTR,#OUT_TAB

;将正在播放的歌曲编号送数码管显视

MOV

A,22H

MOVC

A,@A+DPTR

MOV

OUT_NUM,A

MOV

R7,#00H

;R7中存放歌曲总信息的入口地址

START0:MOV

R4,#00H

;R4存放当前正在播放歌曲的第几个节拍数

MOV

R0,#30H

;30H开始的单元中存放歌曲的入口信息

MOV

A,R7

;将歌曲的节拍表的入口地址送到DPTR

ADD

A,R0

MOV

R0,A

MOV

DPH,@R0

INC

R0

MOV

DPL,@R0

INC

R0

MOV

A,R4

INC

R4

MOVC

A,@A+DPTR

;取出第一节拍数,其实第一个节拍不是歌曲的第一个节拍,而是表示几分音符

;****************************************************

MOV

26H,A

;将取出的音符数+节拍数保存在职26H单元中

NEXT:

MOV

R0,#30H

;开始取出歌曲的第一个数据

MOV

A,R7

ADD

A,R0

MOV

R0,A

MOV

DPH,@R0

INC

R0

MOV

DPL,@R0

INC

R0

MOV

A,R4

INC

R4

MOVC

A,@A+DPTR

;放在A中

;****************************************************

JZ

END0

;若为0,则表示为休止符,不唱,本次音符不唱,

MOV

R1,A

;不为0,取出节拍数

ANL

A,#0FH

MOV

R2,A

MOV

A,R1

SWAP

A

ANL

A,#0FH

JNZ

SING

;音符不为0,唱

CLR

TR0

;为0,不唱,关频率发生器

SJMP

SING1

SING:

DEC

A

;开始唱,进行相应的数据处理

MOV

R3,A

RL

A

MOV

DPH,@R0

INC

R0

MOV

DPL,@R0

INC

R0

MOVC

A,@A+DPTR

MOV

21H,A

MOV

TH0,A

MOV

A,R3

RL

A

INC

A

MOVC

A,@A+DPTR

MOV

20H,A

MOV

TL0,A

SETB

TR0

;开唱

SING1:LCALL

DELAY

;每个音符唱多久

JB

F0,FOR

;是否暂停,

AJMP

NEXT

;没有暂停,继续

FOR:

CLR

TR0

;暂停,不唱

JB

F0,$

;等待播放

AJMP

NEXT

;开始播放

END0:

CLR

TR0

;不唱

MOV

A,22H

;唱完处理

CJNE

A,#N,WW

;是不是全部歌曲都唱完

MOV

22H,#01H

;全部唱完,则从第一首开始再唱

MOV

R7,#00H

MOV

OUT_NUM,#06H

;数码管显视第一首歌曲编号

AJMP

WWW

WW:

MOV

A,R7

;没有全部唱完,唱下一首,歌曲的入口信息调整

ADD

A,#4

MOV

R7,A

INC

22H

CLR

EA

PUSH

DPH

PUSH

DPL

MOV

A,22H

MOV

DPTR,#OUT_TAB

MOVC

A,@A+DPTR

MOV

OUT_NUM,A

;数码管显视相应的歌曲编号

POP

DPL

POP

DPH

WWW:

SETB

EA

AJMP

START0

;开始下一首的演唱

F_T0:

MOV

TH0,21H

;定时器0置初值

MOV

TL0,20H

CPL

OUT

;频率产生

RETI

NEXT_SONG:

PUSH

ACC

;下一曲中断程序处理,保护现场

PUSH

DPH

PUSH

DPL

CLR

EA

;关中断

MOV

A,22H

CJNE

A,#N,Q

;是最后一首吗?

MOV

R7,#00H

;是最后一首,则R7指向第一首,演唱第一首

MOV

22H,#01H

AJMP

BACK

Q:

INC

22H

;不是最后一首,唱下一首,R7内容加4,歌曲数加1

MOV

A,R7

ADD

A,#4

MOV

R7,A

BACK:

MOV

R4,#00H

;数码管显视相应的歌曲编号

MOV

A,22H

MOV

DPTR,#OUT_TAB

MOVC

A,@A+DPTR

MOV

OUT_NUM,A

;********************************************

MOV

B,R0

;对下首要演唱的歌曲的几分拍进行调整,同时对R0中的内容进行保护

MOV

R4,#00H

MOV

R0,#30H

MOV

A,R7

ADD

A,R0

MOV

R0,A

MOV

DPH,@R0

INC

R0

MOV

DPL,@R0

INC

R0

MOV

A,R4

INC

R4

MOVC

A,@A+DPTR

MOV

26H,A

;结果存入26H单元中

DEC

R4

MOV

R0,B

;恢复R0中的内容

;********************************************

POP

DPL

;恢复现场

POP

DPH

POP

ACC

SETB

EA

RETI

;中断返回

LAST_SONG:

PUSH

ACC

;上一曲中断程序处理开始,保护现场

PUSH

DPH

PUSH

DPL

CLR

EA

;关中断

MOV

A,22H

;曲目数送A

CJNE

A,#1,QQ

;是否是第一首

MOV

22H,#N

;是第一首歌曲

MOV

B,#4

;将R7指向最后一首歌曲

MOV

A,#N-1

MUL

AB

MOV

R7,A

AJMP

BACK2

;处理结束

QQ:

DEC

22H

MOV

A,R7

;R7减4

SUBB

A,#4

MOV

R7,A

BACK2:

MOV

R4,#00H

MOV

A,22H

MOV

DPTR,#OUT_TAB

MOVC

A,@A+DPTR

MOV

OUT_NUM,A

;数码管显视相应歌曲的编号

;********************************************

MOV

B,R0;对下首要演唱的歌曲的几分拍进行调整,同时对R0中的内容进行保护

MOV

R4,#00H

MOV

R0,#30H

MOV

A,R7

ADD

A,R0

MOV

R0,A

MOV

DPH,@R0

INC

R0

MOV

DPL,@R0

INC

R0

MOV

A,R4

INC

R4

MOVC

A,@A+DPTR

MOV

26H,A

;结果存入26H单元中

DEC

R4

MOV

R0,B;R0中的内容恢复

;********************************************

POP

DPL

;恢复现场

POP

DPH

POP

ACC

SETB

EA

RETI

;中断返回

START_PAUSE:CPL

F0

;开始/暂停中断处理程序,将标置位取反

JB

F0,RETURN

;为1返回

SETB

TR0

;为0则播放

RETURN:

RETI

;中断返回

DELAY:

MOV

27H,26H

;音符演奏时间控制

D2:

MOV

28H,#125

D3:

MOV

29H,#248

DJNZ

29H,$

DJNZ

28H,D3

DJNZ

27H,D2

DJNZ

R2,DELAY

RET

OUT_TAB:

DB

3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,39H,5EH,79H,71H,73H

;共阴数码管显视用

;OUT_TAB:

DB

0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH

;共阳

TABLE:

DW

SONG1,TABLE1,SONG2,TABLE2,SONG3,TABLE3

TABLE1:DW

64580,64684,64777,64820,64898,64968,65030

DW

63628,63835,64021,64103,64260,64400,64524

SONG1:

DB

04H

;1=C

2/4

军港之夜

DB

32H,54H,52H,32H,54H,52H,32H,12H,12H,32H,32H,54H,52H,32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB

0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H

DB

34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H

DB

22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H

DB

32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H

DB

32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB

32H,52H,52H,32H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB

0C2H,32H,32H,12H,21H,31H,24H,32H,34H,0D2H,0C2H,14H,14H,32H,52H,52H,32H,52H,54H,32H,34H,31H,21H,12H,24H,24H

DB

34H,0E2H,0C2H,0D1H,0E1H,0D4H,12H,0E2H,32H,32H,0E2H,0D1H,0E1H,0D4H,0D2H,0E2H,32H,32H,0E2H,0E2H,0D1H,0E1H,0D4H

DB

22H,0D1H,11H,0E2H,0D2H,0C4H,0C4H,32H,52H,52H,32H,62H,5H,61H,54H,31H,52H,31H,12H,31H,31H,32H,54H,52H,32H,52H,52H,32H

DB

32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,34H,34H,32H,52H,52,32H,62H,51H,61H,54H,31H,52H,31H,12H,32H,12H,32H,32H,54H,52H

DB

32H,52H,52H,31H,31H,32H,21H,31H,24H,0E2H,0D1H,0E1H,0D2H,0C2H,14H,14H

DB

32H,52H,52H,32H,32H,21H,31H,24H,74H,0D2H,0C2H,14H,14H,14H,14H

DB

00H

TABLE2:DW

63835,64021,64103,64260,64400,64524,64580,64684,64777

DW

64820,64898,64968,65030,65058,65110,65157,65178

SONG2:

DB

02H;1=C

4/4

死了都要爱

DB

04H,94H

DB

0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H

DB

0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H

DB

04H,0C2H,0C2H,0D4H,0C2H,0D2H,0D8H,0D4H,0D2H,92H

DB

0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02H

DB

0A4H,0A2H,0B2H,0B4H,0C4H,0E8H,0D8H

DB

0C8H,0C8H,08H,08H,78H,28H,38H,34H,24H

DB

24H,64H,64H,24H,64H,72H,72H,78H,58H,54H,44H,38H,34H,14H,34H,84H,74H,74H,62H,62H,0D8H,78H,28H,38H,34H,24H

DB

24H,64H,64H,24H,64H,72H,72H,72H,94H,92H,94H,0A4H,58H,58H,54H,44H

;#音不准

DB

58H,58H,58H,58H,0A8H,0A8H,0A4H,0B4H,0A4H,84H,0A4H,94H,98H,98H,08H

DB

84H,82H,82H,82H,82H,94H,0A2H,94H,92H,82H,74H,72H,74H,72H,72H,72H,72H,92H,91H,91H,94H,54H,74H,94H

;;*************************************************

DB

0A8H,0A4H,0A2H,0B2H,0C4H,0B4H,0A4H,0A4H,0A4H,92H,92H,98H,82H,72H,78H,04H,0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H

DB

04H,0C4H,0D4H,0C4H,0C8H,04H,94H

DB

0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02

DB

0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H

DB

0E8H,0E4H,0E4H,0E8H,0E4H,0F4H,0D4H,0C4H,0B4H,84H,84H,92H,92H,94H,92H,02

DB

0A4H,0A2H,0B2H,0B4H,0C4H,84H,82H,92H,94H,0A4H,04H,0C2H,0C2H,0D4H,0D8H,0D4H,0D2H,92H

;*************

DB

0A4H,0A2H,0B2H,0B3H,0C4H,0E8H,0D8H

DB

0C8H,0C8H,0C8H,08H

DB

00H

TABLE3:

DW

64898,64968,65030,65086,65135,65158,65199,64260,64400,64524,64580,64684,64777,64862

SONG3:

DB

03H

;G=2/4

中华人民共和国国歌

DB

04H,04H,0C2H,14H,12H,12H,12H,11H,11H,0C2H,0D1H,0E1H,14H,14H,02H,32H,12H,21H,31H,52H,51H,51H,54H

DB

32H,31H,31H,12H,11H,31H,52H,51H,31H,24H,24H,24H,64H,54H,24H,34H,52H,34H,52H,32H,21H,31H,12H,11H,21H,34H,04H

DB

52H,51H,0D1H,12H,12H,32H,31H,31H,52H,51H,51H,22H,22H,22H,0D2H,0D1H,0D1H,24H,22H,0C2H,14H,12H,12H,34H,32H,32H,54H,54H,54H,54H

DB

12H,11H,31H,52H,51H,51H,64H,54H,32H,31H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H

DB

0A2H,0A1H,11H,52H,52H,52H,32H,02H,12H,02H,0C4H,14H,0C4H,14H,0C4H,14H,14H,04H

DB

04H,04H,04H,04H

DB

00H

END;

七、仿真过程综述

拿到任务书后的首先想到的是觉得这次课程设计还是比较难的,因为单片机课程的学习是在很早以前了,现在突然要用它需要在把相关知识捡起来,这需要一定的时间;而且,这次课设还需要编程,变成一直是我的弱项。但还是要认真对待,就仔细的看了所有的设计题目,根据自己的爱好和能力,我最终选择了播放器。

刚确定这个题目后觉得无从下手,不知道从什么开始做起。所以就在网上查阅了相关资料,大致浏览了一遍,看懂了几分,觉得应该从学习软件开始。因此就去图书馆借了一本相关的书,把仿真软件学了一遍并做了几个小例子练习了一下,就开始着手编程了。编程的过程是痛苦的,这需要很强的逻辑思维能力,这一部分只能耐心地慢慢来。经过查阅相关资料,和各种程序的拼凑,基本的程序是出来了,放到keil里调试时错误很多,在改错时又查阅大量的资料,曲曲折折的把程序改正好,最终形成一个.hex的文件。接下来画仿真图还是比较容易的,这一部分很轻松。当把程序加载进去开始仿真时又出现了问题,程序是对的,原理图是对的,可是一结合就是得不到想要的结果。在仔细研究,再加上和同学探讨,原来是所选择的元件有误,当把所有错误都改正以后,在仿真时就都成功了,该有的功能都有,该出现的显示也有了。

八、调试过程中的主要难点及解决思路和办法

编程调试中,用KILL将所编好的程序汇编,发现有好几处错误出现,经过仔细检查,发现一些是由于所输入的符号不是英文模式下,汇编机器无法识别,所以要将输入错误的符号在引文模式下重新输入一遍,就能改正了。

还出现了一类的错误提示是由于汇编语言语法的错误。比如:语句CPL

R1是不对的,因为它是无效的寄存器,只有修改成CPL

RI才是对的。、

仿真调试时,当把汇编好的.hex文件加入单片机中仿真时,结果又是并不是所期望的。在我第一次调试时,并没有播放出来歌曲,接下来试了好几次都不行,经过仔细分析和同学的交流,原来电容不是对应的,换了电容,又替换了原来的按键,结果再仿真时就成功了。所以在画原理图时选对元件很重要,只看到外观合适就用是不可以的。

九、课设结果及分析、收获、体会和建议

课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。随着科学技术发展的日新日异,单片机已经成为当今计算机应用中空前活跃的领域,在生活中可以说得是无处不在。因此作为电子信息工程专业的学生来说掌握单片机的开发技术是十分重要的。

我的题目是音乐播放器硬软件的设计,通过这次课程设计我学到很多很多的东西。我学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,能熟练地运用网络、图书馆等相关资料查阅需要的知识,学会了用proteus软件和keil软件来设计和调试基于单片机的功能实现的方法,了解并提高了自己对汇编语言的掌握程度,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从实践中证实结论,从而提高自己的实际动手能力和独立思考的能力。

同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不够好。这次课程设计通过自己的努力,同学的帮助,还有老师的辛勤指导下,最终顺利完成。

十、参考文献

[1]

郑郁正.单片机原理及应用.四川大学出版社,2003。

[2]

谭浩强.C程序设计(第二版).清华大学出版社,1999。

[3]

王晓君.安国臣等.

MCS—51及兼容单片机原理与选型.

北京-电子工业出版社,2003。

[4]

李启炎.

Protel

99SE应用教程.

上海-同济大学出版社

2005.2

单片机及DSP课程设计报告

业:

电子信息工程

级:

信息102

名:

王文婕

号:

201027073

指导教师:

吴则举

间:2013-06-17~28

通信与电子工程学院

教师评语:

教师:

日期:

设计过程30﹪

课设报告40﹪

答辩30﹪

总成绩

篇3:单片机实验报告册填写

单片机实验报告册填写 本文关键词:单片机,填写,实验,报告

单片机实验报告册填写 本文简介:单片机实验报告册填写指导编写:HUBU2015级通信工程xmx2017年5月23日次数实验项目名称时间填写内容建议151单片机LED点阵屏字符显示器设计与实现:原理设计、硬件proteus仿真搭建第9周周二、周五2017年4月18日、21日单片机设计的原理用protues画出硬件图2系统软件设计第1

单片机实验报告册填写 本文内容:

单片机实验报告册

填写指导

编写:HUBU2015级通信工程

xmx

2017年5月23日

次数

时间

1

51单片机LED点阵屏字符显示器设计与实现:原理设计、硬件proteus仿真搭建

第9周周二、周五

2017年4月18日、21日

单片机设计的原理

用protues画出硬件图

2

系统软件设计

第10周周二、周五

2017年4月25日、28日

代码的设计

3

系统proteus仿真调试

第11周周二、周五

2017年5月2日、5日

用Keil生成.hex文件

计算机仿真结果

4

实物硬件搭建

第12周周二、周五

2017年5月9日、12日

所需元器件的选择

5

实物硬件搭建

第13周周二、周五

2017年5月16日、19日

元件引脚的判断

焊接

6

实物系统调试

第14周周二、周五

2017年5月23日、26日

单片机的烧录

7

实物系统调试

第15周周二、周五

2017年5月30日、6月2日

接电源测试

(最好情节波折)

8

实物系统验收

第16周周二、周五

2017年6月6日、9日

老师检测

9

心得与体会

实验室:计信大楼410或510(课表)

实验一

51单片机LED点阵屏字符显示器设计与实现:

原理设计、硬件proteus仿真搭建

系统硬件设计同设计报告

1、新建protues文件

2、功能模块:元件选择

端口模块

测量仪器

3、(1)点击P添加元器件(2)元器件清单

4、搭建电路

选中元器件然后放在电路图合适位置,连线。

本实验的Vcc和地在端口原件,分别是power和ground

5、完成硬件proteus仿真搭建

实验二

系统软件设计

系统软件设计同设计报告

实验三

系统proteus仿真调试

1、打开keil,先新建一个工程

2、单片机型号的选择

3、新建c程序

点击file/new后点左上角的保存按钮,输入文件名,记住扩展名.c,接着点击target

1,右键source

group

1,出现可以选择。

点击add

files

to

group

s

source

,选择刚才的c文件,点击add,后close。

4、创建hex

单击上面方框target

1的右边的第一个按钮。

选择output,勾选creat

hex

file,编程完后编译,连接等步骤。

5、成功生成.hex文件

6、打开protues双击单片机,然后将编译好的hex导入,点确定。

7、最后运行仿真即可。

8、仿真结果

实验四

实物硬件搭建(一)

硬件搭建的器材选择

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

管脚说明

VCC:供电电压。

GND:接地。

P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0

口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。

P3口也可作为AT89C51的一些特殊功能口,如下表所示:

管脚

备选功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

/INT0(外部中断0)

P3.3

/INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器1外部输入)

P3.6

/WR(外部数据存储器写选通)

P3.7

/RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,

ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。

XTAL2:来自反向振荡器的输出

88点阵相关原理参考设计报告

实验五

实物硬件搭建(二)

焊接过程中出现的问题及解决方案

1焊接方式

由于本实验中涉及的元器件管脚有些多,且排版较复杂,再加上焊锡有限,所以就放弃拖焊的焊接方式。采用利用导线连接管脚的方式进行焊接。

2元器件注意事项

对于管脚,要剪切的合适,焊接好后就不要再动该器件了,有时候修改不好,反而使焊接好的板子弄坏了,比如把电路板上镀的铜箔线刮断,元器件损坏等,再进行补救都不好补了。我曾经就这样弄坏了一个电路板。

3焊接注意事项

①焊接电路时如果用焊锡量普遍较大,以至于有些都堆成了一个锡球,这样不但难看而且还不牢固,合适的用锡量是焊出来的焊盘是一个往内凹的锥面。焊锡过少,不足以包裹焊点。

②冷焊。焊接时烙铁温度过低或加热时间不足,焊锡未完全熔化、浸润、焊锡表面不光亮(不光滑),有细小裂纹。

③夹松香焊接,焊锡与元器件或印刷板之间夹杂着一层松香,造成电连接不良。若夹杂加热不足的松香,则焊点下有一层黄褐色松香膜

点阵正面向上,ARK

SZ411288K在左边时,如上图所示,此时点阵为“行共阴”结构:

R表示行线

C表示列线,

当Rx低电平Cy高电平时,则相应(x,y)处的LED亮(参考原点为左上角)

LED测定引脚步骤如下

1.【定正负极】把万用表拨到电阻档×10,先用黑色探针(输出高电平)随意选择一个引脚,红色探针碰余下的引脚,看点阵有没发光,没发光就用黑色探针再选择一个引脚,红色探针碰余下的引脚,当点阵发光,则这时黑色探针接触的那个引脚为正极,红色探针碰到就发光的7个引脚为负极,剩下的6个引脚为正极。

2.【引脚编号】先把器件的引脚正负分布情况记下来,正极(行)用数字表示,负极(列)用字母表示,先定负极引脚编号,黑色探针选定一个正极引脚,红色点负极引脚,看是第几列的二极管发光,第一列就在引脚写A,第二列就在引脚写B,第三列以此类推。

这样就点阵的一半引脚都编号了。剩下的正极引脚用同样的方法,第一行的亮就在引脚标1,第二行就在引脚标2,第三行以此类推。

实验六

实物系统调试(一)

1烧录准备:

2

插芯片

芯片缺口方向对准插槽正方向

芯片缺口方向对准拉杆方向

3拉下插槽拉杆:

拉下之后如图所示

4插线

插线图

运行烧录软件

选择单片机型号和COM口:

打开程序文件

开始烧录

打开EP51电源开关

烧录完成

实验七

实物系统调试(二)

亮度有限

误差分析

1部分节点可能虚焊,导致接触不良,所以在LED上有些点显示的亮度没有预计的那么亮。

2在烧录程序的过程中,单片机被我反复拔下来几次,有些管脚已经不太牢固,甚至快脱落,所以插上去之后单片机管脚与底座可能接触不良。

实验八

实物系统验收

成功!

心得体会范本

第一篇

在这次课程设计的整个过程中,我们做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。

通过对通用51系列单片机机处理器、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我们对整个单片机程序的设计,C51语言有了一个比较深的理解。

还有就是增强了自身的动手能力。在这次课程设计中,我主要负责的是程序设计和单片机部件焊接。通过参考相关的程序设计,自己写出了主要的程序代码。同时将元器件正确焊接到基板上。这些都是将以前书本上讲的或是没有讲的,通过一次课程设计具体的实施,使自己的动手能力和独立设计能力真正得到锻炼,对于以后我们的发展与学习来说,都可以看作一笔不小的财富,前面还有很多需要我们去尝试。

同时不能忽略的是,这一次课程设计是以小组为单位的。在这次课程设计中,我和自己的小组成员学会了密切分工配合。而这样的合作能力和团队精神在今后的学习工作中是很重要的。

第二篇

本文设计一个8×8点阵LED图文显示屏。经过测试,LED各点亮度均匀,可显示图形和文字,且稳定清晰无串扰。本系统具有硬件少、结构简单、容易实现,性能稳定可靠等特点。通过查阅资料,了解了LED发光原理和LED显示技术的原理和现状。在

LED点阵显示屏的设计过程中,学到了很多东西,复习了Protel、Proteus、Keil等软件的基础应用。基本了解了整个嵌入式开发的流程。这次设计开发,本人受益非浅,在以后的开发过程中一定总结经验,吸取教训,为以后的学习工作打好基础。

本论文是在鞠老师的悉心指导下完成的,从课题的选择到论文的最终完成的每一个环节,自始至终得到鞠老师的精心指导和帮助。老师渊博的学识、严谨的治学态度、求实创新的工作作风、对事业和科学的执着追求,以及对我们小组谆谆教诲给我留下了深刻的印象,使我受益终身。在课题的研究设计过程中,我不仅从鞠老师那里学到许多专业知识,更重要的是学会了学习新知识并将其巩固的方法,这无疑是一把开启未来生活的钥匙,特此向鞠老师表示衷心的感谢!

第三篇

本LED显示屏控制系统已能实现LED显示的基本功能,并且体现出了相对于传统的基于8位/16位普通单片机的显示系统的优越性,如上设计所述,但由于本组成员水平和设计时间有限,离一个完全实用的,能够完全符合市场需求的LED显示系统还有一定的差距.因此,在以后的研制过程中,还需要在以下几个方面做大量的工作:

(1)扮在系统抗干扰方面,不论是硬件部分还是软件部分,都还必须在工作现场根据实际情况进行大量的实验,调试工作,才能最终实现LED显示系统的可靠工作。

(2)在增强图文屏显示效果上,可使用双色屏或多色屏,双色(或多色)屏所使用的LED点阵单元,在同一点阵位置上安装了两个(或多个)不同颜色的LED发光灯,对不同颜色的显示控制方面进行进一步的设计,以满足显示更加丰富多彩的图形和文字。

(3)由于ARM微处理器的强大运算能力和丰富的片内外围,可将LED显示屏方便地接入以太网络,每一个

LED显示控制器可作为一个网络节点,方便的组成基于工业以太网的LED显示网络,在这方面还应该进行进一步的研究与实验,以满足更高,更复杂的使用要求。

在这次课程设计的整个过程中,我们做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。

通过对通用89C51单片机机处理器铁电存储器芯片、常用元器件的设计,掌握了一般单片机设计的程序和方法,让我们对整个单片机程序的设计,C51语言有了一个比较深的理解。

还有就是增强了自身的动手能力。在这次课程设计中,我主要负责的是程序设计和单片机部件焊接。通过参考相关的程序设计,自己写出了主要的程序代码。同时将元器件正确焊接到基板上。这些都是将以前书本上讲的或是没有讲的,通过一次课程设计具体的实施,使自己的动手能力和独立设计能力真正得到锻炼,对于以后我们的发展与学习来说,都可以看作一笔不小的财富,前面还有很多需要我们去尝试。

同时不能忽略的是,这一次课程设计是以小组为单位的。在这次课程设计中,我和自己的小组成员学会了密切分工配合。而这样的合作能力和团队精神在今后的学习工作中是很重要的。

19

    以上《单片机实训总结报告》范文由一流范文网精心整理,如果您觉得有用,请收藏及关注我们,或向其它人分享我们。转载请注明出处 »一流范文网»最新范文»单片机实训总结报告
‖大家正在看...
设为首页 - 加入收藏 - 关于范文吧 - 返回顶部 - 手机版
Copyright © 一流范文网 如对《单片机实训总结报告》有疑问请及时反馈。All Rights Reserved