毕业设计基于单片机的酒精浓度测试仪设计.doc

上传人:文库蛋蛋多 文档编号:3975363 上传时间:2023-03-30 格式:DOC 页数:57 大小:1.26MB
返回 下载 相关 举报
毕业设计基于单片机的酒精浓度测试仪设计.doc_第1页
第1页 / 共57页
毕业设计基于单片机的酒精浓度测试仪设计.doc_第2页
第2页 / 共57页
毕业设计基于单片机的酒精浓度测试仪设计.doc_第3页
第3页 / 共57页
毕业设计基于单片机的酒精浓度测试仪设计.doc_第4页
第4页 / 共57页
毕业设计基于单片机的酒精浓度测试仪设计.doc_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《毕业设计基于单片机的酒精浓度测试仪设计.doc》由会员分享,可在线阅读,更多相关《毕业设计基于单片机的酒精浓度测试仪设计.doc(57页珍藏版)》请在三一办公上搜索。

1、题 目: 基于单片机的酒精浓度测试仪设计 摘 要2000年以来,随着中国经济的高速发展,人民生活水平的迅速提高,中国逐渐步入“汽车社会”,酒后驾车行为所造成事故越来越多,对社会的影响也越来越大,酒精正在成为越来越凶残的“马路杀手”。据有关资料统计,全世界每年因车祸丧生的人数就超过60万人,留下永久性伤残者在400万以上,一般受伤者则不计其数。在许多国家,车祸已成为第一位意外死亡原因。此外,因为交通事故造成的经济损失也相当惊人。据事故调查统计,大约50%60%的车祸与饮酒有关。中国公安部门在2009年8月,在全国各地加强查处酒后驾驶的力度,以减少由酒后驾驶造成的恶性交通事故。要查处就涉及到检测人

2、体内的酒精含量和使用设备来进行检测的问题。 本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。其设计方案基于89C51单片机,MQ3酒精浓度传感器。系统将传感器输出的420mA的标准信号通过以AD0832为核心的A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示酒精浓度值。文中详细介绍了数据采集子系统、数据处理过程以及数据显示子系统和报警电路的设计方法和过程。系统对于采样地点超出规定的酒精浓度时二极管报警电路提醒监测人员。同时,操作人员对于具体报警点的上限值可以通过单片机编程进行设置。 关键词:酒精浓度传感器(MQ3);MCU;A/D转换器;软件设计;硬件设

3、计AbstractSince 2000, with Chinas rapid economic development and the rapid increase peoples living standard, China has gradually stepped into car society, drink driving accident caused by more and more impact on society is also growing, Alcohol is becoming more and more brutal killers. According to s

4、tatistics, the worldwide number of people killed in road accidents every year on more than 60 million people, left with permanent disability of 400 million or more, usually the injured were numerous. In many countries, traffic accidents have become the first cause of accidental deaths.In addition, t

5、he economic losses caused by the accident is quite amazing. Accident investigation, according to statistics, about 50% -60% of car accidents and alcohol-related. Chinas Ministry of Public Security in August 2009, around the country to strengthen efforts to investigate and deal with drink driving, to

6、 reduce the drink driving accident caused by the vicious. To investigate the human body involving the detection of alcohol and use of equipment to detect problems.In this paper, design a public place for the detection and limit alarm functions with an alcohol concentration of intelligent tester. Thi

7、s design,based on STC89C51 microcontroller and MQ3 alcohol concentration sensor. System sensor output 4 20mA standard signal through AD0832 core A / D converter circuit, after conditioning, data processing by the MCU, the final alcohol concentration value from the LCD display. This paper describes t

8、he data acquisition subsystem, data processing and data display subsystem and alarm circuit design methods and processes. System requirements for the sampling sites exceeding the alcohol concentration diode reminder alarm circuit monitors. Meanwhile, the operator specific alarm point for the upper l

