学士学位论文基于单片机的数据显示及串口通信系统.docx

上传人:b****1 文档编号:15165074 上传时间:2023-07-01 格式:DOCX 页数:60 大小:694.80KB
下载 相关 举报
学士学位论文基于单片机的数据显示及串口通信系统.docx_第1页
第1页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第2页
第2页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第3页
第3页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第4页
第4页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第5页
第5页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第6页
第6页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第7页
第7页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第8页
第8页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第9页
第9页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第10页
第10页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第11页
第11页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第12页
第12页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第13页
第13页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第14页
第14页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第15页
第15页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第16页
第16页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第17页
第17页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第18页
第18页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第19页
第19页 / 共60页
学士学位论文基于单片机的数据显示及串口通信系统.docx_第20页
第20页 / 共60页
亲,该文档总共60页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

学士学位论文基于单片机的数据显示及串口通信系统.docx

《学士学位论文基于单片机的数据显示及串口通信系统.docx》由会员分享,可在线阅读,更多相关《学士学位论文基于单片机的数据显示及串口通信系统.docx(60页珍藏版)》请在冰点文库上搜索。

学士学位论文基于单片机的数据显示及串口通信系统.docx

学士学位论文基于单片机的数据显示及串口通信系统

序号(学号):

0121309340710

 

 

学生实习报告书

 

实习类别

单片机应用实习

实习地址

武汉理工大学信息工程学院

学院

信息工程学院

专业

通信工程

班级

通信1303班

姓名

指导教师

 

2016

1

1

 

实习执行大纲

一、实习目的

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)答辩时交实习报告电子文档,通过答辩后根据修改意见修改并打印、装订成册。

三、实习地点

武汉理工大学信息工程学院通信实验室(鉴主15楼)。

四、实习时间

2016年1月1日---2016年1月15日

 

实习单位:

武汉理工大学信息工程学院

参观考察单位:

(1)武汉理工大学信息工程学院国创课题小组

(2)武汉理工大学信息工程学院开放实验室

(3)武汉理工大学电工电子实习中心

(4)

(5)

(6)

实习开始时间:

2016年1月1日,实习时间共14天。

完成实习报告时间:

2016年1月15日。

实习报告

摘要

单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

Proteus自从有了单片机也就有了开发系统,随着单片机的发展开发系统也在不断发展。

Keil是一种先进的单片机集成开发系统。

它代表着汇编语言单片机开发系统的最新发展,首创多项便利技术,将开发的编程/仿真/调试/写入/加密等所有过程一气呵成,中间不须任何编译或汇编。

本文先介绍了STC89S52单片机最小系统包括复位和时钟电路及供电系统、4×4矩阵键盘、显示电路以及MAX232和RS-232标准串口构成的串口通信电路,然后利用Proteus软件仿真,Keil软件编程最终实现了单片机的数据显示、功能选择、数据输入、数据通信这些功能。

关键字:

单片机仿真最小系统编程Keil

Abstract

SCMisanintegratedcircuitchip,istheuseofVLSItechnologytotheCPUhasadataprocessingcapability,randomaccessmemoryRAM,readonlymemoryROM,avarietyofI/Oportsandinterruptsystem,timers/counters,etc.functionalityintoasmallbutperfectpieceofsiliconmicro-computersystemconstituted,inawiderangeofindustrialcontrolapplications.EversincetheSCMProteuswillhavetodevelopsystems,withthedevelopmentofmicrocontrollerdevelopmentsystemisconstantlyevolving.Keilisanadvancedsingle-chipintegrateddevelopmentsystem.Itrepresentstheassemblylanguageofthelatestdevelopmentsinmicrocontrollerdevelopmentsystem,pioneeredanumberofconvenienttechnology,allproceduralprogramming/emulation/debug/write/encryptionwilldeveloponego,inthemiddledonotneedanycompilerorassembler.

ThisarticlefirstintroducestheSTC89S52smallestsingle-chipsystemincludesaresetandclockcircuitryandpowersupplysystem,4×4matrixkeyboard,displaycircuitandserialcommunicationcircuitMAX232andRS-232standardserialportconfiguration,andthenuseProteussoftwaresimulation,KeilsoftwareprogrammingandultimatelySCMdatadisplay,functionselection,dataentry,datacommunicationbetweenthesefunctions.

 

