单片机实习课设报告.docx

上传人:b****7 文档编号:9473699 上传时间:2023-02-04 格式:DOCX 页数:45 大小:397.29KB
下载 相关 举报
单片机实习课设报告.docx_第1页
第1页 / 共45页
单片机实习课设报告.docx_第2页
第2页 / 共45页
单片机实习课设报告.docx_第3页
第3页 / 共45页
单片机实习课设报告.docx_第4页
第4页 / 共45页
单片机实习课设报告.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

单片机实习课设报告.docx

《单片机实习课设报告.docx》由会员分享,可在线阅读,更多相关《单片机实习课设报告.docx(45页珍藏版)》请在冰豆网上搜索。

单片机实习课设报告.docx

单片机实习课设报告

实习执行大纲

一、实习目的

1、巩固《单片机原理与应用》理论课的理论知识;

2、熟悉单片机应用系统的硬件设计及软件设计的基本方法;

3、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中;

4、训练单片机应用技术,锻炼实际动手能力。

二、实习纪律与要求

1、实习纪律

1)参加实习的学生必须按照实习大纲的要求,在指导教师的指导下,全面完成实习任务;

2)听从指导教师安排,严格遵守实习纪律;

3)因故在实习期间缺勤累计超过规定时间的三分之一,不得参加本次实习考核,但可在补足所缺天数后再给予考核并评定实习成绩。

2、基本要求

1)利用PROTEL等软件进行硬件设计;

2)利用KeiluV2软件完成应用系统软件设计;

3)利用PROTEUS软件进行仿真设计;

4)完成单片机最小系统和应用系统电路板的焊接;

5)对电路进行调试;

6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;

7)题目由指导教师提供;

8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;

9)写出实习报告,实习报告主要包括以下内容:

目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真

结果、实物运行结果照片、结论、参考文献等;

10)实习完成后通过答辩;

11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。

三、实习地点

四、实习时间

19-20周

五、实习内容

1、实习所需主要材料(供参考)

(1)单片机最小系统部分

名称

数量

1

万能实验电路板

1块

2

单片机STC89C52

1只

3

晶振12MHz

1只

4

30PF瓷片电容

2只

5

10k/0.25W电阻

1只

6

10uF/16V电解电容

1只

7

2k/0.25W电阻

1只

8

10k/9脚排阻

1只

9

5V/500mA直流电源

1个

10

排针、按钮、LED、导线等

若干

(2)下载电路部分

名称

数量

1

万能实验电路板

1块

2

MAX232

1片

3

0.1uF瓷片电容

4只

4

DB9插座

1只

5

RS-232C串口电缆(9针)

1根

(3)扩展电路部分

扩展电路部分材料根据设计方案确定。

(4)软件部分

名称

数量

1

电路设计软件PROTEL

1套

2

编程软件KeiluV2

1套

3

仿真软件PROTEUS

1套

4

下载软件stc-isp

1套

(5)工具

名称

数量

1

PC(带RS-232C口)

1台

2

万用表

1块

3

电烙铁

1只

4

焊锡、松香等

若干

2、任务

1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试

(1)键盘

一个4X4的矩阵键盘,其中,10个按键是0~9数字键;另外6个是功能键,用于功能选择和控制。

(2)显示电路

由6个7段LED数码管组成的显示电路。

(3)温度检测

利用DS18B20可编程1-Wire数字温度传感器芯片,或利用AD590温度传感器芯片和A/D转换器芯片采集温度温度信号。

(4)串口串行通信

利用51的串口实现串行通信接口电路。

2)完成ISP下载电路的设计、焊接

3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计,实现如下功能

(1)功能选择

通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容。

(2)温度显示

通过功能选择键选择温度检测、显示后,LED显示温度值。

(3)数据输入

通过功能选择键选择数据输入后,将通过键盘键入的0~9按键值显示在LED上,其中,最后输入的显示在最左边,之前键入向右移动一位。

(4)数据通信

将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。

当通过功能选择键选择数据通信后,当在主系统上进行功能

(2)、功能(3)的操作时,辅系统的LED上显示与主系统同样的内容。

4)利用仿真软件完成系统仿真工作

5)在单片机最小系统硬件上实现任务3中规定的功能

实习报告

单片机应用实习

MicrocomputerApplicationPractice

 

摘要

本次设计是以单片机STC89C52为核心,在最小系统的基础上完成扩展部分的设计。

扩展电路包括4个部分,分别是矩阵键盘、显示电路、数字温度计、串口通信。

其中硬件部分由最小系统、矩阵键盘、温度传感器和数码管显示电路组成,所有的算法都在软件程序实现。

整个设计可以完成键盘的扫描、通信、温度和的显示的功能,温度和键盘数据还可以通过串口送至另一个单片机显示。

本设计的目的是通过在对单片机原理及应用的学习,以及查阅资料,培养自学与动手能力,把学到的知识应用到日常生活当中。

在设计的过程中,不断的补充不知道的内容、巩固所学,和队友的分工合作、相互讨论,运用科学的分析问题的方法解决遇到的困难,掌握单片机系统一般的开发流程,学会对常见问题的处理方法,积累设计系统的经验,充分发挥教学与实践的结合。