9、imit set by MCU programming. Alcohol tester will bring a driving signal prior to a safeKey words:Alcohol concentration sensor (MQ3); STC85C52 MUC; A / D converter; Software design;Hardware design目 录引言11. 绪论21.1 酒精浓度检测仪开发背景21.2 酒精浓度检测仪的发展21.3 酒精浓度检测仪设计内容22. 方案器件简介32.1 MCU选择的简介32.2 数模转换器的简介52.3 时钟芯片的简

10、介72.4 液晶显示器的简介83 总体方案设计93.1 STC89C52单片机93.2 ADC0832数模转换103.3 AT24C02存储器103.4 LCD1602液晶显示103.5 编译软件介绍124 硬件设计134.1 最小系统的实现134.2 数据采集设计154.3 A/D转换设计164.4 按键设计164.5 外围扩充存储器电路174.6 时钟芯片电路184.7 LCD1602液晶显示设计194.8 报警设计214.9 电源电路设计225. 软件设计225.1 编译语言的选择225.2 主程序模块235.3 A/D转换模块235.4 按键输入模块245.5 时钟模块245.6 液晶

11、显示输出模块265.7 外围存储模块276. 系统调试286.1 系统硬件调试286.1.1元器件的焊接286.1.2电路测试286.2 系统软件调试296.3 系统整体调试297. 结束语29谢 辞31参考文献32附 录33附录一 硬件设计仿真图33附录二 硬件设计原理图和PCB图34附录三 检测程序35引言随着中国经济的高速发展,人民生活水平的迅速提高,中国逐渐步入“汽车社会”,酒后驾驶行为所造成事故越来越多,对社会的影响也越来越大,酒精正在成为越来越凶残的“马路杀手”。越来越多的交通事故在我们的身边发生,让人心痛,经济的发展,每个人都希望人的安全意识也该发展。此外,由交通事故造成的经济损

12、失也相当惊人。据事故调查统计,超过半数的车祸与饮酒有关。在全国各地加强查处酒后驾驶的力度,以减少由酒后驾驶造成的恶性交通事故。要查处就涉及到检测人体内的酒精含量和使用设备来进行检测的问题。本文研究设计了一种用于公共场所具有检测及超限报警功能的酒精浓度智能测试仪。其设计方案基于89C52单片机,MQ3酒精浓度传感器。系统将传感器输出信号通过A/D转换电路调理后,经由单片机进行数据处理,最后由LCD显示酒精浓度值。从而让驾车的人知道自己该在什么情况下可以开车,这是一个在现代生活很实用,很负责的一个设计,给社会带来福音。1. 绪论1.1 酒精浓度检测仪开发背景酒精的重要作用,是逐渐使得脑部及神经系统

13、反应迟钝这也是许多人喜欢适量饮酒的主要原因。喝一、两杯酒对人有镇定或松弛的作用。即使是少量的酒精,也没有刺激振奋的作用,这跟许多人的想法正好相反。然而,酒精有时会造成抑制力明显减弱,这会导致创造力的出现,或者是有时候会导致实际的侵略攻击性行为。根据WHO数据,全球2003年的人均纯酒精消费量为6.2L,其中欧洲地区人均达11.9L,美洲地区人均为8.7L。俄罗斯及其周边的东欧国家酒精消费量最高,其次为欧洲其他国家。在人均国民生产总值(GDP)低于7000美元的低收入国家,酒精消费量与人均GDP相关,GDP越高酒精消费量越高。受到酒精影响的司机通常会有如下特征:对信号灯反应慢;逆向行驶;摇摆不定