Keywords:

SCMsimulationKeilMinimumSystemProgramming

目录

摘要I

AbstractII

1基本原理1

1.1STC89C52单片机介绍1

1.2单片机最小系统5

1.3MAX232电平转换芯片和RS232接口介绍7

1.4键盘检测原理8

1.5数码管显示9

1.6串口通信10

2系统单元设计11

3方案论证12

3.1单片机最小系统12

3.2数据输入模块12

3.3数据显示模块13

3.4串口通信模块13

4硬件电路设计14

4.1单片机控制模块设计14

4.1.1时钟电路14

4.1.2复位电路15

4.2矩阵键盘调整模块设计17

4.3数据管显示模块设计17

4.4串口通信模块设计18

4.5硬件系统整体设计电路图19

5软件程序设计20

5.1系统主程序模块20

5.2功能选择模块21

5.3数据输入模块22

5.4数据显示模块22

5.5按键扫描模块23

5.6数据通信模块24

5.7数据显示模块25

6仿真测试25

6.1数据输入功能调试25

6.2数据输出功能调试26

6.3串口通信功能调试27

7实物制作与调试29

7.1数据输入功能调试29

7.2数据输出功能调试29

7.3串口通信功能调试30

7.4焊接图32

7.5调试界面及工具33

8小结与体会34

9致谢35

参考文献36

附录一:

源代码37

附录二:

元件清单44

基于单片机的数据显示及串口通信系统

1基本原理

1.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

●掉电模式可由外部中断唤醒,适用于水表、气表等电池供电系统及便携设备

图1-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位地址。

表1-1P1.0和P1.1引脚复用功能表

引脚号

功能特性

P1.0

T2(定时器/计数器2外部计数输入),时钟输出

P1.1

T2EX(定时器/计数器2捕获/重装触发和方向控制)

P2端口(P2.0~P2.7,21~28引脚):

P2口是一个带内部上拉电阻的8位双向I/O端口。

P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。

对端口写入1时,通过内部的上拉电阻把端口拉到高电平,这时可用作输入口。

P2作为输入口使用时,因为有内部的上拉电阻,那些被外部信号拉低的引脚会输出一个电流。

在访问外部程序存储器和16位地址的外部数据存储器(如执行“MOVX@DPTR”指令)时,P2送出高8位地址。

在访问8位地址的外部数据存储器(如执行“MOVX@R1”指令)时,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口外,还有其他一些复用功能,如下表所示:

表1-2P3口引脚功能

引脚号

复用功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

(外部中断0)

P3.3

(外部中断1)

P3.4

T0(定时器0的外部输入)

P3.5

T1(定时器1的外部输入)

P3.6

外部数据存储器写选通

P3.7

外部数据存储器读选通

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系列单片机内部自带了看门狗,通过对相应的特殊功能寄存器的设置就可实现看门狗的应用。

其相应的功能及原理介绍见下表:

表1-3看门狗定时器寄存器的功能表

符号

功能

EN_WDT

看门狗允许位,当设置为“1”,看门狗启动

CLR_WDT

看门狗清“0”位,当设为“1”时,看门狗将重新计数。

硬件将自动清“0”此位

IDLE_WDT

看门狗“IDLE”模式位,当设置为“1”时,看门狗定时器在“空闲模式”计数;当清“0”该位时,看门狗在“空闲模式”时不计数

PS2,PS1,PS0

看门狗定时器预分频值

1.2单片机最小系统

51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。

51单片机最小系统晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

51单片机最小系统起振电容C2、C3一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好

P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k。

其他接口内部有上拉电阻,作为输出口时不需外加上拉电阻。

[5]

设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。

计数值N乘以机器周期Tcy就是定时时间t。

设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。

在每个机器周期的S5P2期间采样T0、T1引脚电平。

当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。

当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2ms。

图1-2单片机最小系统图

1.3MAX232电平转换芯片和RS232接口介绍

MAX232是电平转换芯片。

1970年美国电气学会规定“RS232”串口通信协议。

规定逻辑“1”-5—-15V逻辑“0”5—15V。

噪声容限为2V。

要实现利用串口与单片机进行通信就要进行电平转换把标准转化成单片机可以识别的。

MAX220–MAX249都是电平转换芯片在单片机最小系统中使用MAX232。

