武汉理工大学单片机应用实习报告.docx
- 文档编号:9693225
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:48
- 大小:1.69MB
武汉理工大学单片机应用实习报告.docx
《武汉理工大学单片机应用实习报告.docx》由会员分享,可在线阅读,更多相关《武汉理工大学单片机应用实习报告.docx(48页珍藏版)》请在冰点文库上搜索。
武汉理工大学单片机应用实习报告
实习任务书
学生:
专业班级:
通信1004班
指导教师:
新华工作单位:
理工大学
题目:
单片机应用实习报告
初始条件:
单片机最小系统、下载电路、扩展电路、软件(PROTEUS等)、万用表、电烙铁等工具
要求完成的主要任务:
1)完成单片机最小系统的设计、焊接、调试
2)完成ISP下载电路的设计、焊接
3)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计
4)在单片机最小系统硬件上实现任务3中规定的功能
时间安排:
序
号
阶段容
所需时间
1
方案设计
2天
2
硬件设计
2天
3
软件设计
3天
4
系统仿真
1天
5
电路板焊接
2天
6
系统调试
3天
7
答辩
1天
合计
14天
指导教师签名:
年月日
系主任(或责任教师)签名:
年月日
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同种类的传感器,可实现诸如电压、湿度、温度、速度、硬度、压力等的物理量的测量。
本文将介绍一种基于单片机控制理论及其应用系统设计的数字温度计。
本文主要介绍了基于AT89C51单片机的一个键盘和显示系统、串口通信系统,详细描述了以单片机最小系统为基础,利用Proteus进行电路设计,利用KeilC51uVision2集成开发环境进行软件程序的编写,并进行电路焊接、电路仿真和电路调试的过程。
关键字:
单片机、键盘、数码管,Keil
Abstract
Withtheeraofprogressanddevelopment,single-chiptechnologyhasspreadtoourlives,work,research,invariousfields,hasbecomearelativelymaturetechnology,SCMhastheadvantagesofsmallvolume,lowpowerconsumption,strongcontrolfunction,flexibleexpansion,miniaturizationandeaseofuse,widelyusedinstruments,thecombinationofdifferentkindsofsensors,canbeusedasvoltage,humidity,temperature,speed,hardness,pressureandthemeasurementofaphysicalquantity.Thispaperintroducesamicrocontrollerbasedoncontroltheoryanditsapplicationsystemdesignofdigitalthermometer.
ThisarticlemainlyintroducedbasedonAT89C51microcontrollerakeyboardanddisplaysystem,thedigitalclocksystem,digitalthermometersystemandthedigitalfrequencymetersystem.Describedindetailwiththesmallestsingle-chipsystemasthebasis,usingProteuscircuitdesign,usingKeilC51uVision2integrateddevelopmentenvironmentsoftwareisprogrammed,andcircuit,circuitsimulationanddebuggingprocess.
Keywords:
MCU,keypad,Keil
1.实习执行大纲
1.1实习目的
1、巩固《单片机原理与应用》理论课的理论知识;
2、熟悉单片机应用系统的硬件设计及软件设计的基本方法;
3、将《单片机原理与应用》理论课的理论知识应用于实际的应用系统中;
4、训练单片机应用技术,锻炼实际动手能力。
1.2实习要求
1)利用PROTEL等软件进行硬件设计;
2)利用KeiluV2软件完成应用系统软件设计;
3)利用PROTEUS软件进行仿真设计;
4)完成单片机最小系统和应用系统电路板的焊接;
5)对电路进行调试;
6)利用stc-isp软件完成在系统编程、下载,并完成系统软件调试;
7)题目由指导教师提供;
8)要求每个学生单独完成硬件软件设计、仿真、焊接、调试任务;
9)写出实习报告,实习报告主要包括以下容:
目录、摘要、关键词、基本原理、方案论证、硬件设计、软件设计(带流程图、程序清单)、仿真结果、实物运行结果照片、结论、参考文献等;
10)实习完成后通过答辩;
11)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。
1.3基本任务
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中规定的功能
2基本原理
2.1STC89C52单片机介绍
STC89C52RC单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机,12时钟/机器周期和6时钟/机器周期可以任意选择。
主要特性如下:
1.增强型8051单片机,6时钟/机器周期和12时钟/机器周期可以任意选择,指令代码完全兼容传统8051.
2.工作电压:
5.5V~3.3V(5V单片机)/3.8V~2.0V(3V单片机)
3.工作频率围:
0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz
4.用户应用程序空间为8K字节
5.片上集成512字节RAM
6.通用I/O口(32个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片
8.具有EEPROM功能
9.具有看门狗功能
10.共3个16位定时器/计数器。
即定时器T0、T1、T2
11.外部中断4路,下降沿中断或低电平触发电路,PowerDown模式可由外部中断低电平触发中断方式唤醒
12.通用异步串行口(UART),还可用定时器软件实现多个UART
13.工作温度围:
-40~+85℃(工业级)/0~75℃(商业级)
14.PDIP封装
STC89C52RC单片机的工作模式
●掉电模式:
典型功耗<0.1μA,可由外部中断唤醒,中断返回后,继续执行原程序
●空闲模式:
典型功耗2mA
●正常工作模式:
典型功耗4Ma~7mA
●掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备
图1STC89C52RC引脚图
STC89C52RC引脚功能说明
VCC(40引脚):
电源电压
VSS(20引脚):
接地
P0端口(P0.0~P0.7,39~32引脚):
P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
在访问外部程序和数据存储器时,P0口也可以提供低8位地址和8位数据的复用总线。
此时,P0口部上拉电阻有效。
在FlashROM编程时,P0端口接收指令字节;而在校验程序时,则输出指令字节。
验证时,要求外接上拉电阻。
P1端口(P1.0~P1.7,1~8引脚):
P1口是一个带部上拉电阻的8位双向I/O口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
对端口写入1时,通过部的上拉电阻把端口拉到高电位,这是可用作输入口。
P1口作输入口使用时,因为有部上拉电阻,那些被外部拉低的引脚会输出一个电流。
此外,P1.0和P1.1还可以作为定时器/计数器2的外部技术输入(P1.0/T2)和定时器/计数器2的触发输入(P1.1/T2EX),具体参见下表:
在对FlashROM编程和程序校验时,P1接收低8位地址。
引脚号
功能特性
P1.0
T2(定时器/计数器2外部计数输入),时钟输出
P1.1
T2EX(定时器/计数器2捕获/重装触发和方向控制)
表一P1.0和P1.1引脚复用功能表
P2端口(P2.0~P2.7,21~28引脚):
P2口是一个带部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过部的上拉电阻把端口拉到高电平,这时可用作输入口。
P2作为输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。
在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVXDPTR”指令)时,P2送出高8位地址。
在访问8位地址的外部数据存储器(如执行“MOVXR1”指令)时,P2口引脚上的容(就是专用寄存器(SFR)区中的P2寄存器的容),在整个访问期间不会改变。
在对FlashROM编程和程序校验期间,P2也接收高位地址和一些控制信号。
P3端口(P3.0~P3.7,10~17引脚):
P3是一个带部上拉电阻的8位双向I/O端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
对端口写入1时,通过部的上拉电阻把端口拉到高电位,这时可用作输入口。
P3做输入口使用时,因为有部的上拉电阻,那些被外部信号拉低的引脚会输入一个电流。
在对FlashROM编程或程序校验时,P3还接收一些控制信号。
P3口除作为一般I/O口外,还有其他一些复用功能,如下表所示:
引脚号
复用功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4
T0(定时器0的外部输入)
P3.5
T1(定时器1的外部输入)
P3.6
外部数据存储器写选通
P3.7
外部数据存储器读选通
表二P3口引脚功能表
RST(9引脚):
复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。
DISRTO默认状态下,复位高电平有效。
ALE/(30引脚):
地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
在Flash编程时,此引脚也用作编程输入脉冲。
在一般情况下,ALE以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。
然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将会跳过。
如果需要,通过将地址位8EH的SFR的第0位置“1”,ALE操作将无效。
这一位置“1”,ALE仅在执行MOVX或MOV指令时有效。
否则,ALE将被微弱拉高。
这个ALE使能标志位(地址位8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。
PSEN(29引脚):
是外部程序存储器选通信号。
当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
EA/VPP(31引脚):
访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。
注意加密方式1时,将部锁定位RESET。
为了执行部程序指令,应该接VCC。
在Flash编程期间,也接收12伏VPP电压。
XTAL1(19引脚):
振荡器反相放大器和部时钟发生电路的输入端。
XTAL2(18引脚):
振荡器反相放大器的输入端。
特殊功能寄存器
在STC89C52RC片存储器中,80H~FFH共128个单元位特殊功能寄存器(SFR)
单片机可实现“看门狗”功能。
所谓“看门狗”是指在单片机构成的系统中,由于单片机的工作可能受到来自外界电磁场的干扰,造成程序的跑飞,从而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,这样会使整个系统处于停滞状态,发生不可预料的后果,所以处于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的芯片,俗称“看门狗”。
STC系列单片机部自带了看门狗,通过对相应的特殊功能寄存器的设置就可实现看门狗的应用。
其相应的功能及原理介绍见下表三:
符号
功能
EN_WDT
看门狗允许位,当设置为“1”,看门狗启动
CLR_WDT
看门狗清“0”位,当设为“1”时,看门狗将重新计数。
硬件将自动清“0”此位
IDLE_WDT
看门狗“IDLE”模式位,当设置为“1”时,看门狗定时器在“空闲模式”计数;当清“0”该位时,看门狗在“空闲模式”时不计数
PS2,PS1,PS0
看门狗定时器预分频值
表三“看门狗”定时器寄存器的功能表
2.2单片机最小系统
51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。
51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。
其他接口部有上拉电阻,作为输出口时不需外加上拉电阻。
设置为定时器模式时,加1计数器是对部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。
图2单片机最小系统图
2.3键盘检测原理
键盘是计算机系统中不可缺少的输入设备,当键盘较少时可接成线性键盘。
当按键较多时接成矩阵的形式,可以节省口线。
键盘是一组按键的组合。
键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时它们才闭合(短路)。
通常,键盘有编码和非编码两种。
矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。
矩阵键盘的行线和列线分别通过两并行口中,一个输出扫描码,使按键动态接地(称行扫描码),另一个并行口输入按键状态(称回馈信号)。
通过编码识别不同的按键,再通过软件查表,查出该键的功能,转向不同的处理程序。
因此键盘处理程序的任务是:
确定有无键按下;判断哪一个键按下;形成键编码;根据键的功能,转相应的处理程序。
图3矩阵键盘
键扫描就是要判断有无键按下,当扫描到有键按下时再进行下一步处理,否则退出键盘处理程序。
独立式键盘扫描只需读取IO口状态,而矩阵式键盘描通常有两种实现方法:
逐行扫描法和线反转法。
(1)逐行扫描法。
依次从第一至最末行线上发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。
(2)线反转法。
线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。
先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线的值,那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为0。
这样,当一个键被按下时,必定可读到一对唯一的行列值。
再由这一对行列值可以求出闭合键所在的位置。
本次设计采用简单的逐行扫描的方式。
2.4数码管显示
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。
下图四为数码管的部原理图:
图四数码管部原理图
2.5温度传感器
2.5.1温度传感器概述
温度传感器是各种传感器中最常用的一种,早期使用的是模拟温度传感器,如热敏电阻,
随着环境温度的变化,它的阻值也发生相应线性变化,用处理器采集电阻两端的电压,然后根据某个公式可以计算当前环境温度。
随着科技的进步,现代的温度传感器已经走向数字化,行型小,接口简单,广泛应用于生产实践的各个领域,为我们的生活提供了方便。
随着现代仪器的发展,微型化、集成化、数字化正成为传感器发展的一个重要方向。
美国DALLAS半导体公司推出的数字化温度传感器DS18B20采用单总线协议,即与单片机接口仅占用一个I/0端口,无需任何外部原件,直接将环境温度转化为数字信号,以数码方式串行输出,从而大大简化了传感器与微处理器的接口。
2.5.2DS1820温度传感器介绍
1、DS18B20的主要特性
1.1、适应电压围更宽,电压围:
3.0~5.5V,在寄生电源方式下可由数据线供电
1.2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯
1.3、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温
1.4、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路
1.5、温围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
1.6、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温
1.7、在9位分辨率时最多在93.75ms把温度转换为数字,12位分辨率时最多在750ms把温度值转换为数字,速度更快
1.8、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力
1.9、负压特性:
电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。
2、DS18B20的外形和部结构
DS18B20部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的外形及管脚排列如下图五:
图五DS18B20的外形及管脚排列图
DS18B20引脚定义:
(1)DQ为数字信号输入/输出端;
(2)GND为电源地;
(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。
3、DS18B20工作原理
DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。
DS18B20测温原理如图3所示。
图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。
高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。
计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。
4温度传感器采用的单总线的DS18B20。
1-wire,即单线总线,又叫单总线。
单总线适用于单主机系统,能够控制一个或多个从机设备。
主机可以是微控制器,从机可以是单总线器件,它们之间的数据交换只通过一条信号线。
当只有一个从机设备时,系统可按单节点系统操作;当有多个从机设备时,系统则按多节点系统操作。
.DS18B20工作时序图见下图六
图六DS18B20工作时序图
5.DS18B20工作流程图见下图七:
图七DS18B20工作流程图
2.6串口通信
串行接口SerialInterface是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。
一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:
数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。
串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
51单片机的中断系统中第4个中断就是串口中断,要进行串口通信首先就要打开CPU总中断EA,还要打开串口通信中断ES,这是串口
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉理工大学 单片机 应用 实习 报告