14、、突然转向、飘忽不定或在道路中线驾驶;乱踩刹车;转弯幅度大;蛇形;没有原因就停车;开车速度极慢;突然转弯或违法转弯;天黑时不开前灯。据统计,驾驶员酒后开车,其发生交通事故的比率为没有饮酒情况下的16倍。由日常道路交通安全违法行为和交通肇事案例来看,机动车驾驶员酒后驾车约占38.6%;而摩托车交通肇事中,酒后驾驶的比例则高达72.3%。酒后驾驶让人付出了惨痛的代价,为了避免类似事故的发生,酒精浓度检测仪随之产生。1.2 酒精浓度检测仪的发展以对气体中酒精含量进行检测的设备有五种基本类型,即:燃料电池型(电化学)、半导体型、红外线型、气体色谱分析型、比色型。但由于价格和使用方便的原因,目前(截止2

15、009年8月)常用的只有燃料电池型(电化学型)和半导体型两种。燃料电池是当前全世界都在广泛研究的环保型能源,它可以直接把可燃气体转变成电能,而不产生污染,酒精传感器只是燃料电池的一个分支。燃料电池酒精传感器采用贵金属白金作为电极,在燃烧室内充满特种催化剂,使进入燃烧室内的酒精充分燃烧转变为电能,也就是在两个电极上产生电压,电能消耗在外接负载上,此电压与进入燃烧室内气体的酒精浓度成正比。与半导体型相比,燃料电池型呼气酒精测试仪具有稳定性好,精度高,抗干扰性好的优点。但是由于燃料电池酒精传感器的结构要求非常精密,制造难度相当大,目前(2009年)只有美国、英国、德国等少数几个国家能够生产,加上材料

16、成本高,因此价格相当昂贵,是半导体酒精传感器的几十倍。1.3 酒精浓度检测仪设计内容本论文主要完成酒精浓度检测仪软件设计,设计内容包括:A/D转换器程序、控制程序、超标报警、键盘检测、数据显示等。本系统采用单片机为控制核心,以实现便携式酒精浓度检测仪的基本控制功能。系统主要功能内容包括:数据处理、时间设置、开始测量、超标报警、键盘检测本系统设计采用功能模块化的设计思想,本论文内容分为以下几个章节:设计器件简介和选择;硬件的设计;软件设计和系统调试。2. 方案器件简介硬件设计部分主要包括:MCU、A/D、时钟芯片、LCD、外围扩展数据RAM等芯片的选择,以下做一些器件的比较。 2.1 MCU选择

17、的简介本系统采用单片机为控制核心。单片机/MCU主要有51基本型和52增强型,而相比之下52型比51型功能更为强大,ROM和RAM存储空间更大,52还兼容51指令系统。基于本系统设计内容的需要,综合考虑后,我们选择单片机STC89C52为控制核心;主要基于考虑STC89C52是无法解密低功耗,超低价高速,高可靠强抗静电,强抗干扰,功能强大的单片机。STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,片内振荡器及时钟电路, 89C5X可以按照常规方法进行编程,也可以在线编程。同时STC89C5

18、2可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发本。STC单片机有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。STC89C52单片机单片机引脚功能(如图2.1): Vcc:电源电压GND:地 图2.1 单片机引脚图P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用

19、口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问器件激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C5

20、1不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),参见表2-1。Flash编程和程序校验期间,P1接收低8位地址。表2-1为 P1.0和P1.1的第二功能表2-1 P1.0和P1.1的第二功能P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,同时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOV

21、DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入1时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-2所示:此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,

22、RST引脚出现两个机器周期以上高电平将使单片机复位。ALE :当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。表2-2 P3口第二功能端口引脚第二功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时/计数器0)P3.5T1(定时/计数器1)P3.6(外部数据存储器写选通)P3.7 (外部数据存储器读选通)对Flash存储器编程器件,

23、改引脚还用于输入编程脉冲( )。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位复位,可禁止ALE操作。该位置复位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。 :程序储存允许()输出是外部程序存储器的读选通信号,当89C5X单片机由外部程序存储器取指令(或数据)时,每个机器周期两次 有效,即输出两个脉冲。在次期间,当访问外部数据存储器,将跳过两次信号。 /VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000H-FFFH), 端必须保持低电平(接地)。需要注意的是:如果加密位LB1被

24、编程,复位时内部会锁存 端状态。如 端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。XTAL1:振荡器反相放大器及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。2.2 数模转换器的简介实现A/D转换的基本方法很多,有计数法、逐次逼近法、双斜积分法和并行转换法。由于逐次逼近式A/D转换具有速度,分辨率高等优点,而且采用这种方法的ADC芯片成本低,所以我们采用逐次逼近式A/D转换器。逐次逼近型ADC包括1个比较器、一个模数转换器、1个逐次逼近寄存器(SAR)和1