关键字:

单片机、键盘、温度传感器、显示

Abstract

ThisdesignisbasedonmicrocontrollerSTC89C52asthecore,onthebasisoftheminimumsystemtocompletethedesignoftheextension.Extensioncircuitconsistsoffourparts,respectivelyismatrixkeyboard,displaycircuit,digitalthermometer,aserialportcommunication.Thehardwarepartbyminimumsystem,matrixkeyboard,temperaturesensorandthedigitaltubedisplaycircuit,allthealgorithmsarerealizedinsoftwareprograms.Cancompletethewholedesignofthekeyboardscanning,communications,temperature,andthedisplayofthefunction,thetemperatureandthekeyboardcanalsobeviaaserialporttosenddatatoanothersinglechipmicrocomputer.

Thepurposeofthisdesignisbythesinglechipmicrocomputerprincipleandapplicationoflearning,andaccesstoinformation,cultivatingself-studyandpracticalability,theapplicationofknowledgetothedailylife.Intheprocessofdesign,andcontinuouslysupplementsdon'tknowthecontentandconsolidatewhattheyhavelearned,andteammate'sdivisionoflaborcooperation,mutualdiscussion,usescientificmethodstoanalyzetheproblemsolvedifficulties,masterthesingle-chipmicrocomputersystemdevelopmentprocess,tolearntheprocessingmethodofcommonproblems,systemofexperienceaccumulation,andgivefullplaytothecombinationofteachingandpractice.

Keyword:

singlechipmicrocomputer,keyboard,temperaturesensors,display

1设计任务及要求

1.1设计任务

1)利用上述材料完成包含如下系统功能组件的单片机最小系统的设计、焊接、调试

(1)键盘

一个4X4的矩阵键盘,其中,10个按键是0~9数字键;另外6个是功能键,用于功能选择和控制。

(2)显示电路

由6个7段LED数码管组成的显示电路。

(3)温度检测

利用DS18B20可编程1-Wire数字温度传感器芯片,或利用AD590温度传感器芯片和A/D转换器芯片采集温度温度信号。

(4)串口串行通信

利用51的串口实现串行通信接口电路。

2)完成ISP下载电路的设计、焊接

3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计,实现如下功能

(1)功能选择

通过功能选择键,使得单片机处于不同的工作状态并通过LED显示相应的内容。

(2)温度显示

通过功能选择键选择温度检测、显示后,LED显示温度值。

(3)数据输入

通过功能选择键选择数据输入后,将通过键盘键入的0~9按键值显示在LED上,其中,最后输入的显示在最左边,之前键入向右移动一位。

(4)数据通信

将两个单片机最小系统通过串口连接起来,其中一个作为主系统,另一个作为辅系统。

当通过功能选择键选择数据通信后,当在主系统上进行功能

(2)、功能(3)的操作时,辅系统的LED上显示与主系统同样的内容。

4)利用仿真软件完成系统仿真工作

5)在单片机最小系统硬件上实现任务3中规定的功能

1.2任务分析

键盘电路是4X4矩阵键盘,共12个按键组成,通过与单片机I/O口相连来完成键盘扫描,扫描时按照逐行扫描方式来进行的。

数字温度计主要使用了温度传感器芯片DS18B20,将传感器的温度送至单片机,通过单片机控制在数码管上显示出来。

还可以通过串行通信的方式,在第二个单片机上显示出来。

串行通信是指数据按位顺序传送的通信。

串行数据传送的特点是:

通信线路简单,最多只需一对传输线即可实现通信,成本低但速度慢,其通信线路既能传送数据信息,又能传送控制信息。

它对信息的传送格式有固定要求,具体分为异步和同步两种信息格式.与此相应有异步通信和同步通信两种方式.

2基本原理

2.1AT89C51简介

2.1.1AT89C51概述

AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

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

外形及引脚排列如图所示。

图2-1

2.1.2管脚功能

VCC:

供电电压。

GND:

接地。

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P0口的管脚第一次写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.0RXD(串行输入口)

P3.1TXD(串行输出口)

P3.2/INT0(外部中断0)

P3.3/INT1(外部中断1)

P3.4T0(计时器0外部输入)

P3.5T1(计时器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:

来自反向振荡器的输出。

振荡器特性:

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

2.2DS18B20介绍及原理

2.2.1DS18B20概述

DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢

封装式,型号多种多样,有LTM8877,LTM8874等等。

主要根据应用场合的不同而改变其外观。

封装后的DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。

耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。

2.2.3DS18B20工作原理及应用

DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。

其一个工作周期可分为两个部分,即温度检测和数据处理。

在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。

18B20共有三种形态的存储器资源,它们分别是:

ROM只读存储器,用于存放DS18B20ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。

数据在出产时设置不由用户更改。

DS18B20共64位ROM。

RAM数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。

第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存)的镜像。

在上电复位时其值将被刷新。

第5个字节则是用户第3个EEPROM的镜像。

第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。

第9个字节为前8个字节的CRC码。

EEPROM非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。

3方案论证

3.1总体系统框图

系统原理方框图如图所示:

