.
本科生课程论文
论文题目 课程名称 学生 学号 所在学院 所在班级 指导教师
红外光电测距系统设计
光电系统设计
谷幸东、郭晓龙、何志毅、胡健辉 201211911309、10、11、12
理学院 电科1123班
汤照
.
.
目 录
第一章 绪论.................................................................................................................. 1
1.1 红外线概述...................................................................................................... 1 1.2 红外传感器的分类.......................................................................................... 1 1.3 红外传感器的应用.......................................................................................... 2 1.4 AT89C52单片机概述 ....................................................................................... 3 1.5 MCP3001简介6
第二章 红外测距的工作原理与基本结构8
2.1 红外测距传感器简介8
2.2 红外线测距的工作原理.................................................................................. 8 2.4红外测距传感器接线10
2.5 红外测距系统的基本结构............................................................................ 10 第三章 红外测距的硬件设计11
3.1 红外测距的实现构想.................................................................................... 11 3.2 系统硬件结构电路图12 3.3 各硬件电路设计12
3.3.1 复位电路.............................................................................................. 12 3.3.2 时钟电路.............................................................................................. 13 3.3.3 A/D转换电路 ........................................................................................ 14 3.3.4 LCD显示电路 ....................................................................................... 14
第四章 红外测距的软件设计15
4.1 系统软件结构框图15 4.2 软件程序设计16 4.3 源代码16 第五章 仿真测试26
5.1系统的软件的调试仿真26 第六章 PCB图及元器件清单28
6.1 PCB图28 6.2 元器件清单28
第七章 课程设计任务分工及个人心得体会29
7.1任务分工29 7.2 设计心得体会29
.
.
第一章 绪论
1.1 红外线概述
红外辐射俗称红外线,又称红外光,它是一种人眼看不见的光线。但实际上它和其他任何光线一样,也是一种客观存在的物质。任何物体,只要它的湿度高于绝对零度,就有红外线向周围空间辐射。它的波长介于可见光和微波之间。红外辐射的物理本质是热辐射。物体的温度越高,辐射出来的红外线越多,红外辐射的能量就越强。研究发现,太谱各种单色光的热效应从紫色光到红色光是逐渐增大的,而且最大的热效应出现在红外辐射的频率围,因此人们又将红外辐射称为热辐射或热射线。
目前红外发射器件(红外发光二极管)发出的是峰值波长0.88uM~0.94uM之间的近红外光,红外接收器件(光敏二极管、光敏三极管)的受光峰值波长为0.88uM~0.94uM之间,恰好与红外发光二极管的光峰值波长相匹配。红外线在通过云雾等充满悬浮离子的物质时不易发生散射,有较强的穿透能力,还具有抗干扰能力强、易于产生、对环境影响小、不会干扰临近的无线电设备的特点,因而被广泛应用。
1.2 红外传感器的分类
常见红外传感器可分为热传感器和光子传感器。 1)热传感器
.
.
热传感器是利用入射红外辐射引起传感器的温度变化,进而使有关物理参数发生相应的变化,通过测量有关物理参数的变化来确定红外传感器所吸收的红外辐射。热探测器的主要优点是相应波段宽,可以在室温下工作,使用简单。但是,热传感器相应时间较长,灵敏度较低,一般用于低频调制的场合。
热传感器主要类型有:热敏传感器型,热电偶型,高莱气动型和热释放电型四种。 2)光子传感器
光子传感器是利用某些半导体材料在入射光的照射下,产生光子效应,使材料电学性质发生变化。通过测量电学性质的变化,可以知道红外辐射的强弱。利用光子效应所制成的红外传感器。统称光子传感器。光子传感器的主要特点灵敏度高,响应速度快,具有较高的响应频率。但其一般须在低温下工作,探测波段较窄。
按照光子传感器的工作原理,一般可分为光电和外光电传感器两种,后者又分为光电导传感器、光生伏特传感器和光磁电传感器等三种。
1.3 红外传感器的应用
红外技术是最近几十年中发展起来的一门新兴技术。它已在科技、国防和工农业生产等领域获得广泛的应用。 红外传感器的应用主要体现在以下几个方面:
红外辐射计:用于辐射和光谱辐射测量。
.
.
1) 搜索和跟踪系统:用于搜索和跟踪红外目标,确定其空间
位置并对其运动进行跟踪。
2) 热成像系统:能形成整个目标的红外辐射分布图像。 3) 红外测距系统:实现物体间距离的测量。 4) 通讯系统:红外线通信作为无线通信的一种方式。 5) 混合系统:是指以上各类系统中的两个或多个的组合。
1.4 AT89C52单片机概述
AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。AT89C52单片机属于AT89C51单片机的增强型,与Intel公司的80C52在引脚排列、硬件组成、工作特点和指令系统等方面兼容。其主要工作特性是:
? 片程序存储器含8KB的Flash程序存储器,可擦写寿命为1000次;
? 片数据存储器含256字节的RAM; ? 具有32根可编程I/O口线; ? 具有3个可编程定时器;
? 中断系统是具有8个中断源、6个中断矢量、2个级优先权的
.
.
中断结构;
? 串行口是具有一个全双工的可编程串行通信口; ? 具有一个数据指针DPTR;
? 低功耗工作模式有空闲模式和掉电模式; ? 具有可编程的3级程序锁定位;
? AT89C52工作电源电压为5(1+0.2)V,且典型值为5V; ? AT89C52最高工作频率为24MHz AT89C52的各引脚功能:
·P0口:P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
·P1口:P1是一个带部上拉电阻的8 位双向I/O 口, P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为部存在上拉
电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash 编程和程序校验期间,
.
.
P1接收低8位地址。
·P2口:P2是一个带有部上拉电阻的8 位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行MOVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。
· P3 口:P3 口是一组带有部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对P3 口写入“1”时,它们被部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控制信号。
·RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
·ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8 位字节。一般情况下,ALE 仍以时钟振荡频率的1/6 输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过
.
.
一个ALE 脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH 单元的D0 位置位,可禁止ALE 操作。该位置位后,只有一条 MOVX 和MOVC指令才能将ALE 激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE 禁止位无效。
·PSEN:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52 由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN 有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次PSEN信号。
·EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H—FFFFH),EA 端必须保持低电平(接地)。需注意的是:如果加密位LB1 被编程,复位时部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU 则执行部程序存储器中的指令。Flash 存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V 编程电压Vpp。
·XTAL1:振荡器反相放大器的及部时钟发生器的输入端。 ·XTAL2:振荡器反相放大器的输出端。 1.5 MCP3001简介
Miclodip的MCP3001是款具有片上采样和保持电路的10位逐次逼近型A/D转换器(ADC),该器件提供个伪差分输入通道。指定差分非线性和积分非线性的最大值为±1LSB:它使用符合SPl协议的简单串行
.
.
接口与器件通信。当时钟速率为28MHz时,该器件的采样速率最大可为200ksps。McP3001器件的匚作电压围很宽,为2.7V-5.5V.低电流设计允许器件在典型待机电流仅为5nA和典型工作电流为400uA的条件下工作。该器件以8引脚PDIP、MSOP、TSSOP和150mil SOC封装形式提供。
MCP3001的特性: ? 10位分辨率
? ±1 LSB DNL(最大值) ? ±1 LSB INL(最大值) ? 片上采样和保持电路
? SPI串行接口(模式0.0和1.1) ? 单电源供电的电压围:2.7V~5.5V ? 5V时的采样速度为200ksps ? 低功耗CMOS技术
? 8引脚PDIP、SOIC、MSOP和TSSOP封装应用 封装类型:
.
.
功能框图:
第二章 红外测距的工作原理与基本结构
2.1 红外测距传感器简介
红外测距传感是用红外线为介质的测量系统,按照功能可分成五类:(1)辐射计,用于辐射和光谱测量;(2)搜索和跟踪系统,用于搜索和跟踪红外目标,确定其空间位置并对它的运动进行跟踪;(3)热成像系统,可产生整个目标红外辐射的分布图像;(4)红外测距和通信系统;(5)混合系统,是指以上各类系统中的两个或者多个的组合。 按探测机理可分成为光子探测器和热探测器。红外传感技术已经在现代科技、国防和工农业等领域获得了广泛的应用。
2.2 红外线测距的工作原理
红外测距传感器利用红外信号遇到障碍物距离的不同反射的强度也不同的原理,进行障碍物远近的检测。红外测距传感器具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物时,红外信
.
.
号反射回来被接收管接收,经过处理之后,通过数字传感器接口返回到单片机。利用的是红外线传播时的不扩散原理 ,因为红外线在穿越其它物质时折射率很小 ,所以长距离的测距仪都会考虑红外线 ,而红外线的传播是需要时间的 ,当红外线从测距仪发出碰到反射物被反射回来被接受到 ,再根据红外线从发出到被接受到的时间及红外线的传播速度就可以算出距离, 红外线的工作原理:利用高频调制的红外线在待测距离上往返产生的相位移推算出光束度越时间△t,从而根据D=C△t/2得到距离D。
红外传感器的的测距基本原理为发光管发出红外光,光敏接收管接收前方物体反射光,据此判断前方是否有障碍物。根据发射光的强弱可以判断物体的距离,它的原理 是接收管接收的光强随反射物体的距离而变化的,距离近则反射光强,距离远则反射光弱。 目前,使用较多的一种传感器-红外光电开关,它的发射频率一般为38 kHz左右,探测距离一般比较短,通常被用作近距离障碍目标的识别。本系统采用的即为此种传感器。
2.3 红外线测距的特点
1)远距离测量,在无反光板和反射率低的情况下能测量较远的距离;
2)有同步输入端,可多个传感器同步测量; 3)测量围广,响应时间短;
4)外形设计紧凑,易于安装,便于操作;
.
.
2.4红外测距传感器接线
本模块选用的是由日本夏普公司研发的型号为GP2Y0A21的红外传感器。引脚图如图所示。此红外传感器一共有三个引脚,其中VCC(电源电压)为信号接入,接入电源电压为4.5-5.5V,单片机5V工作电压即可;GND为接地引脚,连接地线即可;Vout为模拟电压输出引脚,此引脚输出的模拟电压值为0.4-2.4V,相对应的距离围是80-10㎝。此引脚需要接入单片机处理模块中的多路A/D转换通道上的任意一路上。
根据红外传感器的电压和相对应的距离测量值可知,夏普GP2Y0A21系列的红外传感器输出曲线是非线性的,且每个型号的红外传感器输出曲线都不相同。所以对所使用红外传感器的矫正是必须要做的,创建出一实测输出曲线图,以便在实际测量的过程中获得真实准确的测量数据。
2.5 红外测距系统的基本结构
红外测距系统主要有红外测距传感器模块(包括红外发射端和红外接收端两部分)、单片机处理模块、LCD显示模块三大部分组成。如图所示。
.
.
红外模块 电压距离公式 A/D模块 单片机 显示模块
第三章 红外测距的硬件设计
3.1 红外测距的实现构想
为了实现红外测距,在硬件设计中,我们使用红外测距传感器,它具有一对红外信号发射与接收二极管,发射管发射特定频率的红外信号,接收管接收这种频率的红外信号,当红外的检测方向遇到障碍物时,红外信号反射回来被接收管接收,经过处理之后,通过数字传感器接口经过A/D转换电路。将输入单片机的模拟电压信号Vout转换为单片机可识别的数字信号,并经过电压距离转换程序,转换出要测量的距离,最后在通过液晶显示屏LCD1602显示出测量结果。
.
.
3.2 系统硬件结构电路图
整个红外测距系统由AT89C52芯片、红外测距传感器、A/D转换电路与LCD显示器等构成。硬件结构电路图如图所示:
单片机AT89C52左端分别接了开关、时钟电路和复位电路,这是单片机最小的系统。XTAL1和XTAL2串连一个晶振,并且分别接上一个20p的电容,两个电容另一端都接地,构成时钟电路。
单片机AT89C52右端P0端同时接LED的D1-D7端口和排阻,P2.0接CLK,P2.1接DO,P2.2接CS,P2.5接E,P2.6接RW,P2.7接RS。 MCP3001的VREF接vcc,IN+接红外距离传感器的Vo。
3.3 各硬件电路设计
3.3.1 复位电路
单片机小系统常采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。
.
.
手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如下图。上电自动复位通过电容C3充电来实现。
3.3.2 时钟电路
单片机部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器,结构图中X1、C1、C2。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择20pF左右的瓷片电容。
.
.
3.3.3 A/D转换电路 A/D转换电路如图所示
3.3.4 LCD显示电路
LCD与单片机的接口电路如图所示,单片机通过P0口向LCD输送数据,显示测得的距离。值得注意的是,P0口要接上拉电阻来保证对LCD的成功驱动。
.
.
第四章 红外测距的软件设计
4.1 系统软件结构框图
在整个系统运行过程中。当红外系统被启动后,首先,对AT89C52单片机进行初始化。然后,当AT89C52单片机接收到红外接收电路传输的电压信号后,经A/D转换程序,将片外的模拟信号转换为单片机可识别的数字信号,并经电压—距离转换子程序,将变化的电压转换为距离。最后,在动态扫描LCD显示器上显示出来。
.
.
4.2 软件程序设计
红外测距系统软件程序主要由主程序、A/D转换程序、延时函数、LCD显示程序等等,在红外测距系统硬件已经确定的情况下,程序设计步骤为:
1)分析红外测距系统功能,对已知条件及运算控制的要求进行掌握,准确地编写出能完成规定任务的程序。
2)确定所需要函数及算法,根据系统设计要求及功能特点,选择相应的解决方法。
3)设计系统工作流程图,采用直观的方式清晰地表达出程序的整体设计思想。
4)根据系统工作流程图编写源程序,对主函数及子函数的功能进行逐一分析,并写出相应的程序。
5)调试源程序,将编好的程序通过编译去除语法及功能上的错误,然后将程序烧入单片机中以达到最终要求。
4.3 源代码
#include
.
.
sbit RS=P2^0; sbit RW=P2^1; sbit LCDE=P2^2;
//LCD命令/数据端 //LCD读/写端
//LCD使能端
//MCP3001与AT89S52的管脚接线定义
sbit MCP_CS=P2^3; sbit MCP_DO=P2^4; sbit MCP_CLK=P2^5; uint measure; uchar flag;
//Busy标志
uchar code dis[]={\//显示
uchar code dis1[] = {\ V,L= CM%uchar code dis2[] = {%uchar code dis3[]={%uchar dis_buf[8];
//显示代码 //显示 //显示缓冲区 //短延时 //延时函数
void L_delay(void); void delay_ms(uint n); uint read_MCP(void); void init_1602(void); void busy(void);
//读MCP3001
//1602初始化函数 //LCD忙标志判断函数 //写数据子函数 //写命令子函数 //距离计算函数
void dat_wrt(uchar dat); void cmd_wrt(uchar cmd); uint distance(void);
void lcd_start(uchar start); //设定显示位置函数
.
.
void LCD_Clear(void);
//LCD清屏函数
//显示数据调整函数
uchar dat_adj(uint dat1); void print(uchar *str); void disp(uint dat); uint average(void);
//字符串显示函数
//显示子函数 //算术平均滤波程序
/****************************主函数*******************************/ main() { }
/**************************延时函数**************************/ void delay_ms(uint n) {
init_1602(); print(dis);
//显示测量开始
delay_ms(1000); while(1) { }
measure=distance(); disp(measure); delay_ms(100);
//显示高度
.
.
uint j; while(n--)
for(j=0;j<125;j++); }
/***************************短延时****************************/ void L_delay(void) { }
/************************读MCP3001函数*************************/ uint read_MCP(void) {
uchar i; uint temp=0; MCP_CS=1; L_delay(); MCP_CS=0;
//CS置低,开始采样数据 //读转换的10位数据
uchar i;
for(i=0;i<5;i++)_nop_();
///////////////////// read_MCP 采集的数据并转换后的值 //////////////////////
for(i=0;i<13;i++) {
MCP_CLK=0;
.
.
L_delay(); MCP_CLK=1;
temp<<=1; }
/************************LCD忙标志判断函数*******************/ void busy(void) {
flag=0x80;
//赋初值 高位为1 禁止
//读写操作使能位禁止时等待 继续检测
}
MCP_CS=1; temp&=0x03ff; return(temp);
//获取有效转换值
if(MCP_DO==1)temp|=0x01;
while (flag&0x80) {
P0=0xff; RS=0; RW=1;
//指向地址计数器
//读
//信号下降沿有效 //读状态位元 高位为状态
LCDE=1; flag=P0; LCDE=0; }
.
.
}
/************************写数据子函数************************/ void dat_wrt(uchar dat) {
busy(); LCDE=0; RS=1; RW=0; P0=dat; LCDE=1; LCDE=0; }
/*************************写命令子函数************************/ void cmd_wrt(uchar cmd) {
LCDE=0; busy();
//检测 读写操作使能吗 //命令
//指向命令计数器
//指向数据寄存器
//检测 读写操作使能吗
//写
//写数据 //高电平有效
P0=cmd; RS=0; RW=0; LCDE=1; LCDE=0;
//写
//高电平有效
.
.
}
/***********************距离计算函数***************************/ uint distance(void) { }
/************************算术平均滤波程序**********************/ uint average(void) {
uchar i; uint av_dat;
uint temp1; temp1=average();
///////////////////////////////// temp1 平均数据转换的距离 ////////////////////////////// if((temp1>60)&(temp1<960)) { }
temp1=13569/(temp1+7)-4;
//转换测量数据
//在正常测量围?
else { }
temp1=0x00ff;
//超出测量围,返回错误标志
return(temp1);
.
.
///////////////////////////// av_dat 平均数据 //////////////////////////////////////// }
/*************************1602初始化函数************************/ void init_1602(void) {
cmd_wrt(0x01); cmd_wrt(0x0c);
//清屏
ulong ave=0; for(i=0;i<10;i++) { }
ave+=read_MCP(); L_delay();
//求平均值
//读转换数据
//连续读取10个数据值
av_dat=(uint)(ave/10); return(av_dat);
//开显示,不显示游标,不闪烁
cmd_wrt(0x06); cmd_wrt(0x38); }
//完成一个字符码传送后,光标左移,显示不发生移位元
//16×2显示,5×7点阵,8位数据接口
/************************设定显示位置函数************************/ void lcd_start(uchar start) {
cmd_wrt(start|0x80);
.
.
}
/************************LCD清屏函数****************************/ void LCD_Clear(void) { }
/************************显示数据调整函数************************/
cmd_wrt(0x01); delay_ms(1);
//写入清屏指令
uchar dat_adj(uint dat1)
///////////////////////////////// dat1 L距离 //////////////////////////////////////// {
uchar i=0;
uint date; date=average()/2;
dis_buf[0]=(uchar)(dat1/100);
//百位 //十位 //个位
dis_buf[1]=(uchar)(dat10/10); dis_buf[2]=(uchar)(dat10); dis_buf[3]= date/100 ; dis_buf[4]= date0/10; dis_buf[5]= date0;
.
.
}
if(dis_buf[0]==0)i=1; return(i);
/**************************字符串显示函数**************************/ void print(uchar *str) { }
/***************************显示子函数****************************/ void disp(uint dat) {
uchar temp,j; if(dat!=0x00ff) {
temp=dat_adj(dat); LCD_Clear(); lcd_start(0x40); print(dis1); while(*str!='\\0') { }
dat_wrt(*str); str++;
//指向下一个字符
//直到字符串结束
.
.
lcd_start(0x42);
dat_wrt(dis2[dis_buf[3]]);
print(\
for(j=4;j<6;j++) }
dat_wrt(dis2[dis_buf[j]]); } else { }
LCD_Clear(); lcd_start(0x42+temp); print(dis3);
//确定显示起始位置
//显示文字
lcd_start(0x4B+temp); //确定显示起始位置 for(j=temp;j<3;j++)
//写显示数据
dat_wrt(dis2[dis_buf[j]]);
第五章 仿真测试
5.1系统的软件的调试仿真
Proteus的ISIS是一款Labcenter出品的电路分析实物仿真系统,可仿真各种电路和IC,并支持单片机,元件库齐全,使用方便,可以
.
.
给我们做电路设计提供方便快捷的仿真效果,让我们事半功倍。 调试主要方法和技巧:通常一个调试程序应该具备至少四种性能:跟踪、断点、查看变量、更改数值。整个程序是一个主程序调用各个子程序实现功能的过程,要使主程序和整个程序都能平稳运行,各个模块的子程序的正确与平稳运行必不可少,所以在软件调试的最初阶段就是把各个子程序模块进行分别调试。
在硬件电路制作完成并调试好后,便可将程序编译好下载到单片机试运行。
这里我们使用Proteus软件进行仿真,加载编译好的.HEX文件到单片机后,点击运行按钮即可,仿真电路图如下:
.
.
第六章 PCB图及元器件清单
6.1 PCB图
6.2 元器件清单
.
.
第七章 课程设计任务分工及个人心得体会
7.1任务分工
201211911309谷幸东----------------整体设计及论文撰写 201211911310郭晓龙----------------用Proteus软件仿真测试 201211911311何志毅----------------PCB线路板设计 201211911312胡健辉----------------软件设计(代码编写) 7.2 设计心得体会 1)谷幸东
在为期一周的单片机课程设计中,我在增长知识、提高能力的同时,产生了很深的感触。从小组部初步定下方案到明确分工,从不断的运行排错到调试成功,在整个设计过程中,着实受益匪浅,不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的东西。在做本次课程设计的过程中,我感触最深的当属查阅大量的设
.
.
计资料了。为了让我们小组的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。
在设计的过程中难免会遇到各种各样的问题,但是在这重重困难之中我了解到自己的真实水平,并努力提高自己。同时我明白,对于想要成功的人来说更重要的不是知识或技能,而是克服困难的信心。实践证明看似“莫名其妙”的错误只要坚持尝试必定有办法解决,应灵活地从各方面找原因而不是一味归咎于实验仪器或软件平台。
通过这次的课程设计作品的制作让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距,书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结果甚至很差别很大。通过这次设计,我基本掌握了如何利用protues进行仿真,利用keil生成hex文件,如何画PCB图等等。通过开发板的设计和硬件搭建的过程,使我对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法。我熟悉了51系列单片机部的寄存器和编程规则,以及如何控制外围电路。另外,在本次课程设计的过程中,我们深刻体会到了团队合作的重要性,只有一个团队齐心协力,每个成员各司其职才可以把工作做好。
我懂得了理论与实际相结合是很重要的,眼高手低的现象常常难以避免。只有把所学的理论知识与实践相结合起来,从理论中得出结
.
.
论,才能提高自己的实际动手能力和独立思考的能力。
2)郭晓龙
3)何志毅
在之前的学习当中我们学习的只是学习理论知识,以前我认为学习理论知识就能够很好的做实验,我发现这个想法是错误的。现在要进行实际操作的时候我发现自己很多东西都不认识,所以遇到的困难也特别多。这些困难我们都要自己克服,实在不容易。
然后自己在做实验过程中,我们不只是验证了在课堂上所学的理论知识的原理与结果,还提高了自己的实际动手能力、思维能力以及分析和处理问题的综合能力。因为,在实验过程中影响实验现象的因素有很多,出现实验误差的原因也很多,这就导致了前前后后改了差不多20的图。只要有一步错了,几乎就得重新思考,困难可想而知。我在我的实验小组当中我是负责画图的,为了这次画图我之前完全没有了解过,所以为了这次的实验,我特意学习altium designer软件的使用方法。一直在摸索当中前行,一步一步走来不容易啊。
最后在自己的努力和同学的帮助下我终于完成了实验设计与画图,心情真的一下愉悦了起来,感觉就是完成一件之前觉得不可能完成的任务一样。在实验当中我学习到了自己解决问题的能力和理论知识与实际应用相结合的重要性。
.
.
4)胡健辉
通过今次实训,使我对单片机的认识有了更深刻的理解。系统以51单片机为核心部件,利用软件编程,通过键盘控制和数码管显示实现了基本功能,能实现本设计题目的基本要求和发挥部分。 由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。但在这次实训中同时使我对光电系统有了更深的认识。当我第一次接触光电系统就感觉很难,特别是今次实训要用到光电系统,尽管困难重重,可我们还是克服了。这次的实训使培养了我们严肃认真的做事作风,增强了我们之间的团队合作能力,使我们认识到了团队合作精神的重要性。
这次实训的经历也会使我终身受益,我感受到这次实训是要真真正正用心去做的一件事情,是真正的自己学习的过程和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破。希望这次的经历能让我在以后学习中激励我继续进步。
.