25、个逻辑控制单元。逐次逼近型是将采样信号和已知电压不断进行比较,一个时钟周期完成1位转换,依次类推,转换完成后,输出二进制数。这类型ADC的分辨率和采样速率是相互牵制的。优点是分辨率低于12位时,价格较低,采样速率也很好。ADC0832模数转换器具有8位分辨率、双通道A/D转换、输入输出电平与TTL/CMOS相兼容、5V电源供电时输入电压在05V之间、工作频率为250KHZ 、转换时间为32 微秒、一般功耗仅为15MW等优点,适合本系统的应用,所以我们采用ADC0832为模数转换器件。ADC0832 具有以下特点: 8位分辨率; 双通道A/D转换; 输入输出电平与TTL/CMOS相兼容; 5V电

26、源供电时输入电压在05V之间; 工作频率为250KHZ,转换时间为32S; 一般功耗仅为15mW; 8P、14PDIP(双列直插)、PICC 多种封装; 商用级芯片温宽为0度 to +70度,工业级芯片温宽为40度 to +85度;芯片接口说明: CS_ 片选使能,低电平芯片使能。 CH0 模拟输入通道0,或作为IN+/-使用。 CH1 模拟输入通道1,或作为IN+/-使用。 GND 芯片参考0 电位(地)。 DI 数据信号输入,选择通道控制。 DO 数据信号输出,转换数据输出。 CLK 芯片时钟输入。 Vcc/REF 电源输入及参考电压输入(复用)。ADC0809是采样分辨率为8位的、以逐次

27、逼近原理进行模数转换的器件。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换。主要特点:DC0809是CMOS单片型逐次逼近式AD转换器,内部结构如图1322所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型DA转换器、逐次逼近,ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能:IN0IN7:8路模拟量输入端。 8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: AD转换启动脉冲输入端,输入一个正脉冲

