单片机课设.docx
- 文档编号:11649243
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:38
- 大小:1.84MB
单片机课设.docx
《单片机课设.docx》由会员分享,可在线阅读,更多相关《单片机课设.docx(38页珍藏版)》请在冰豆网上搜索。
单片机课设
课程设计任务书
学生姓名:
向阳专业班级:
通信1004班
指导教师:
刘新华工作单位:
信息工程学院
题目:
初始条件
1)POTEL、KeiluV2、PROTEUS、stc-isp等软件
2)《微机原理》、《数字电子技术基础》、《单片机原理与应用》等学科基础课理论知识
要求完成的主要任务:
1)完成单片机最小系统的设计、焊接、调试;
2)完成ISP下载电路的设计、焊接;
3)完成应用系统扩展电路部分的设计、焊接、调试。
4)利用仿真软件完成系统仿真工作;
5)完成系统软件的设计,包括程序结构设计、流程图绘制、程序设计。
时间安排
序
号
阶段内容
所需时间
1
方案设计
1天
2
硬件设计
1天
3
软件设计
1天
4
系统仿真
1天
5
电路板焊接
1天
6
撰写报告
2天
7
答辩
1天
合计
8天
指导教师签名:
2012年月日
系主任(或责任教师)签名:
2012年月日
目录
摘要5
1.实习目的与要求7
1.1实习目的7
1.2实习基本要求7
1.3实习任务7
2.基本原理8
2.1键盘显示电路9
2.2数字温度计9
2.3串口串行通信9
3.方案设计与论证10
3.1方案一10
3.2方案二11
3.3方案论证11
4.系统硬件电路设计11
4.1总体方案11
4.2STC89C52单片机最小系统12
4.3键盘与显示电路13
4.3.1键盘电路采用的是4*4的矩阵键盘,图4.3所示。
13
4.3.2显示电路13
4.3.3最小系统拓展出的键盘显示系统电路原理图14
4.4数字温度计电路设计原理15
4.4.1DS18B20芯片的结构15
4.3.2数字温度计设计的硬件原理框图16
4.3.3DS18B20温度测温系统框图16
4.3.4DS18B20测温原理16
4.3.5测温模块电路原理图17
4.4串口串行通信电路设计17
4.4.1串行通信原理及特点17
4.4.2串口串行通信电路原理图18
5软件仿真与分析19
5.1键盘、显示电路仿真19
5.2数字温度计仿真21
5.3串口通信仿真22
6.实物调试与分析24
6.1键盘、显示电路调试24
6.2数字温度计电路调试25
6.3串口通信实现电路调试25
附录2系统原理图31
附录3实物展示32
附录4总程序33
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机具有体积小、功耗低、控制功能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同种类的传感器,可实现诸如电压、湿度、温度、速度、硬度、压力等的物理量的测量。
本文主要介绍了基于AT89C51单片机的一个键盘和显示系统、数字温度计系统和利用51的串口实现串行通信接口电路系统。
详细描述了以单片机最小系统为基础,利用Proteus进行电路设计,利用KeilC51uVision2集成开发环境进行软件程序的编写,并进行电路焊接、电路仿真和电路调试的过程。
关键词:
单片机,电路设计,仿真,调试
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:
Singlechip,Circuitdesign,Simulation,Debugging
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.1键盘显示电路
键盘显示电路用单片机最小系统进行按键识别和数码管显示的控制,利用P2进行按键的扫描和状态读取,利用p0口控制数码管的段选,利用p1口控制数码管位选。
2.2数字温度计
由于现在用品追求多样化,多功能化,给系统加上温度测量显示模块,能够方便人们的生活,使该设计具有人性化。
方案一:
采用热敏电阻,利用其感温效应,再将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,可满足40摄氏度至90摄氏度测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测小于1摄氏度的信号是不适用的,并且感温电路比较复杂。
方案二:
数字温度计采用DS18B20芯片。
DS18B20的管脚排列、各种封装形式如图2.2所示,DQ为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20可以满足从-55摄氏度到+125摄氏度测量范围,且DS18B20测量精度高,增值量为0.5摄氏度,在一秒内把温度转化成数字,测得的温度值的存储在两个八位的RAM中,单片机直接从中读出数据转换成十进制就是温度,使用方便。
基于DS18B20的以上优点,故本次设计选取方案二(DS18B20)来测量温度。
2.3串口串行通信
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
串口通信实现了主机和辅机之间的串口通信,分别将两个AT89C52芯片上的P3.0(RXD),P3.1(TXD)交错相连,实现一个发送数据,一个接收数据。
图2.2DS18B20外部封装形式
3.方案设计与论证
3.1方案一
本方案主要以单片机为核心,利用单片机的计数定时,中断控制,串行口及强大的寄存器等功能来实现功能选择,温度显示,数据输入,数据通信等功能并且利用单片机的动态扫描法把测出的数据送到数字显示电路显示。
被测信号先进入信号放大电路进行放大,再被送到波形整形电路整形,把被测的正弦波或者三角波整形为方波。
利用单片机的计数器和定时器的功能对被测信号进行计数。
编写相应的程序可以使单片机自动调节测量。
3.2方案二
本方案主要以数字器件为核心,主要分为时基电路,逻辑控制电路,放大整形电路,闸门电路,计数电路,锁存电路,译码显示电路七大部分。
本方案使用大量的数字器件,及相关的其他硬件元件。
3.3方案论证
比较以上两种方案可以知道,方案一的核心是单片机,使用的元器件少,原理电路简单,调试简单只要改变程序的设定值则可以实现不同频率范围的测试能自动选择测试的量程。
与方案一相比较方案二则使用了大量的数字元器件,原理电路复杂,硬件调试麻烦。
如要测量高频的信号还需要加上分频电路,价格相对高了点。
基于上述比较,所以选择了方案一。
4.系统硬件电路设计
系统主要由键盘显示电路、数字温度计和串口实现串行通信接口电路模块组成。
4.1总体方案
本设计采用STC89C52单片机作为本系统的控制模块。
单片机可把由DS18B20等中的数据利用软件来进行处理,从而把数据传输到显示模块,实现功能选择,温度显示,数据输入,数据通信等功能。
以六个七段数码管为显示模块,把单片机传来的数据显示出来,并且显示多样化。
在显示电路中,主要靠按键来实现各种显示要求的选择与切换。
4.2STC89C52单片机最小系统
最小系统包括晶体振荡电路、复位开关和电源部分。
图为AT89C52单片机的最小系统。
控制模块键盘显示电路用单片机最小系统进行按键识别和数码管显示的控制,利用P2口进行按键的扫描和状态读取,利用p0口控制数码管的段选,利用p1口控制数码管位选。
从而实现键盘和数码管显示的协调。
最小系统图如下图4.2所示。
单片机系统里都有晶振,在单片机系统里晶振作用非常大,全程叫晶体振荡器,他结合单片机内部电路产生单片机所需的时钟频率,单片机晶振提供的时钟频率越高,那么单片机运行速度就越快,单片接的一切指令的执行都是建立在单片机晶振提供的时钟频率。
图4.2STC89C52单片机最小系统
51单片机最小系统电路介绍:
(1).51单片机最小系统复位电路的极性电容C3的大小直接影响单片机的复位时间,一般采用10~30uF,51单片机最小系统容值越大需要的复位时间越短。
(2).51单片机最小系统晶振X1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快,此处我选取的是11.0592MHZ的晶振。
(3).51单片机最小系统起振电容C1、C2一般采用15~33pF,并且电容离晶振越近越好,晶振离单片机越近越好
设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。
计数值N乘以机器周期Tcy就是定时时间t。
设置为计数器模式时,外部事件计数脉冲由T0或T1引脚输入到计数器。
在每个机器周期的S5P2期间采样T0、T1引脚电平。
当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。
由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。
当晶振频率为12MHz时,最高计数频率不超过12MHz,即计数脉冲的周期要大于2ms。
相关寄存器列表如下表4.2所示
表4.2相关寄存器列表
标识符号
地址
寄存器名称
PCON
87H
电源控制及波特率选择寄存器
SCON
98H
串行口控制寄存器
SBUF
99H
串行数据缓冲寄存器
TCON
88H
定时控制寄存器
TMOD
89H
定时器方式选择寄存器
TL0
8AH
定时器0低8位
TH0
8CH
定时器0高8位
TL1
8BH
定时器1低8位
TH1
8DH
定时器1高8位
4.3键盘与显示电路
4.3.1键盘电路采用的是4*4的矩阵键盘,图4.3所示。
图4.3键盘电路
各个键盘功能列如下表表4.3.1所示
表4.3.1键盘功能列表
键编号
键功能
键编号
键功能
键编号
键功能
键编号
键功能
S1
关显示
S5
显示1
S9
显示4
S13
显示7
S2
显示0
S6
显示2
S10
显示5
S14
显示8
S3
关显示
S7
显示3
S11
显示6
S15
显示9
S4
未用
S8
串口通信控制
S12
测温度控制
S16
键入数字控制
4.3.2显示电路
采用的是六个7位共阳数码管,如图4.3.2所示。
这次设计的显示部分采用STC89c51单片机动态扫描完成,在多数的应用场合中,我们并不希望使用多I/O端口的单片机,原则上是使用尽量少引脚的器件。
在没有富余端口的情况下,应通过优化设计程序和扩展电路达到预期的目的。
动态扫描的频率有一定的要求,频率太低,LED将出现闪烁现象。
如频率太高,由于每个LED点亮的时间太短,LED的亮度太低,肉眼无法看清,所以一般均取几个ms左右为宜,这就要求在编写程序时,选通某一位LED使其点亮并保持一定的时间,程序上常采用的是调用延时子程序。
图4.3.2显示电路
4.3.3最小系统拓展出的键盘显示系统电路原理图
图4.3.3键盘显示电路原理图
4.4数字温度计电路设计原理
4.4.1DS18B20芯片的结构
DS18B20内部结构主要由四部分组成:
64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。
DS18B20的管脚排列、各种封装形式如图4-5所示,DQ为数据输入/输出引脚。
开漏单总线接口引脚。
当被用着在寄生电源下,也可以向器件提供电源;GND为地信号;VDD为可选择的VDD引脚。
当工作于寄生电源时,此引脚必须接地。
DS18B20最大的特点是单总线数据传输方式,DS18B20的数据I/O均由同一条线来完成。
DS18B20的电源供电方式有2种:
外部供电方式和寄生电源方式。
工作于寄生电源方式时,VDD和GND均接地,他在需要远程温度探测和空间受限的场合特别有用,原理是当1Wire总线的信号线DQ为高电平时,窃取信号能量给DS18B20供电,同时一部分能量给内部电容充电,当DQ为低电平时释放能量为DS18B20供电。
但寄生电源方式需要强上拉电路,软件控制变得复杂(特别在完成温度转换拷贝数据到E2PROM时),同时芯片的性能也有所降低。
外部电源供电方式是DS18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。
因此本设计采用外部供电方式。
温度检测电路如图4.4所示。
温度传感器DS18B20的测量范围为-55℃~+125℃,在-10℃~+85℃时精度为±0.5℃。
因为本设计只用于测量环境温度。
所以只显示-10℃~+85℃
4.3.2数字温度计设计的硬件原理框图
STC89C52
4.3.3DS18B20温度测温系统框图
图4.3.3DS18B20温度测温系统框图
4.3.4DS18B20测温原理
DS18B20的测温原理,低温度系数晶振的振荡频率受温度的影响很小用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量.计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温图2中的斜率累加器用于补偿和修正测温过程中的非线性其输出用,于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。
另外,由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。
系统对DS18B20的各种操作必须按协议进行。
操作协议为:
初始化DS18B20(发复位脉冲)→发ROM功能命令→发存储器操作命令→处理数据。
4.3.5测温模块电路原理图
图4.3.5所示,基于DS18B20的优点,本次设计选取DS18B20来测量温度。
图4.3.5测温模块电路原理图
4.4串口串行通信电路设计
4.4.1串行通信原理及特点
串行通信是指使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。
其只需要少数几条线就可以在系统间交换信息,特别使用于计算机与计算机、计算机与外设之间的远距离通信。
数据在单条一位宽的传输线上,一比特接一比特地按顺序传送的方式称为串行通信。
在并行通信中,一个字节(8位)数据是在8条并行传输线上同时由源传到目的地;而在串行通信方式中,数据是在单条1位宽的传输线上一位接一位地顺序传送。
这样一个字节的数据要分8次由低位到高位按顺序一位位地传送。
由此可见,串行通信的特点如下:
1、节省传输线,这是显而易见的。
尤其是在远程通信时,此特点尤为重要。
这也是串行通信的主要优点。
2、数据传输效率低。
与并行通信比,这也这是显而易见的。
这也是串行通信的主要缺点。
例如:
传送一个字节,并行通信只需要1T的时间,而串行通信至少需要8T的时间。
由此可见,串行通信适合于远距离传送,可以从几米到数千公里。
对于长距离、低速率的通信,串行通信往往是唯一的选择。
并行通信适合于短距离、高速率的数据传输,通常传输距离小于30米。
特别值得一提的是,现成的公共电话网是通用的长距离通信介质,它虽然是为传输声音信号设计的,但利用调制解调技术,可使现成的公共电话网系统为串行数据通信提供方便、实用的通信线路。
如下图4.4.1所示为串行通信示意图
4.4.2串口串行通信电路原理图
串口通信实现了主机和辅机之间的串口通信,分别将两个AT89C52芯片上的P3.0(RXD),P3.1(TXD)交错相连,实现一个发送数据,一个接收数据。
在我的设计中,当按下矩阵键盘的S8键时,谁先按S8键,谁便是主机,另外一个便是辅机,当主机按下S8键之后,再按相关功能键比如测温的S12和显示数字的S16等待发送,然后按下辅机的S8,即可实现主机向辅机的串口通信了。
串口串行通信电路原理图如图4.4.2所示
图4.4.2串口串行通信电路原理图
5软件仿真与分析
5.1键盘、显示电路仿真
如下图5.1.1,图5.1.2,图5.1.3所示即为键盘显示电路的仿真图,其仿真的结果每键入一个数字显示在最左边的一个数码管上,再键入一个则依次右移,如下图键入数字顺序依次为‘8’,‘7’,‘6’,‘5’,‘4’,‘3’则仿真出来如下三图所示
图5.1.1键盘显示仿真1
图5.1.2键盘显示仿真2
图5.1.3键盘显示仿真3
5.2数字温度计仿真
测温度电路是由按键S12来控制的,按下S12键即可显示温度,由于写程序的时候是显示的温度的10倍,因此显示的温度是实际测量温度的10倍,如下图5.2.1和图5.2.2所示分别对应的实际测量温度是15度和10度。
图5.2.1数字温度测量仿真1
图5.2.2数字温度测量仿真2
5.3串口通信仿真
串口通信实现了主机和辅机之间的串口通信,分别将两个AT89C52芯片上的P3.0(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机
![提示](https://static.bdocx.com/images/bang_tan.gif)