便携式电子胎压力计软硬件设计概要.docx
- 文档编号:11079372
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:23
- 大小:423.75KB
便携式电子胎压力计软硬件设计概要.docx
《便携式电子胎压力计软硬件设计概要.docx》由会员分享,可在线阅读,更多相关《便携式电子胎压力计软硬件设计概要.docx(23页珍藏版)》请在冰豆网上搜索。
便携式电子胎压力计软硬件设计概要
便携式电子胎压力计软硬件设计
摘要
摘要:
车胎压力对汽车的安全行驶至关重要,保障车胎压力正常的汽车轮胎压力监测系统监测系统受到国内外汽车工业界越来越多的重视。
本文介绍基于康宇测控仪器仪表工程有限公司KYAB05型传感器和89S51单片机的便携式电子胎压力计的软硬件设计方法。
关键词:
电子胎压力计压力传感器传感技术
目录
第一章:
绪论………………………………………………….3
1.1便携式电子胎压计系统设计背景……………………..3
1.2便携式电子胎压计系统的概述………………………..3
第二章 系统的总体设计……………………………………..4
第三章 系统的硬件的设计…………………………………..4
3.1 系统电路的相关知识和原理………………………….4
3.1.1何谓胎压计:
…………………………………..4
3.1.2如何将胎压转变成电压……………………….4
3.2 重要元件的说明……………………………………….5
3.2.1AT89S51单片机…………………………….5
3.2.2KYBA05型传感器…………………………….12
3.2.3LCD HS12864液晶显示器 ………14
3.2.4AD574 AD转换器…………………17
第四章课程设计心得与体会…………………………………..21
参考文献……………………………………………………………22
第一章绪论
1.1便携式电子胎压力计系统设计背景
近几年来,电子技术已越来越多地渗透到各种汽车功能中。
过去轮胎常被人们忽视,但如今随着人们对驾驶安全性与舒适性的追求,轮胎故障越来越受到人们的重视。
据统计,在美国高速公路上发生的交通事故有80%由于爆胎引起,在我国这一比例也高达70%。
在汽车的高速行驶过程中,轮胎故障是驾驶员最为担心和最难预防的,也是突发性交通事故发生的重要起因。
因此怎样防止爆胎,已成为安全驾驶的一个重要课题。
据国家橡胶轮胎质量监督中心的专家分析,保持标准的车胎气压行驶和及时发现车胎漏气,是有效防止爆胎的关键。
1.2便携式电子胎压力计系统的概述
我们采用KYAB05型传感器,将我们要测量的胎压信号转换成电压信号,由此我们将放大后的电压信号由89S51单片机将其进行A/D转换,再由软件部分将我们所得的数据进行处理,最后由驱动部分将其送入显示部分进行数码显示。
此数字胎压计由压力传感器、微控制器、LCD显示器等构成。
在开始测量时打开气阀并把测量结果进行处理和显示。
整个测量过程由89S51控制并完成各种计算,其中重要的进行A/D转换以及LCD数码管动态显示的软件处理.
第二章系统的总体设计
系统总体设计方案
采用集成的单片机主控,通过压力传感器将胎压信号送入带A/D转换的单片机中,以及在相关模拟分立元件的辅助下进行A/D转换以及其它的数据处理,将处理的结果送显示部分进行显示。
原理原理框图如下:
第三章 系统的硬件的设计
3.1 系统电路相关知识和原理
3.1.1何谓胎压
不同类型的车胎,在出厂之前都有一个标定的额定压力,这个额定压力就是胎压。
在这个压力之下,会使汽车的负载能力、驱动动力、燃料消耗量和驾驶舒适性都综合达到最优。
低于或高于这个额定压力的一定范围,都会导致轮胎故障。
常见的轮胎故障有:
温度效应故障,自然压力流失,穿刺导致的缓慢压力下降,爆胎等。
3.1.2如何将胎压转换成电压
知道了胎压计的原理之后,我们选购压力传感器,主要的目的是想要将胎压这个物理量转换成电压的讯号,它的工作原理是透过pump的充气、漏气来调整气体的压力。
因为压力让压力传感器内部的材料发生形变,在经过惠司登电桥后反应出相对的电压差,反过来我们也可以从其电压的变化知道当时的压力。
3.2 重要元件的说明
3.2.1AT89S51单片机
AT89S51是一个低功耗,高性能CMOS8位单片机,片内含4kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:
40个引脚,4kBytesFlash片内程序存储器,128bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
此外,AT89S51设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。
空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。
同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。
1.主要特性:
•8031CPU与MCS-51兼容
•4K字节可编程FLASH存储器(寿命:
1000写/擦循环)
•全静态工作:
0Hz-33MHz
•三级程序存储器保密锁定
•128*8位内部RAM
•32条可编程I/O线
•两个16位定时器/计数器
•6个中断源
•可编程串行通道
•低功耗的闲置和掉电模式
•片内振荡器和时钟电路
2.管脚说明:
VCC:
供电电压。
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写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.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
I/O口作为输入口时有两种工作方式,即所谓的读端口与读引脚。
读端口时实际上并不从外部读入数据,而是把端口锁存器的内容读入到内部总线,经过某种运算或变换后再写回到端口锁存器。
只有读端口时才真正地把外部的数据读入到内部总线。
上面图中的两个三角形表示的就是输入缓冲器CPU将根据不同的指令分别发出读端口或读引脚信号以完成不同的操作。
这是由硬件自动完成的,不需要我们操心,1然后再实行读引脚操作,否则就可能读入出错,为什么看上面的图,如果不对端口置1端口锁存器原来的状态有可能为0Q端为0Q^为1加到场效应管栅极的信号为1,该场效应管就导通对地呈现低阻抗,此时即使引脚上输入的信号为1,也会因端口的低阻抗而使信号变低使得外加的1信号读入后不一定是1。
若先执行置1操作,则可以使场效应管截止引脚信号直接加到三态缓冲器中实现正确的读入,由于在输入操作时还必须附加一个准备动作,所以这类I/O口被称为准双向口。
89C51的P0/P1/P2/P3口作为输入时都是准双向口。
接下来让我们再看另一个问题,从图中可以看出这四个端口还有一个差别,除了P1口外P0P2P3口都还有其他的功能。
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:
来自反向振荡器的输出。
AT89SXX系列单片机实现了ISP下载功能,故而取代了89CXX系列的下载方式,也是因为这样,ATMEL公司已经停止生产89CXX系列的单片机,现在市面上的AT89CXX。
振荡器特性:
XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
串口通讯
单片机的结构和特殊寄存器,这是你编写软件的关键。
至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?
SBUF 数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。
有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?
而不是收发各用一个寄存器。
”实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。
CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。
发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。
操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。
通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。
SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。
SCON就是51芯片的串行口控制寄存器。
它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。
51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。
它的各个位的具体定义如下:
SM0SM1SM2RENTB8RB8TIRI
SM0、SM1为串行口工作模式设置位,这样两位可以对应进行四种模式的设置。
串行口工作模式设置。
SM0SM1模式功能 波特率000同步移位寄存器fosc/12
0118位UART可变
1029位UARTfosc/32或fosc/64
1139位UART可变
在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。
表中的fosc代表振荡器的频率,也就是晶振的频率。
UART为(UniversalAsynchronousReceiver)的英文缩写。
SM2在模式2、模式3中为多处理机通信使能位。
在模式0中要求该位为0。
REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。
REM是由软件置位或清零。
如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。
大家也可以用上面的实际源码加入REM=0来进行实验。
TB8发送数据位8,在模式2和3是要发送的第9位。
该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧。
RB8接收数据位8,在模式2和3是已接收数据的第9位。
该位可能是奇偶位,地址/数据标识位。
在模式0中,RB8为保留位没有被使用。
在模式1中,当SM2=0,RB8是已接收数据的停止位。
TI发送中断标识位。
在模式0,发送完第8位数据时,由硬件置位。
其它模式中则是在发送停止位之初,由硬件置位。
TI置位后,申请中断,CPU响应中断后,发送下一帧数据。
在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。
RI接收中断标识位。
在模式0,接收第8位结束时,由硬件置位。
其它模式中则是在接收停止位的半中间,由硬件置位。
RI=1,申请中断,要求CPU取走数据。
但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。
同样RI也必须要靠软件清除。
常用的串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。
它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。
AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的。
波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。
波特率是指串行端口每秒内可以传输的波特位数。
有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是9600÷10=960字节。
51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。
模式2的波特率是固定在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率为focs/64,SMOD为1,波特率为focs/32。
模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。
那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?
可以用以下的公式去计算。
波特率=(2SMOD÷32)×定时器1溢出速率
上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。
通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。
在这个定时模式2下定时器1溢出速率的计算公式如下:
溢出速率=(计数速率)/(256-TH1)
上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速率就为1M。
通常用11.0592M晶体是为了得到标准的无误差的波特率,那么为何呢?
计算一下就知道了。
如我们要得到9600的波特率,晶振为11.0592M和12M,定时器1为模式2,SMOD设为1,分别看看那所要求的TH1为何值。
代入公式:
11.0592M
9600=(2÷32)×((11.0592M/12)/(256-TH1))
TH1=250
12M
9600=(2÷32)×((12M/12)/(256-TH1))
TH1≈249.49
上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。
当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计。
本实验采取的振荡频率为12MHz则时钟周期Tosc=1//fosc=83.35ns
3.2.2KYAB05压力传感器
KYAB05系列主要适用于汽车的各种压力以及空调等其他相关压力的测控系统。
如:
汽车油料压力、汽车发动机机油压力、HVAC/R空调冷媒压力、汽车自动变速器液压油压力等测控系统。
KYAB05-1
KYAB05-1采用高稳定、低温漂一体化压阻式陶瓷压力传感器和采用国际上汽车级、数字化的专用ASIC信号调理芯片,信号调理电路采用可靠性冗余设计和热设计;结构上采用可靠性设计技术,如不锈钢外壳、FPC连接、卡式精密安装技术和采用国际上先进的耐高低温、阻燃、耐油和耐化学腐蚀特种橡胶密封圈,确保传感器在恶劣的汽车环境中可靠工作。
KYAB05-1采用三芯自锁密封式汽车专用接插件和采用汽车发动机相匹配的机械螺纹接口,确保电气联接和机械联接的可靠性。
KYAB05-1不但适用于常规汽车生产和改装,如配合步进电机式机油压力表头或彩色LCD压力表,可组成由汽车面板显示的高精度汽车发动机机油压力表,更是目前欧Ⅲ和欧Ⅳ排放标准所必须采用的电子式压力传感器。
KYAB05-1与汽车ECU有良好的电气联接性能,精确而可靠的发动机机油压力信号是保证发动机动力特性和排放特性的重要数据。
KYAB05-1压力传感器输出的为电压信号经过电阻R2转换成电流信号I=U/R=5/10000=0.0005A
3.2.3 LCDHS12864-15
HS12864-15系列中文图形液晶模块的特性主要由其控制器ST7920决定。
ST7920同时作为控制器和驱动器,它可提供33路com输出和64路seg输出。
在驱动器ST7921的配合下,最多可以驱动256×32点阵液晶。
汉升实业有限公司的HS12864-15系列产品有HS12864-12(有V3.0版本和V4.0版本流通市场)和HS12864-15B,HS12864-15C
HS12864-15系列产品硬件特性如下:
提供8位,4位并行接口及串行接口可选
并行接口适配M6800时序
自动电源启动复位功能
内部自建振荡源
64×16位字符显示RAM(DDRAM最多16字符×4行,LCD显示范围16
×2行)
2M位中文字型ROM(CGROM),总共提供8192个中文字型(16×16点阵)
16K位半宽字型ROM(HCGROM),总共提供126个西文字型(16×8点阵)
64×16位字符产生RAM(CGRAM)
HS12864-15系列产品软件特性如下:
文字与图形混合显示功能
画面清除功能
光标归位功能
显示开/关功能
光标显示/隐藏功能
显示字体闪烁功能
光标移位功能功能
显示移位功能
垂直画面旋转功能
反白显示功能
休眠模式
中文字库选择:
ST7920-0A内建BIG-5码繁体中文字型库
ST7920-0B内建GB码简体中文字型库
用户在选用之前务必注明
HS12864-15系列产品与MCU的接口
电气特性:
(测试条件Ta=25,Vdd=5.0±10%)
1)输入高电平(Vih):
0.7Vdd~Vdd
2)输入低电平(Vil):
0.6Vmax
3)输出高电平(Voh):
0.8Vdd~Vdd
4)输出低电平(Vol):
0.4Vmax
5)模块工作电流:
3~5mA(不含背光)
6)白背光工作电流:
60mAmax
7)黄绿背光工作电流:
360mAmax
LCD驱动电压即对比度调节电路
HS12864-15系列液晶模块使用的控制器芯片ST7920内带倍压单元,外挂2
个极性电容,生成2倍于VCC的电压,通过Vout脚引出,通过电位器调节后,
从接口的V0脚引入模块用来驱动LCD。
直接驱动LCD的是V0,V0电压越高,
对比度越深。
无特殊说明,HS12864-15系列液晶模块在V0=4.8时,对比度最
佳。
任何改变V0值的方法都可以用来改变对比度,一般有以下几种方法:
(1)HS12864-12V3.0版本一般不配备倍压电路,Vout无电压输出。
V0需
外供电压,推荐电路如下:
(2)HS12864-12V4.0和HS12864-15B,HS12864-15C都配备了倍压电路,
并且自带电位器用来调节对
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 便携式 电子 压力计 软硬件 设计 概要