版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北林业大学单片机原理实验课程设计总结报告设计工程:室内温湿度仪设计工程完成人:霍宏鹏、赵一迪指导教师:赵伟教授学院:机电工程学院专业:电子信息工程2021级3班2021年11月20日单片机原理实验课程设计书学生姓名霍宏鹏学号20214268专业〔班级〕10电信3班学生姓名赵一迪学号20214336专业〔班级〕10电信3班设计内室内温、湿度仪的设计设计内设计一个基于单片机的时时检测并显示室内温度、湿度的仪器。其附加设计功能有显示年、月、日、星期、时、分、秒;能通过键盘输入日期和时间的初值;通过功能键实现数据存储查询上传〔串行通讯〕功能;通过功能键实现外中断和定时中断功能。主要设指标计和要求温湿度仪分辨率分别为14bit〔温度〕、12bit〔湿度〕;LCD电源:+3.0~+5.5V;显示内容:要求:完成设计内容,完成设计报告内容。设备所用仪器设备单片机开发套件、计算机、Keil3软件工作方案11.7-11.10:熟悉实验设备、收集资料11.11-11.18:编写实验程序11.19-11.23:修改实验报告并完成实验报告参考资料百度百科芯片资料指导老师签字
室内温、湿度仪的设计摘要本设计主要由硬件和软件两大局部组成,其中硬件电路由温湿度传感器局部和键盘控制局部三大局部组成。硬件局部组要通过采用单片机的温湿度传感器时时获取温湿度信息,使LCD液晶显示屏时时显示室内的温度和湿度;显示年、月、日、星期、时、分、秒;利用8051单片机内部的定时/计数器进行中断,配合软件延时实现时、分、秒的计时,能够通过键盘输入日期和时间的初值并通过功能键实现数据存储、查询、上传〔串行通讯〕功能并通过功能键实现外中断和定时器中断。本系统,通过温度传感器的测量,实现温度实时监测,并且通过芯片时钟,实现系统时间设置及其显示,利用存储器实现了存储的读写等功能,用LCD实现了各个功能的显示。关键词:单片机,温度传感器,定时器,中断
目录1绪论...................................................................11.1课题研究背景..........................................................11.2本设计的主要要求......................................................11.3方案论证..............................................................22系统主要器件原理.......................................................32.1数字温湿度传感器......................................................32.2时钟芯片DS1302.......................................................72.3数码管驱动及键盘控制芯片CH451........................................82.4液晶12232F..........................................................102.5存储器24C02.......................................................123系统的硬件设计.......................................................163.1总体设计.............................................................163.2时间日期显示设计.....................................................163.3LED数码管和按键的设计................................................173.4LCD液晶屏的设计.....................................................173.5温、湿度测控模块.....................................................183.6存储器24C02模块.....................................................183.7串行口与MAX232芯片.................................................194系统软件设计..........................................................204.1主系统软件设计.......................................................204.2液晶显示年、月、日、时间、星期和初值的设定局部.......................214.3温湿度传感器局部.....................................................224.4定时器的中断.........................................................244.5数据的存储和查询.....................................................245结论..................................................................27附录A附录B1绪论1.1课题研究背景单片机的出现是近代计算机技术开展史上的一个重要里程碑,单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。与巨大体积和高本钱的通用计算机相比,单片机的单芯片的微小体积和极低的本钱,使其可广泛地嵌入到如玩具、家用电器、机器人、仪器仪表、汽车电子系统、工业控制单元、办公自动化设备、金融电子系统舰船、个人信息终端及通信产品中,成为现代电子系统中最重要的智能化工具。单片机通常按其微处理器字长的位数来进行分类,如:4,8,16,32,64位单片机。1971年Intel首先推出了4位微处理器芯片4004,此后其他厂商相继推出4位机产品。1972年Intel首先推出8位机,8位机能一次处理一个ASCII字符,因而用途广泛。此后又陆续出现了16,32,64位机等。 由于单片机是针对工业控制以及与控制有关的数据处理而设计的,因此也被称为微控制器(Micro-controller)。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,实现了控制有利于实现系统控制的最小化和单片化,简化了一些专用接口电路,如计数器、锁相环〔PLL〕、模拟开关、A/D和D/A变换器、电压比拟器等组成的专用控制处理功能的单板式微系统。本设计基于8051型单片机设计温湿度控制系统,可以及时、精确的反映室内的温度以及湿度的变化。完成诸如升温到特定温度、降温到特定温度、在温度上下限范围内保持恒温等多种控制方式,在湿度控制方面也是如此。总之,随着信息时代的到来,传统单片机固有的结构缺陷,使其呈现出诸多弊端。其速度、规模、性能等指标越来越难以满足用户需求、因此单片机芯片的开发,升级面临着新的挑战。1.2本设计的主要要求根本要求〔1〕实时显示室内的温度和湿度;〔2〕实时显示年、月、日、星期、时、分、秒,并且能够通过键盘输入日期和时间的初值;〔3〕通过功能键能够实现时间和温湿度等数据储存、查询功能,并且能够通过功能键对已存储数据进行清空;〔4〕通过功能键能够串行通讯的收发功能;1.2.2系统方案实现当将单片机用作测控系统时,系统总要有被测信号懂得输入通道,由计算机拾取必要的输入信息。对于测量系统而言,如何准确获得被测信号是其核心任务;而对测控系统来讲,对被控对象状态的测试和对控制条件的监察也是不可缺少的环节。根据上述设计要求,,要想实现一系列功能,那么要通过外部中断来控制。通过按入不同的按键,控制系统实现不同的功能。通过键盘输入日期和时间的初值;通过功能键能够实现数据储存、查询、上传〔串行通讯〕功能;通过功能键能够实现外中断和定时中断功能;通过CH451实现键盘的扫描,判断按键代码触发相应的程序。所以将芯片板上的15个灰色按键分别设置各种所需功能。其中按下功能键9时,系统进入显示年月日时间和星期的子程序;按下功能键C时进入对液晶显示屏显示的年月日时间和星期赋初值的子程序;按下功能键3、4+*时进入数据储存、查询、上传〔串行通讯〕的子程序;按下功能键2、1时进入外中断和定时中断的子程序;按下功能键8时进入显示温湿度的子程序;数字键0—9是设置初值和数据的存储、上传时用的。最后将红色的按键定义为跳出这个系统,程序全部结束。如图1-1为系统方案设计的框架图实时显示温、湿度实时显示时间和日期日期时间实时显示温、湿度实时显示时间和日期日期时间赋初值系统控制模块数据系统控制模块数据存储、查询串行通讯发送、接收外中断外中断定时器中断〔响铃〕定时器中断〔响铃〕返回系统程序返回系统程序图1-SEQ图\*ARABIC\s11系统框图1.3方案论证〔1〕存储器模块AT24C02是低工作电压的2K位串行电可擦除只读存储器,内部组织为256个字节,每个字节8位,该芯片被广泛应用于低电压及低功耗的工商业领域。AT24C02特点:工作电压为1.8V~5.5V,输入/输出引脚兼容5V,应用在内部结构:256x8(2K),二线串行接口,输入引脚经施密特触发器滤波抑制噪声,双向数据传输协议,兼容400KHz〔1.8V,2.5V,2.7V,3.6V〕,支持硬件写保护,高可靠性:读写次数:1,000,000次,数据保存:100年。单片机片内存储器为4KB,对于应用,片内存储容量往往不够,因此需要外扩程序存储器。比拟应用最多的典型系列芯片2716、2732、2764、27128、27256和AT24C02,得出结论:AT24C02是一个2K位串行CMOSE2PROM,其内部含有256个8位字节,AT24C02有一个16字节页写缓冲器,该缓冲器通过IIC总线接口进行操作,有专门的写保护功能。AT24C02的数据传送是由产生串行时钟和所有起始停止信号的主器件控制的。其主器件和从器件都可以作为发送器或接收器,但通过器件地址输入端A0、A1和A2最多可以实现将8个AT24C02器件连接到总线上。应选用AT24C02。〔2〕时钟模块DS1302是DALLAS公司推出的涓流充电时钟芯片,内含一个实时时钟/日历和31字节静态RAM,可以通过串行接口与单片机进行通信。实时时钟/日历电路提供秒、分、时、日、星期、月、年的信息,每个月的天数和闰年的天数可自动调整,时钟操作可通过AM/PM标志位决定采用24或12小时时间格式。DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需三根I/O线:复位〔RST〕、I/O数据线、串行时钟〔SCLK〕。时钟/RAM的读/写数据以一字节或多达31字节的字符组方式通信。DS1302工作时功耗很低,保持数据和时钟信息时,功耗小于1mW。此外,DS1302还有年份存放器、控制存放器、充电存放器、时钟突发存放器及与RAM相关的存放器等。时钟突发存放器可一次性顺序读写除充电存放器以外的存放器。DS1302是一种高性能、低功耗、带RAM的实时时钟芯片,它可以对年、月、日、星期、时、分、秒进行计时,具有闰年补偿功能。其工作电压在2.5V~5.5V之间。采用三线接口与CPU进行同步通信,也可采用突发方式一次传送多个字节的时钟信号或者RAM数据。应选用DS1302。〔3〕检测温湿度模块SHT10系列产品是一款高度集成的温湿度传感器芯片,提供全标定数字输出。它采用利的CMOSens®技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式储存在OTP内存中,在标定的过程中使用。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。产品提供外表贴片LCC或4针单排引脚封装。SHT10系列产品是一款高度集成的温湿度传感器芯片。它具有极高的可靠性与卓越的长期稳定性。该传感器包括一个电容性测湿度的敏感元件、一个用能隙材料制成的测温元件。同时,这一芯片上,温、湿度测量元件与14位的A/D转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强等优点。应选择SHT10模块。经过比拟、论证,该设计采用AT24C02实现存储器的读写功能,采用DS1302实现实时时钟显示功能及时间调整功能,采用SHIT10完本钱设计的核心局部----室内温、湿度的测量。〔4〕键盘显示控制模块CH451芯片。CH451具有大电流驱动能力,段电流不小于25mA,字电流不小于150mA,平均段电流是辅助单片机方案的8倍,而且非连续的电流驱动能力更高。用硬件实现,串行接口、显示驱动、键盘扫描、μP监控之间相互独立不受干扰,串行接口的位时钟能够支持到10MHz,数据传输速度比辅助单片机方案提高40倍,即使主控单片机频繁操作也完全不会影响显示驱动和键盘扫描以及μP监控。串行接口以硬件实现,不需要时钟;而显示驱动和键盘扫描使用约0.75MHz的全内置主时钟屡次分频后的扫描时钟,所以在工业现场不易受到干扰。即使受到强干扰,也能够在干扰后立即正常工作,不会影响串行接口、显示驱动和键盘扫描的后续操作。内置振荡和上电复位以及看门狗电路,不但不需要外部提供时钟和外部复位输入,还能够向外部的主控单片机提供上电复位和看门狗电路,进一步降低产品的本钱,提供产品的可靠性。相比之下CH451性能更加可靠,应选用CH451作为键盘显示控制芯片。2系统主要器件原理2.1数字温湿度传感器SHT1x/SHT7x1、主要性能说明SHTxx系列产品是一款高度集成的温湿度传感器芯片,提供全标定的数字输出.它采用专利的CMOSens®技术,确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电容性聚合体测湿敏感元件、一个用能隙材料制成的测温元件,并在同一芯片上,与14位的A/D转换器以及串行接口电路实现无缝连接。因此,该产品具有品质卓越、超快响应、抗干扰能力强、极高的性价比等优点。SHT10的主要特点如下:
〔1〕相对湿度和温度的测量;〔2〕兼有露点输出;〔3〕全标定输出,无需标定即可互换使用;
〔4〕全部校准,数字输出;
〔5〕接口简单〔2-wire〕,响应速度快;
〔6〕超低功耗,自动休眠;
〔7〕出色的长期稳定性;〔8〕外表贴片或4针引脚安装;
〔9〕超小体积〔外表贴装〕;
〔10〕超快的响应时间。每个传感器芯片都在极为精确的湿度腔室中进行标定,以镜面冷凝式湿度计为参照。校准系数以程序形式储存在OTP内存中,在标定的过程中使用。两线制的串行接口与内部的电压调整,使外围系统集成变得快速而简单。微小的体积、极低的功耗,使其成为各类应用的首选。产品提供外表贴片LCC或4针单排引脚封装。特殊封装形式可根据用户需求而提供。其性能说明如表2-1。而图2-1是相对湿度、温度和露点的精度曲线。表2-1传感器性能说明参数条件Min.Typ.Max.单位湿度分辨率0.50.030.03%RH81212Bit重复性±0.1%RH精度线性化参见图2-1互换性可完全互换非线性度原始数据±3%RH线性化<<1%RH量程范围0100%RH响应时间1/e(63%)缓慢流动空气4S迟滞±1%RH长期稳定性典型值<1%RH/yr温度分辨率0.040.010.01°C0.070.020.02°F121414Bit重复性±0.1°C±0.2°F精度参见图2-1量程范围-40123.8°C-40254.9°F响应时间1/e(63%)530S图2-1相对湿度、温度和露点的精度曲线2、发送命令〔1〕启动传输用一组“启动传输〞时序,来表示数据传输的初始化(如图2-2所示)。它包括:当SCK时钟高电平时DATA翻转为低电平,紧接着SCK变为低电平,随后是在SCK时钟高电平时DATA翻转为高电平。图2-2"启动传输"时序后续命令包含三个地址位〔目前只支持“000〞〕,和五个命令位。SHTxx会以下述方式表示已正确地接收到指令:在第8个SCK时钟的下降沿之后,将DATA下拉为低电平〔ACK位〕。在第9个SCK时钟的下降沿之后,释放DATA〔恢复高电平〕。〔2〕测量时序(RH和T)发布一组测量命令〔‘00000101’表示相对湿度RH,‘00000011’表示温度T〕后,控制器要等待测量结束。这个过程需要大约11/55/210ms,分别对应8/12/14bit测量。确切的时间随内部晶振速度,最多有±15%变化。SHTxx通过下拉DATA至低电平,表示测量的结束。控制器在触发SCK时钟前,必须等待这个“数据备妥〞信号。接着传输2个字节的测量数据和1个字节的CRC奇偶校验。uC需要通过下拉DATA为低电平,以确认每个字节。所有的数据从MSB开始,右值有效〔例如:对于12bit数据,从第5个SCK时钟起算作MSB;而对于8bit数据,首字节那么无意义〕。用CRC数据确实认位,说明通讯结束。如果不使用CRC-8校验,控制器可以在测量值LSB后,通过保持确认位ack高电平,来中止通讯。在测量和通讯结束后,SHTxx自动转入休眠模式。需要注意的是:为保证自身温升低于0.1℃,SHTxx的激活时间不要超过15%〔例如,对应12bit精度测量,每秒最多进行3次测量〕。〔3〕通讯复位时序如果与SHTxx通讯中断,以下信号时序可以复位串口:当DATA保持高电平时,触发SCK时钟9次或更多。在下一次指令前,发送一个“传输启动〞时序。这些时序只复位串口,状态存放器内容仍然保存。数字信号的整个传输过程由8bit校验来确保。任何错误数据将被检测到并去除。图2-3通讯复位时序3、输出转换为物理量〔1〕相对湿度为了补偿湿度传感器的非线性以获取准确数据,建议使用如下公式修正读数:RHlinear=c1+c2·SORH+c3·SORH·SORH表2-2湿度转换系数表说明了在不同SORH位数下,上述公式中相对湿度修正系数c1、c2、c3的参数选择。表2-2湿度转换系数SORHc1c2c312bit-40.0405-2.8*10-68bit-40.648-7.2*10-4湿度传感器对电压根本上没有依赖性。可从图2-4从SORH转换到相对湿度曲线看出。图2-4从SORH转换到相对湿度〔2〕相对湿度对于温度依赖性的补偿由于实际温度与测试参考温度25℃(~77℉)的显著不同,应考虑湿度传感器的温度修正系数:RHtrue=(T°C-25)·(t1+t2·SORH)+RHlinear表2-3温度补偿系数表说明了在不同SORH位数下,上述公式中温度修正系数t1、t2的参数选择。表2-3温度补偿系数SORHt1t212bit0.010.000088bit0.010.00128〔3〕温度由能隙材料PTAT(正比于绝对温度)研发的温度传感器具有极好的线性。可用如下公式将数字输出转换为温度值:Temperature=d1+d2·SOT表2-4-1和2-4-2温度转换系数表说明了在VDD和SOT的不同取值下,温度修正系数d1、d2的不同取值。在极端工作条件下测量温度时,可使用进一步的补偿算法以获取高精度。表2-4-1温度转换系数(1)VDDd1[℃]d1[℉]5V-40.00-40.004V-39.75-39.503.5V-39.66-39.353V-39.60-39.282.5V-39.55-39.23表2-4-2温度转换系数(2)SOTd2[℃]d2[℉]14bit0.010.01812bit0.040.0722.2时钟芯片DS1302DS1302内含有一个实时时钟/日历和31字节静态RAM,通过简单的串行接口与单片机进行通信实时时钟/日历电路.提供秒分时日日期.月年的信息,每月的天数和闰年的天数可自动调整时钟操作可通过AM/PM指示决定采用24或12小时格式.DS1302与单片机之间能简单地采用同步串行的方式进行通信,仅需用到三个口线:1RES复位,2I/O数据线,3SCLK串行时钟.时钟/RAM的读/写数据以一个字节或多达31个字节的字符组方式通信.DS1302工作时功耗很低,保持数据和时钟信息时功率小于1mW.DS1302是由DS1202改良而来,增加了以下的特性.双电源管脚用于主电源和备份电源供给Vcc1,为可编程涓流充电电源附加七个字节存储器。实时时钟具有能计算2100年之前的秒分时日日期星期月年的能力还有闰年调整的能力。时钟芯片DS1302具体参数如下:〔1〕8位暂存数据存储RAM;〔2〕串行I/O口方式使得管脚数量最少;〔3〕宽范围工作电压2.0—5.5V;〔4〕工作电流2.0V时,小于300nA;〔5〕读/写时钟或RAM数据时有两种传送方式单字节传送和多字节传送字符组方式;〔6〕8脚DIP封装或可选的8脚SOIC封装根据外表装配;〔7〕简单3线接口;〔8〕与TTL兼容Vcc=5V;〔9〕可选工业级温度范围-40—+85;〔10〕与DS1202兼容;〔11〕在DS1202根底上增加的特性;〔12〕对Vcc1有可选的涓流充电能力;〔13〕双电源管用于主电源和备份电源供给;〔14〕备份电源管脚可由电池或大容量电容输入;〔15〕附加的7字节暂存存储器。图2-5和表2-5分别是时钟芯片DS1302的管教图和管脚名称呼明。图2-5时钟芯片DS1302管脚名称功能GND地RST复位脚I/O数据输入/输出引脚SCLK串行时钟Vcc1,Vcc2电源供电管脚DIP串行时钟芯片表2-5DS1302管脚功能2.3数码管驱动及键盘控制芯片CH451CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。CH451内置RC振荡电路,可以动态驱动8位数码管或者64位LED,具有BCD译码、闪烁、移位等功能;同时还可以进行64键的键盘扫描;CH451通过可以级联的串行接口与单片机等交换数据;并且提供上电复位和看门狗等监控功能。图2-6是CH451的外部连接图。表2-6分别对28脚封装和24脚封装两种封装的CH451管脚进行了详细说明。图2-6CH451连接图1.显示驱动〔1〕内置大电流驱动级,段电流不小于25mA,字电流不小于150mA。〔2〕动态显示扫描控制,直接驱动8位数码管或者64位发光管LED。〔3〕可选数码管的段与数据位相对应的不译码方式或者BCD译码方式。〔4〕数码管的字数据左移、右移、左循环、右循环。〔5〕各数码管数字独立闪烁控制。〔6〕通过占空比设定提供16级亮度控制。〔7〕支持段电流上限调整,可以省去所有限流电阻。〔8〕扫描极限控制,支持1到8个数码管,只为有效数码管分配扫描时间。2.键盘控制〔1〕内置64键键盘控制器,基于8×8矩阵键盘扫描。〔2〕内置按键状态输入的下拉电阻,内置去抖动电路。〔3〕键盘中断,低电平有效输出。〔4〕提供按键释放标志位,可供查询按键按下与释放。3.外部接口〔1〕高速的4线串行接口,支持多片级联,时钟速度从0到10MHz。〔2〕串行接口中的DIN和DCLK信号线可以与其它接口电路共用,节约引脚。〔3〕完全内置时钟振荡电路,通常不需要外接晶体或者阻容振荡。〔4〕内置上电复位和看门狗Watch-Dog,提供高电平有效和低电平有效复位输出。表2-6引脚说明28脚封装的引脚号24脚封装的引脚号引脚名称类型引脚说明232VCC电源正电源端,持续电流不小于200mA915GND电源公共接地端,持续电流不小于200mA254LOAD输入串行接口的数据加载,内置上拉电阻265DIN输入串行接口的数据输入,内置上拉电阻276DCLK输入串行接口的数据时钟,内置上拉电阻同时用于看门狗的去除输入243DOUT输出串行接口的数据输出和键盘中断22~151、24~18SEG7~SEG0三态输出及输入数码管的段驱动,高电平有效,键盘扫描输入,高电平有效,内置下拉1~87~14DIG7~DIG0输出数码管的字驱动,低电平有效,键盘扫描输出,高电平有效1216RST输出上电复位和看门狗复位,高电平有效13不支持RST#输出上电复位和看门狗复位,低电平有效14不支持ADJ输入段电流上限调整,内置强下拉电阻10不支持CLK输入可选外接电阻电容调整内部时钟频率11不支持CLKO输出CLK引脚时钟的二分频输出28不支持RSTI输入手工复位输入,高电平有效17N.C.不连接,禁止使用2.4液晶12232F12232F是一种内置8192个16*16点汉子库和128个16*8点ASCII 字符集图形点阵液晶显示器,他主要由行驱动器/列驱动器及128*32全点阵液晶显示器组成。可以完成图形,也可以显示7.5*2个〔16*16〕汉字。与外部\CPU接口采用并行或串行方式控制。1.主要技术参数和性能〔1〕电源:VDD:+3.0至+5.5V;〔2〕显示内容:122〔列〕*32〔行〕个汉字;〔3〕全屏幕点阵;〔4〕2MROM总共提供8192个汉字〔16*16点阵〕;〔5〕16KROM总共提供128个字符〔16*8点阵〕;〔6〕2MHZ频率;〔7〕工作温度:0℃∽+60℃,存储温度:-10℃∽+70℃。外部接口信号如下表2-7和2-8所示。并行接口管脚信号说明〔PCB上的J2连接到VSS是既下端有效〕表2-712232F模块并行接口管脚号说明管脚号管脚名称LEVER管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-比照度调整4RS(CS)H/LRS=“H〞,表示DB7~DB0为显示数据RS=“L〞,表示DB7~DB0为显示指令数据5R/W(SID)H/LR/W=“H〞,E=“H〞,数据被读到DB7~DB0R/W=“H〞,E=“H→L〞,DB7~DB0的数据被写到IR或DR6E(CLK)H/L使能信号7DB0H/L数据线8DB1H/L数据线9DB2H/L数据线10DB3H/L数据线11DB4H/L数据线12DB5H/L数据线13DB6H/L数据线14DB7H/L数据线15BL+VDD背光源电压+4.2—+5V16BL-Vss背光源公共端串口接口管脚信号说明〔PCB上的J2连接到VSS是既下端有效〕。表2-812232F模块串行接口管脚号说明管脚号名称LEVER功能1VSS0V电源地2VDD+5V电源正〔3.0V~5.5V〕3Vlcd_比照度调整4CLKH/L串行同步时钟:上升沿时读取SID数据5SIDH/L串行数据输入端6/CSH/L模组片选端,高电平有效7BL+VDD背光源电压+4.2V—+5V8BL-VSS背光源公共端2.并口读写时序与串口读写时序〔1〕并口读写时序图如图2-7所示。图2-7并口读写时序图〔2〕串口读写时序如图2-8所示。图2-8串口读写时序图2.5存储器24C0224C02与单片机的接口非常简单,如以下图2-9所示。E0,E1,E2为器件地址线;WC为写保护引脚;SCL,SDA为二线串行接口,符合I2C总线协议。图2-924C02与单片机连接ATMEL〔激光印字〕以及XICOR牌号的24C02具有全面的符合I2C总线协议的功能,而有些牌号24C02要么没有WC引脚保护功能,要么没有器件地址功能〔即2片24C0能共用一个I2C总线〕,有些甚至两种功能均无。总线时序与写周期时序总线时序图与写周期时序图如图2-10和图2-11所示。图2-10总线时序图图2-11写周期时序图2、器件寻址器件寻址方式如图2-12所示。图2-1224C02器件寻址前八位是地址地址信号,从最高位〔MSB〕开始,其中前四位是固定值1010,后三位有管脚A0、A1、A2的基地情况确定。最后一位是读写控制信号,0表示写,1表示读。假设与SDA线发送过来的地址比拟一致,那么器件输出应答0,否那么将返回等待状态。器件内部地址寻址是在器件寻址之后,对256个字节进行寻址,直接传送8位地址信号〔00-FF〕对应于器件内部的地址。3、写操作时序说明:〔1〕字节写——一次只写一个字节字节写操作时序图如图2-13所示。
图2-13字节写操作时序图先由主机发送起始命令,再发送送器件地址,当主机接收到器件的ACK应答后,便继续发送内部字节地址,当接收到ACK应答后继续发送数据,当8位数据发送完毕之后,主机接收到器件的ACK应答,在发送停止信号。〔2〕页写 页写操作时序图如图2-14所示。
图2-14页写操作时序图页的初始化与字节写的初始化相同,只是主器件不会再发送完第一个数据之后就发送停止信号,而是继续发送7个数据,接收到每个数据之后,地址的后三位会自动加一,高位地址不变,维持在本页之内;当内部产生的字地址超过了本页的页边界地址时,随后写入的数据将写到该页的页首,先前的字节将会被覆盖。
4、读操作时序说明:〔1〕当前地址读当前地址读操作时序图如图2-15图。图2-15当前地址读操作时序图内部地址计数器存放着上一次访问时最后一个地址加1的值,只要芯片有电,该值就被保存。当读到最后页的最后字节,该地址变为0;当读到某页的页尾时,该地址转向该页页首。〔2〕随机读随机读操作时序图如图2-16所示。图2-16随机读操作时序图先写一个目标地址,一旦器件接收到该地址,并发出一个AVK应答信号,那么主器件就产生一个重复的起始条件,然后主器件发送一个器件地址〔读〕,从器件应答ACK,然后随时钟读出数据。顺序读顺序读操作时序如图2-17所示。图2-17顺序读操作时序图
顺序读可以通过随机读或者当前读来启动,主器件接收到一个数据后,应答ACK;只要从器件接收到ACK信号,其字地址自动加1,并随时钟将数据输出。假设到达存储器的末尾,那么地址变为0。如果主器件不发送ACK而是停止信号,那么结束顺序读。3系统的硬件设计3.1总体设计 8051单片机硬件系统实现如下功能:〔1〕控制时钟芯片DS1302读取日期和时间,设置初值;〔2〕控制CH451显示数值;〔3〕控制温湿度检测和显示;〔4〕控制24C02实现数据存储和查询;〔5〕控制LCD显示时间和温湿度。 整个系统硬件设计框图如图3-1所示。温湿度传感仪SHT10时钟芯片DS1302温湿度传感仪SHT10时钟芯片DS1302存储器24C02MAX232AT89C51CPU液晶显示CH451键盘数码管图3-1系统硬件设计框图附录A为整个系统的PCB连接图,按照从左至右,从上向下的顺序将灰色按键分别定义为0到9和从A到F。将芯片板上的15个灰色按键分别设置各种所需功能。其中按下功能键1时,系统进入实时显示室内温、湿度的子程序;按下功能键2时,系统进入显示年月日时间和星期的子程序;按下功能键3+*时进入对液晶显示屏显示的年月日时间和星期赋初值的子程序;按下功能键4、5时进入数据储存、查询的子程序;按下功能键6、7时进入串行通讯接受发送的子程序;按下功能键8、9时进入外中断和定时中断的子程序;按下功能键C时进入去除已存储记录的子程序;数字键0—9是设置初值和数据的存储、上传时用的。最后将红色的按键定义为跳出这个系统,程序全部结束。3.2时间日期显示设计电路如图3-1所示,该时钟电路可以对年、月、日、周、时、分、秒进行计时。DS1302实时时钟具体控制方法如下:〔1〕单片机的P1.0口连接DS1302的I/O口,作为串行数据的输入和输出口;〔2〕单片机的P1.1口连接DS1302的SCLK口,给DS1302提供读写数据的脉冲信号;〔3〕单片机的P1.4口连接DS1302的RST口,起到时钟芯片的复位作用。图3-1时钟电路3.3LED数码管和按键的设计1.LED数码管和按键由于系统可以循环执行,也可以跳跃无序的执行,固每一次都需要扫描按键的键值,从而去执行相应的程序。并且系统在执行下个程序前都需要将LED数码管清零,防止在执行下个程序时产生冲突,影响设计效果。CH451检测到有效的按键,那么记录下该按键代码,并通过DOUT引脚产生低电平有效的键盘中断,此时单片机可以通过串行接口读取按键代码;,单片机只要给出二进制数BCD码,由CH451将其译码后直接驱动数码管显示对应的字符。具体控制方法如下:单片机的P1.2口连接CH451的LOAD口,作为串行数据加载;单片机的P3.5口连接CH451的DIN口,作为串行数据输入;单片机的P3.4口连接CH451的DCLK口,作为串行接口的数据时钟;单片机的P3.3口连接CH451的DOUT口,作为串口数据的输出和键盘中断;CH451的RST1口连接外部按键,起到上电复位和看门狗复位的作用。CH451控制LED数码管和按键原理图如3-2。图3-2CH451控制LED数码管和按键原理图3.4LCD液晶屏的设计在整个系统中需要两次用到LCD液晶显示屏,固在每一次用到LCD液晶屏的时候都要对其进行清屏。当清屏完成后通过LED数码管显示设计者所设定的文字,那么说明清屏结束,进行到将要执行的程序。原理图如3-3所示,具体控制方法如下:单片机的P0.0-P0.7连接DB0-DB7作为数据输入输出端;单片机的P3.6口负责读操作;单片机的P3.7口负责写操作;单片机的P2.4口连接LCD的RS作为片选端;VSS口接地;VCC口接电源端。图3-3LCD液晶显示的原理图3.5温、湿度测控模块1.通过温湿度传感器对环境温度进行实时的检测并将数据传输到CPU中,从而实现对温湿度的实时显示。电路图如3-4所示。具体引脚说明如下:GND口接地;WSD1口接单片机上P3.5脚,为数据输入端;WSD2口接单片机上P3.4脚,为时钟输入端;VCC口接电源。图3-4温湿度模块原理图3.6存储器24C02模块CPU可将数据写入存储器,也可将写入存储器中的数据读出用于显示,主要应用在串行通信模块。外部存储器电路如图3-5所示,AT24C02A是串行存储方式,单片机可直接控制,内有地址,可存取与读出。具体控制方法如下:〔1〕其中A2、A1、A0是芯片地址线,单片使用时接地;〔2〕单片机的P11口连接AT24C02A的SCL口,SCL是串行移位时钟端;〔3〕单片机的P10口连接AT24C02A的SDA口,SDA是串行数据或地址端;〔4〕单片机通过SDA访问芯片,WP是写保护端,接高电平时芯片只能读。图3-5存储器24C023.7串行口与MAX232芯片利用8051单片机的标准串行接口及简单的外围接口电路,可以方便地实现单片机与PC机之间的数据通讯。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配MAX232芯片可以完成电平转换这一工作。串行口与MAX232芯片连接图如3-6所示。图3-6串行口与MAX232连接图4系统软件设计4.1主系统软件设计在主系统函数中,要判断是否有按键、按键的键值是什么,从而去执行相应的程序。如图4-1为软件系统主统流程图,1键实现定时器功能,并在2秒后响铃,2键是外部中断实现功能3键为数据的存储功能其中,4键能够清楚已存储的数据,5键为串行通讯的发送功能,6键为串行通讯的接收功能,7、8、9键显示无功能,A键为显示日期和时间功能,B键为键盘输入日期时间初值,C键为实时显示室内温、湿度功能,D键去除记录。 系统初始化时分别对液晶屏、八段数码管、时钟芯片、温湿度芯片、CH451等功能模块进行。之后数码管显示“HHP…dd〞标明单片机正常工作。串行串行通讯发送或接收中断设置、显示时间键B、C?将已存储记录清零键D?显示温度键A?显示记录查询键4?键5、6?存储器写键3?键2?定时2秒,响铃键1?是否有按键?LCD、数码管显示系统初始化开始NNYYYYNNYY NNYYN NYYNNYY NNYYNNYYYN YNNN图4-1软件系统主流程图4.2液晶显示年、月、日、时间、星期和初值的设定局部1、实时显示系统日期和时间如图4-2为液晶屏显示年月日时间和星期的流程图,当有按键A触发时,执行该功能。读系统日期和时间读系统日期和时间进入功能清屏等待显示送显示地址第一行并调用写命令子程序LCALLCOMMAND_GLCD;调写命令子程序显示年高两位〔20〕、年、月和日LCALLCOMMAND_GLCD;调写命令子程序送显示地址第二行并调用写命令子程序LCALLCOMMAND_GLCD;调写命令子程序显示时分秒和星期LCALLCOMMAND_GLCD;调写命令子程序返回图4-2液晶屏显示年月日时间和星期流程图2、键盘输入系统时间初值如图4-3为键盘输入系统时间初值功能的流程图,当有按键B触发时,并配合其他功能键,实现全局输入系统时间初值和依次输入系统时间初值两种功能。当按下按键0,可以全局依次输入年、月、日、时、分、秒、星期。当按下按键1,输入年;当按下按键2,输入月;当按下按键3,输入日;当按下按键4,输入星期;当按下按键5,输入时;当按下按键6,输入分;当按下按键7,输入秒。任意一种功能输入完毕后,按下按键E返回系统主程序。进入功能进入功能清屏清屏是否有按键?是否有按键?YY依次输入年、月、日、时、分、秒、星期YY依次输入年、月、日、时、分、秒、星期功能键功能键B?NYNY功能键1?输入年功能键1?输入年NNY功能键2?Y功能键2?输入月输入月NNY功能键3?Y功能键3?输入日NNY功能键4?输入星期Y功能键4?输入星期NNY功能键5?Y功能键5?输入时NYNY功能键6?输入分功能键6?输入分NNY功能键7?Y功能键7?输入秒NN功能键E?功能键E?YY返回返回功能键5?功能键5?输入时图4-3键盘输入系统时间初值功能流程图4.3温湿度传感器局部当按下1键时进入温湿度测量显示功能,通过电路和程序共同控制ST10芯片,首先是调用清屏函数和显示函数,在数码管上显示设定的文字,此时测量温度,显示当前温度,测量湿度,显示当前湿度的功能。如图4-4为温湿度传感器局部的流程图。进入功能进入功能清屏清屏发送测量温度指令发送测量温度指令NN转换完否?转换完否?YY读取上下各8位数据,存储在BA中对BA中数据进行码制转换并进行校正显示温度读取上下各8位数据,存储在BA中对BA中数据进行码制转换并进行校正显示温度发送测量湿度指令发送测量湿度指令显示湿度转换完否?对BA中数据进行码制转换并进行校正读取上下各8位数据,存储在BA中NNYY图4-4温湿度传感器流程图4.4 外部中断按下2键触发此功能,等待外部中断进入功能显示:中断进入功能显示:中断外部触发NNYY返回主界面返回主界面返回图4-4定时器中断流程图4.5数据的存储和查询1、数据的存储如图4-5为数据存储功能的流程图,当有按键4触发时,执行该功能。在进入该功能之前,最好先利用功能键C将曾经已存储数据清零,以防止存储空间不够或初始存储数据记录数过大。进入功能进入功能液晶屏显示当前温湿度液晶屏显示当前温湿度发送存储器写命令发送存储器写命令启动存储器,写入数据启动存储器,写入数据NN存储器写完否?存储器写完否?YY停止存储器停止存储器返回返回图4-5数据存储功能流程图2、数据的查询如图4-5为数据查询功能的流程图,当有按键5触发时,执行该功能。在进入该功能之后,有按顺序显示存储记录和选择显示存储记录两种功能。当按下按键A进入按顺序显示记录功能,当按下功能键B进入按选择显示存储记录功能,并且通过输入所需存储记录号来显示对应的数据记录。功能键E用于返回系统。进入功能进入功能清屏并启动存储器清屏并启动存储器N是否有按键?N是否有按键?YYY顺序显示功能按键A?Y顺序显示功能按键A?按键E?按键E?NNY选择显示功能按键B?Y选择显示功能按键B?NNNNYY返回返回图4-5数据查询功能流程图Y进入顺序显示功能Y进入顺序显示功能允许存储器读写允许存储器读写读取命令和记录数读取命令和记录数计算存储记录的地址计算存储记录的地址读取存储记录读取存储记录NNY一条记录读完否?Y一条记录读完否?Y记录数加一,读取下一条记录Y记录数加一,读取下一条记录N所有记录读完否?N所有记录读完否?NNYYN顺序显示所有记录N顺序显示所有记录返回返回进入选择显示功能 进入选择显示功能允许存储器读写允许存储器读写读取命令和记录数读取命令和记录数显示记录个数显示记录个数NNYY有按键否?YY有按键否?YY读取键值并显示读取键值并显示计算键值对应的页地址和页内地址计算键值对应的页地址和页内地址读取存储记录读取存储记录NN该条记录读完否?该条记录读完否?YY显示该条记录显示该条记录返回返回5结论通过硬件和软件的设计,本系统实现了对室内温湿度的时时监控和显示,能够在液晶屏上显示年、月、日、时间和星期并且可以对其初值进行设置;够实现数据储存、查询、上传〔串行通讯〕和实现外中断和定时中断功能。本系统在实现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024标准绿化施工合同样本
- 水渠建造合同模板
- 空白用工合同范例
- 租赁工程推土机合同范例
- 二零二四年度计算机软件开发项目合作合同
- 淄博吊车租赁合同模板
- 私人公司入股合同范例
- 二零二四年度金融投资公司股权投资合同
- 租单间转租合同范例
- 玫瑰买卖合同模板
- 市政污水管网工程监理规划
- 康复工程详解演示文稿
- 五线谱乐谱稿纸
- 银行培训课件:安全防范案例警示教育
- GB/T 626-1989化学试剂硝酸
- GB/T 5668.1-1995旋耕机械
- GB/T 3520-1995石墨细度检验方法
- GB/T 23319.3-2010纺织品洗涤后扭斜的测定第3部分:机织服装和针织服装
- GB/T 20041.1-2015电缆管理用导管系统第1部分:通用要求
- DB/T 14-2018原地应力测量水压致裂法和套芯解除法技术规范
- 全国中小学美术优质课一等奖《制作树叶贴画》课件
评论
0/150
提交评论