[4]

图1-3MAX232电平转换芯片引脚图

RS232接口连接器一般使用型号为DB-9的9芯插头座,只需3条接口线,即"发送数据"、"接收数据"和"信号地"即可传输数据,在此用于串口通信接口,其引脚图如下所示。

图1-4RS232接口引脚图

RS232的规范中,电压值在+3V~+15V(一般使用+6V)称为"0"或"ON"。

电压在-3V~-15V(一般使用-6V)称为"1"或"OFF";RS232为全双工工作模式,其信号的电压是参考地线而得到的,可以同时进行数据的传送和接收。

引脚功能介绍和引脚图:

1数据载波检测DCD2接收数据RXD3发送数据TXD4数据终端准备DTR5信号地GND6数据设备准备好DSR7请求发送RTS8清除发送CTS9振铃指示DELL

 

1.4键盘检测原理

键盘是计算机系统中不可缺少的输入设备,当键盘较少时可接成线性键盘。

当按键较多时接成矩阵的形式,可以节省口线。

键盘是一组按键的组合。

键通常是一种常开型按钮开关,常态下键的两个触点处于断开状态,按下键时它们才闭合(短路)。

通常,键盘有编码和非编码两种。

矩阵键盘每个按键都有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

矩阵键盘的行线和列线分别通过两并行口中,一个输出扫描码,使按键动态接地(称行扫描码),另一个并行口输入按键状态(称回馈信号)。

通过编码识别不同的按键,再通过软件查表,查出该键的功能,转向不同的处理程序。

因此键盘处理程序的任务是:

确定有无键按下;判断哪一个键按下;形成键编码;根据键的功能,转相应的处理程序。

[3]

图1-5矩阵键盘

键扫描就是要判断有无键按下,当扫描到有键按下时再进行下一步处理,否则退出键盘处理程序。

独立式键盘扫描只需读取IO口状态,而矩阵式键盘描通常有两种实现方法:

逐行扫描法和线反转法。

(1)逐行扫描法。

依次从第一至最末行线上发出低电平信号,如果该行线所连接的键没有按下的话,则列线所接的端口得到的是全“1”信号,如果有键按下的话,则得到非全“1”信号。

(2)线反转法。

线反转法也是识别闭合键的一种常用方法,该法比行扫描速度快,但在硬件上要求行线与列线外接上拉电阻。

先将行线作为输出线,列线作为输入线,行线输出全“0”信号,读入列线的值,那么在闭合键所在的列线上的值必为0;然后从列线输出全“0”信号,再读取行线的输入值,闭合键所在的行线值必为0。

这样,当一个键被按下时,必定可读到一对唯一的行列值。

再由这一对行列值可以求出闭合键所在的位置。

本次设计采用简单的逐行扫描的方式。

1.5数码管显示

数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管。

  按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。

共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。

共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。

下图四为数码管的内部原理图:

[1]

图1-6数码管内部原理图

 

1.6串口通信

串行接口SerialInterface是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信,并可以利用电话线,从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。

串行通讯的特点是:

数据位传送,传按位顺序进行,最少只需一根传输线即可完成;成本低但传送速度慢。

串行通讯的距离可以从几米到几千米;根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。

51单片机的中断系统中第4个中断就是串口中断,要进行串口通信首先就要打开CPU总中断EA,还要打开串口通信中断ES,这是串口通信的前堤。

串口通信也跟计时器一样有很多的模式,因此我们还要设置SCON寄存器来指定采用哪一种方式进行通信,而在通信的过程中,我们还要设定通信的波特率,不然的话,单片机是没办法进行采样的,这样也不会得到正确的结果了。

51单片机串口波特率由内部定时器1产生,一般要让定时器1工作在自动装载的8位模式,即工作方式2。

串口工作在方式3,即SM0=1,SM1=1,每一帧9位,无奇偶校验。

波特率由定时器1确定,本设计设定为9600bps。

图1-7串口通信帧的结构

2系统单元设计

采用单片机控制。

利用单片机丰富的I/O端口,及其控制的灵活性,实现基本的功能选择、数据输入、数据输出、串口通信等不同功能。

采用单片机控制。

利用单片机丰富的I/O端口,及其控制的灵活性,有较大的活动空间,便于修改。

不但能实现基本的显示功能,而且能在很大的

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2