28、(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: AD转换结束信号,输出,当AD转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当AD转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。2.3 时钟芯片的简介DS1302 是DALLAS 公司推出的涓流充电时钟芯片,内含有一个实时时钟/日历和31 字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟

29、/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM 指示决定采用24 或12 小时格式.DS1302 与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1 RES 复位,2 I/O 数据线,3 SCLK串行时钟.时钟/RAM 的读/写数据以一个字节或多达31 个字节的字符组方式通信.DS1302 工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302 是由DS1202 改进而来,增加了以下的特性.双电源管脚用于主电源和备份电源供应Vcc1,为可编程涓流充电电源附加七个字节存储器.它广泛应用于电话传真便携式仪器以及电池供电

30、的仪器仪表等产品领域.8 位暂存数据存储RAM;使用串行I/O 口方式使得管脚数量最少;工作电压:2.05.0V;工作电流2.0V 时,小于300nA;读/写时钟或RAM 数据时有两种传送方式单字节传送和多字节传送字符组方式;8 脚DIP 封装或可选的8 脚SOIC 封装根据表面装配;简单3 线接口;与TTL 兼容Vcc=5V;可选工业级温度范围-40 +85;图2.1 DS1302引脚图图2.1示出DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时

31、,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32.768kHz晶振。RST是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能:首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终止此次数据传送,I/O引脚变为高阻态。上电运行时,在Vcc2.5V之前,RST必须保持低电平。只有在SCLK为低电平时,才能将RST置为高电平。I/O为

32、串行数据输入输出端(双向)。SCLK始终是输入端。根据上述介绍和这次设计的要求,我选择使用DS1302作为这次设计的时钟芯片(如图2.1)。2.4 液晶显示器的简介带中文字库的128X64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为12864, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示84行1616点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形

33、点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块;基本特性:低电源电压(VDD:+3.0-+5.5V)(2)、显示分辨率:12864点内置汉字字库,提供8192个1616点阵汉字(简繁体可选)内置 128个168点阵字符,2MHZ时钟频率显示方式:STN、半透、正显,驱动方式:1/32DUTY,1/5BIAS视角方向:6点,背光方式:侧部高亮白色LED,功耗仅为普通LED的1/51/10通讯方式:串行、并口可选,内置DC-DC转换电路,无需外加负压无需片选信号,简化软件设计,工作温度: 0度 - +55度 ,存储温度: -20度 - +

34、60度。LCD1602字符型液晶显示器其用法:单5V电源电压,低功耗、长寿命、高可靠性内置192种字符(160个57点阵字符和32个510点阵字符)具有64个字节的自定义字符RAM,可自定义8个58点阵字符或4个511点阵字符显示方式:STN、半透、正显驱动方式:1/16并口,1/5串口背光方式:底部LED通讯方式:4位或8位并口可选标准的接口特征:适配MC51和M6800系统MPU的操作时序LCD1602液晶显示屏的主要技术参数如下表所示:(表2-3)表2-3 LCD1602液晶主要参数显示容量162个字符芯片工作电压4.55.5V工作电流2.0mA(5.0V)模块最佳工作电压5.0V字符尺

35、寸2.954.35(mm)3 总体方案设计在这次的整体设计中主要涉及下面几个方面(如图3.1):图3.1 整体方案结构图下面介绍各个模块使用的器件:3.1 STC89C52单片机STC89C52是的低电压,高性能CMOS 8位单片机,片内含8K bytes的可反复擦写的只读程序存储器(PEROM)和256K bytes的随机存取数据存储器,器件采用高密度,非易失性存储技术生产,与标准MCS-51指令系统及8051产品引脚兼容,片内置通用8位中央处理器和FLASH存储单元,功能强大,STC89C52单片机适合于许多较为复杂控制应用场合。主要性能参数:8K字节可重擦写FLASH闪存存储器1000次

36、写/擦循环时钟频率:0Hz24MHz三级加密存储器256字节内部RAM32个可编程I/O口线 3个16位定时/计数器 6个中断源可编程串行UART通道低功耗的空闲和掉电模式片内振荡器和时钟电路3.2 ADC0832数模转换ADC0832 为8位分辨率A/D转换芯片,其最高分辨可达256级,可以适应一般的模拟量转换要求。其内部电源输入与参考电压的复用,使得芯片的模拟电压输入在05V之间。芯片转换时间仅为32S,据有双数据输出可作为数据校验,以减少数据误差,转换速度快且稳定性能强。独立的芯片使能输入,使多器件挂接和处理器控制变的更加方便。通过DI 数据输入端,可以轻易的实现通道功能的选择。3.3

37、AT24C02存储器在本设计中使用的是24C02存储芯片,是电可擦除的PROM,8个引脚功能及两线串行接口。电压允许范围1.8V5V。串行E2PROM是基于I2C-BUS 的存储器件,遵循二线制协议,由于其具有接口方便,体积小,数据掉电不丢失等特点,在仪器仪表及工业自动化控制中得到大量的应用。在一般单片机系统中,24C02 数据受到干扰的情况是很少的,基本的读写功能外,还对地址功能以及WP引脚保护功能进行了全面的检测,发现一种ATMEL(激光印字)以及XICOR牌号的24C02具有全面的符合I2C总线协议的功能,而有些牌号24C02要么没有WP引脚保护功能,要么没有器件地址功能(即2 片24C

38、02不能共用一个I2C总线),有些甚至两种功能均无。所以说一些同样功能型号的电子器件在兼容性上往往会带来意想不到的问题,值得引起注意。3.4 LCD1602液晶显示LCD1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的液晶显示模块,模块组件内部主要由LCD显示屏、控制器、列驱动器和偏压产生电路构成。LCD1602液晶显示屏外形尺寸LCD1602液晶显示屏分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3.2所示: 图3.2 LCD1602尺寸图1

39、602液晶显示屏采用标准的16脚接口,其中各接口的功能如下表(2-4)所示:表2-4 LCD1602的16管脚功能引脚号引脚名电平输入/输出引脚说明1VSS电源地2VDD电源正极(+5V)3VL液晶显示偏压信号4RS0/1输入数据/命令选择端,0:输入指令,1:输入数据5R/W0/1输入读/写选择端,0:向LCD写入指令或数据,1:从LCD读取信息6E10输入使能信号,1时读取信息,10(下降沿)执行指令7D00/1输入/输出数据总线(最低位)8D10/1输入/输出数据总线9D20/1输入/输出数据总线10D30/1输入/输出数据总线11D40/1输入/输出数据总线12D50/1输入/输出数据

40、总线13D60/1输入/输出数据总线14D70/1输入/输出数据总线(最高位)15BLA+VCCLCD背光电源正极16BLK接地LCD背光电源负极第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会使屏幕显示不清晰,使用时可以通过一个10K的电位器调整对比度。第4脚:RS为数据/命令选择端,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:R/W为读写选择端,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当

41、RS为高电平R/W为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第15脚:背光源正极。第16脚:背光源负极3.5 编译软件介绍Keil软件简介:单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Kei

42、l软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。运行Keil软件需要Pentium或以上的CPU,16MB或更多RAM、20M以上空闲的硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用

43、过汇编语言后再使用C来开发,体会更加深刻。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。4 硬件设计4.1 最小系统的实现在本次设计中我们采用STC89C51来实现一个单片机系统能运行起来的需求最小的系统,电路图见图4.1 图4.1单片机最小系统图上图由晶振电路和复位电路,STC89C51芯片组成,构成最小的单片机系统, 下面详细介绍其中的两个电路。晶振电路单片机工作的过程

44、中各指令的微操作在时间上有严格的次序,这种微操作的时间次序称作时序,单片机的时钟信号用来为单片机芯片内部各种微操作提供时间基准,89c52的时钟产生方式有两种,一种是内部时钟方式,一种是外部时钟方式。内部时钟方式即在单片机的外部接一个晶振电路与单片机里面的振荡器组合作用产生时钟脉冲信号,外部时钟方式是把外部已有的时钟信号引入到单片机内,此方式常用于多片89C52单片机同时工作,以便于各单片机的同步,一般要求外部信号高电平的持续时间大于20ns.且为频率低于12MHz的方波。对于CHMOS工艺的单片机,外部时钟要由XTAL1端引入,而XTAL2端应悬空。本系统中为了尽量降低功耗的原则,采用了内部

45、时钟方式。电路图见图4.2:图4.2晶振电路图在89C52单片机的内部有一个震荡电路,只要在单片机的XTAL1和XTAL2引脚外接石英晶体(简称晶振)就构成了自激振荡器并在单片机内部产生时钟脉冲信号,图中电容器C1和C2稳定频率和快速起振,电容值在530pF,典型值是22pF,晶振CYS选择的是12MHz。复位电路单片机开始工作的时候,必须处于一种确定的状态,否则,不知哪是第一条程序和如何开始运行程序。端口线电平和输入输出状态不确定可能使外围设备误动作,导致严重事故的发生;内部一些控制寄存器(专用寄存器)内容不确定可能导致定时器溢出、程序尚未开始就要中断及串口乱传向外设发送数据.因此,任何单片

46、机在开始工作前,都必须进行一次复位过程,使单片机处于一种确定的状态。当在89C52单片机的RST引脚引入高电平并保持2个机器周期时,单片机内部就执行复位操作(若该引脚持续保持高电平,单片机就处于循环复位状态)。实际应用中,复位操作有两种基本形式:一种是上电复位,另一种是上电与按键均有效的复位,上电复位,要求接通电源后,单片机自动实现复位操作。常用的上电复位,上电瞬间RST引脚获得高电平,随着电容C1的充电,RST引脚的高电平将逐渐下降。本设计中复位电路采用的是开关复位电路,开关S9未按下是上电复位电路,上电复位电路在上电的瞬间,由于电容上的电压不能突变,电容处于充电(导通)状态,故RST脚的电压与VCC相同。随着电容的充电,RST脚上的电压才慢慢下降。选择合

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号