图3-1

3.2显示方案的选择

方案一:

通过软件把所要的数据转化为七段显示的数据,直接通过单片机接口来显示.

方案二:

通过液晶1602显示。

该液晶是工业字符型液晶,能够同时显示16x02即32个字符。

(16列2行)

通过比较,决定使用数码管来进行显示。

数码管成像效果好,硬件电路简单。

3.3按键状态读取方案的选择

方案1:

把按键接到单片机的中断口,若有按键按下,单片机接收到中断信号,再通过软件编写的中断服务程序来执行中断,优点是接线简单,简化了电路,但软件编写较为复杂,不易掌握。

方案2:

不使用中断,直接把开关分别接在单片机的接口上,通过查询端口信号来动作。

其优点是程序得到简化,可读性加强。

通过对方案的比较,选择方案2通过查询方式来读取端口信号,相对来说编程和硬件电路都比较简单。

3.4方案说明

本设计是以AT89C52单片机为主要的控制核心,通过外接16个键盘作为控制源输入端,通过不同的按键来观看和调节各种数据,七段数码管作为显示器件,DS18B20温度传感器用于感应外界温度,传送给单片机进行处理。

 

4硬件电路的设计

4.1矩阵键盘单元

4.1.1矩阵键盘的原理与检测方式

原理说明:

列线通过电阻接正电源,并将行线所接的单片机的I/O口作为输出端,而列线所接的I/O口则作为输入。

这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。

行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。

键盘的工作方式一般有循环扫描和中断扫描两种。

循环扫描方式利用CPU在完成其他工作的空余,调用键盘扫描子程序来响应键输入要求。

在执行键功能程序时,CPU不再响应键输入要求。

键盘扫描程序通常具备4项功能:

第一,判断键盘上有无键按下。

第二,去除键抖动影响。

在判断有键按下,软件延时一段时间后,再判断键盘状态。

如果仍为有键按下状态,则确定;否则按键抖动处理。

第三,扫描键盘,得到按键的键号。

第四,判别闭合的键是否释放。

在系统初始化后,CPU必须反复轮流调用扫描式显示子程序和键盘输入程序。

在识别有键闭合后,执行规定的操作,然后再重新进人上述循环。

循环工作方式采用扫描键盘的工作方式,虽然能响应键输人的命令或数据,但是这种方式不管键盘上有无键按下,CPU总要定时扫描键盘;而应用系统在工作时,并不经常需要按键输入,因此,CPU常处于空扫描状态。

为了提高CPU的工作效率,可采用中断扫描工作方式,即只在键盘有键按下时发中断请求,CPU响应中断请求后,转中断服务程序,进行键盘扫描,识别键码。

中断扫描工作方式的一种简易键盘接口电路。

其直接由P1口中高、低字节构成4x4行列式键盘。

键盘的列线与P1口的低4位相接,键盘的行线接到Pl口的高4位。

图5中“与”门的4输入端分别与各列线相连,而输出端接单片机外部中断输入INT0。

初始化时,键盘行输出口全部置0。

当有键按下时,1NT0端为低电平,向CPU发出中断请求,若CPU开放外部中断,则响应该中断请求,进人中断服务程序。

此外还须注意保护与恢复现场。

4.1.2矩阵键盘电路部分及其说明

图4-1

说明:

本次设计采用循环扫描的方法,每次检测有按键按下,由于行列电平的变化,便开始查询此时行列电平值所对应的键盘编码,再由键盘编码输出到液晶显示编码并显示键值,由此按下一个按键,便可以得到相应的显示部分。

本设计可实现要求。

4.2数字温度计电路

数字温度计采用温度敏感元件也就是温度传感器(如铂电阻,热电偶,半导体,热敏电阻等),将温度的变化转换成电信号的变化,如电压和电流的变化,温度变化和电信号的变化有一定的关系,如线性关系,一定的曲线关系等,这个电信号可以使用模数转换的电路即AD转换电路将模拟信号转换为数字信号,数字信号再送给处理单元,如单片机或者PC机等,处理单元经过内部的软件计算将这个数字信号和温度联系起来,成为可以显示出来的温度数值,如32.3摄氏度,然后通过显示单元,如LED显示出来给人观察。

这样就完成了数字温度计的基本测温功能。

还可以通过串行通信的方式在第二个单片机上显示出来。

硬件电路如下:

图4-2

4.3单片机最小系统电路

TC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

具有以下标准功能:

8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,2个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。

另外STC89X52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

最高运作频率35MHz,6T/12T可选。

图4-3

5软件设计

5.1发送方程序设计

在设计出了三个分支程序:

串口通信函数,按键识别函数,温度计函数,现在要设计一个main()函数,将它们的功能整合到一起,在一个完整的大程序里实现所有功能。

为了使得程序显得简洁,可读性强,我使用了程序嵌套的方法,从而实现了三个程序之间的相互切换,在一个大程序中,实现了三个子函数的功能。

需要注意的是,在不同的程序中,其相应的寄存器工作状态是不相同的,所以在转入下一个循环时,必须先进行初始化。

总程序设计的程序流程图如图所示:

 

图14总程序设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 历史学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1