单片机课程设计空调温度控制器的设计

上传人:痛*** 文档编号:82478948 上传时间:2022-04-29 格式:DOC 页数:28 大小:924KB
返回 下载 相关 举报
单片机课程设计空调温度控制器的设计_第1页
第1页 / 共28页
单片机课程设计空调温度控制器的设计_第2页
第2页 / 共28页
单片机课程设计空调温度控制器的设计_第3页
第3页 / 共28页
点击查看更多>>
资源描述
苏 州 市 职 业 大 学课程设计任务书 课程名称: 空调温度控制器的设计 起讫时间: 2010年1月18日1月22日 院 系: 电子信息工程系 班级: 08电子信息2班 姓 名: 指导教师: 系 主 任: 目录第一章 绪论- 2 -1、空调发展史- 2 -第二章 AT89S51单片机原理- 4 -2.1、AT89S51的结构和封装- 4 -2.2 AT89S51单片机的存储空间、特殊功能寄存器- 4 -2.3单片机三大功能- 9 -2.3.3串行口- 12 -2.4键盘和显示- 13 -第三章A/D转换芯片TLC1549- 17 -一、概述- 17 -第四章EEPROM,AT24C02- 19 -1I2C总线的基本结构- 19 -2双向传输的接口特性- 19 -3I2C总线上的时钟信号- 20 -4数据的传送- 20 -5总线的竞争解决- 21 -6. I2C总线接口器件- 21 -第五章温度传感器- 21 -5.1温度传感器介绍- 21 -5.2 空调温度传感器的作用- 22 -第六章设计- 23 -6.1硬件设计- 23 -6.2软件设计- 23 -第一章 绪论1、空调发展史 我们现在所定义的空调出现于从18世纪90年代到19世纪初的一次科学技术的急速发展。 19世紀,英国科学家及发明家麦克法拉第(Michael Faraday),发现压缩及液化某种气体可以將空气冷冻,此现象出現在液化亚摩尼亚蒸发时,当时其意念仍流于理论化。 John Gorrie在1842年以压缩技术制造出冰块,并使用作冷冻空气以吹向患疟疾和黄热病的病人。为了拯救一些的渔民的生命而作的一次尝试,却改变了全世界人民的生活方式。 Leonardo Da Vinci 在大约1500年制造了一台水动风扇用于他妻子闺房的通风; Dr. William Cullen在1775年发明了一台用于冷冻水的机器; Jacrb Perkins 在1834年取得了一台制冷机的专利权; 在1851年,Grorrie因为他的“第一个用于医学制冷和空调的机器”得到了8080 号专利权,获得了肯定。这台新机器给历史上第一个空调医院提供了冰和冷空气。这个过程是20世纪初广泛用于航海船只的压缩空气冰制冷机器的前身。 正像瓦特兄弟发明蒸汽机改变了之前的陆地运输系统那样,John Gorrie的成就改变了人类控制环境的能力。 1972年,Raymond B.Becker of Gainesville, Fla.出版了Gorrie, M.D.空气调节和医用制冷之父。 20年之后,美国最早的女工程师之一的Margaret Ingels出版了Willis Haviland Carrier,空调之父 1901年,Stuart Willis. Carrier博士在美国建立世界上第一所空调试验研究室。 1902年7月17日,开利博士为美国纽约市一家印刷厂设计了世界上公认的第一套科学空调系统喷淋式热湿控制系统。空调行业将这项发明视为空调业诞生的标志。 1906年,开利博士发明了世界上第一台喷淋式空气洗涤器,即喷水室。 1906年,开利在Buffalo锻造公司风机手册上发表了第一个焓湿图。 1911年12月,开利博士得出来空气干球、湿球和露点温度之间的关系,以及空气湿热、潜热和比焓值之间关系的计算公式。 1911:开利向机械工程师美国分会发表论文合理的温湿度公式,成为空调行业最基本的理论。 1922年,开利博士发明了世界上第一台离心式冷水机组。 1906年5月,美国的多面手工程师克勒谋(Stuart WCramer)在一次美国棉业协会(ACMA)的会议上正式提出了“空气调节”(Air Conditioning)术语,从而为空气调节命名。 韦利士加利亚将“空气调节”放进其1907年创办的公司名称:美国加利亚空气调节公司 (开利公司)。 空调的发明已经列入20世纪全球十大发明之一,它首次向世界证明了人类对环境温度、湿度、通风和空气品质的控制能力。 1911年,芝加哥建立了第一座空调电影院,随后两座是在洛杉矶和纽约(1922年)。纽约空调电影院是第一座真正可以调节空气各种性能的电影院。 Henry Galson 设计出了第一台“人民的空调器”。 1919年,美国布鲁克林的Abraham&Straus商店是第一家实现舒适空调的大型商店。 1920年就有一座教堂配备了舒适空调。 1920年,巴西莫罗韦洛矿是第一个实现空调的矿井。 自1925年到1931年,空调首次大规模的试验:估计美国约有400家电影院和剧场配备了舒适空调。 1927-1928年,各类工厂尤其是卷烟厂和纺织厂,采用了空调。 在法国,1927年巴黎附近的一座医院,1932年一家电话交换局实现了空调。 在日本,1917年一家私人住宅实现了空调,1920年一家糖果厂实现了空调,1927年一家剧场实现了空调。 1928年,有学者提出氟利昂CFC在制冷技术中的研究。 1928年,开利和其他人合力在通用汽车研究实验室为冰箱合成CFC制冷剂。 1928年,第一台电制冷自动售货机在纽约销售股份有限公司诞生。 1929年在巴尔的摩-俄亥俄运行线上一辆火车餐车配备了舒适空调。 1930年的时候,空调首次应用在汽车中。 1930年左右,空调在欧洲开始出现。在英国,第一座空调旅馆是伦敦的Cumberland旅馆。 1931年在纽约-华盛顿线路上有一列火车全部实现舒适空调。1931年我国首先在上海的许多纺织厂安装了带喷水室的空调系统,其冷源为深水井。随后,几座高层建筑的大旅馆和几家所谓“首轮”电影院,先后设置了全空气式空调系统。有一家电影院和一家银行,还安装了离心式制冷机。 1932年,Reuben Trane 发明了风机盘管机组。 1937年,开利博士又发明了空气水系统的诱导器装置,是目前常见的空调末端装置风机盘管的前身。 从1937年起就采用活动式空调机组使飞机在起飞前降温。 1938年,华盛顿市府大厦配备了当时最大的空调装置(20930kW)。 1945年以后,人们才大规模地实现私人小汽车的空调。 1969年,空调技术应用在了宇航船系统中。 第二次世界大战以来,空调在农业生产中得到了直接的应用,首先是在人工气候室里。人工气候室里的试验装置可随意调节温度、湿度、照明度及大气中的化学成分等等,以研究农作物的生长情况。这些环境模拟装置1945年以来发展很快。 1948 年,在美国加利福尼亚州北部,出现了纺织工人因为工作环境温度的恶劣而罢工要求安装空调系统的事件。 1950年之后,专家学者也开始研究人们在空调环境下的热舒适。1953年,公共汽车和小汽车实现空调。现代化飞机也采用空调,有的用空气循环,有的采用液化蒸汽压缩机。第二章 AT89S51单片机原理2.1、AT89S51的结构和封装 从功能上分,它包括如下部件:一个8位中央处理器(CPU);4K可在线编程Flash ;128字节RAM与特殊功能寄存器;2个16位定时/计数器;中断逻辑控制电路;一个全双工串行接口(UART);32条可编程的IO口线;另外,还包括一些寄存器如程序计数器PC 、程序状态寄存器PSW 、堆栈指针寄存器SP 、数据指针寄存器DPTR等部件。 AT89S51单片机具有多种封装形式,包括PDIP40、PDIP42、PLCC44和TQFP44。最适合学校实验室使用的是PDIP40封装形式,它的外形如图1.1所示。PDIP40封装形式的单片机芯片可以很方便地使用面包板来组成应用电路。图2.2 AT89S51单片机PDIP40封装外形图2.2 AT89S51单片机的存储空间、特殊功能寄存器AT89S51单片机的程序存储空间和数据存储空间是分离的,每种存储空间的寻址范围都是64KB。上述存储空间在物理上可以被映射到4个区域:片内程序存储器和片外程序存储器,片内数据存储器和片外数据存储器。存储空间的映射图如图1.2所示。当存储空间映射为外部存储器时,包括程序空间和数据空间,AT89S51单片机的P0口的8个引脚,从P0.0(AD0)到P0.7(AD7)(引脚从39到32),以时分方式被用作数据总线和地址总线的低8位;P2口的8个引脚,从P2.0(A8)到P2.7(A15)(引脚从21到28),被用作地址总线的高8位。由于对外部程序存储器和外部数据存储器的访问都是通过P0口和P2口实现,为了区分它们,外部程序存储器由引脚(引脚29)的输出信号控制;外部数据存储器的写或读操作分别由引脚P3.6(,引脚16)和引脚P3.7(,引脚17)输出信号控制。图2.3 AT89S51单片机的存储器映射图2.2.1 程序存储空间程序存储空间可以被映射为内部程序存储器或者外部程序存储器。AT89S51单片机内部具有的4KB程序存储器被映射到程序存储空间的0000H0FFFH区间,如图1.2所示。这部分程序存储空间也可以被映射为外部程序存储器,它具体被映射为哪一种程序存储器取决于引脚(引脚31)所接的电平。当引脚为高电平,内部程序存储器被映射到这部分程序存储空间;当引脚为低电平,外部程序存储器被映射到这部分程序存储空间。高于0FFFH的程序存储空间只能被映射为外部程序存储器。目前Atmel公司生产的8051兼容芯片具有多种容量的内部程序存储器的型号,例如AT89S52单片机具有8KB内部程序存储器;T89C51RD2单片机具有64KB内部程序存储器。鉴于通常可以采用具有足够内部程序存储器容量的单片机芯片,用户在使用中不需要再扩展外部程序存储器,这样在单片机应用电路中引脚(引脚31)可以总是接高电平。2.3.2 数据存储空间数据存储空间也可以被映射为内部数据存储器和外部数据存储器。进入不同的数据存储器是通过不同的指令来实现的,这点与程序存储器不一样。AT89S51的内部数据存储器有256字节,它们被分为两部分:高128字节和低128字节。低128字节的内部数据存储器是真正的RAM区,可以被用来写入或读出数据。这一部分存储容量不是很大,但有很大的作用。它可以进一步被分为3部分,如图1.3所示。图2.4 内部数据存储器低128字节在内部数据存储器低128字节中,地址从00H1FH的最低32个字节组成4组工作寄存器,每组有8个工作寄存器。每组中的8个工作寄存器都被命名为从R0到R7。在一个具体时刻,CPU只能使用其中的一组工作寄存器。当前正在使用的工作寄存器组由位于高128字节的程序状态字寄存器(PSW)中第3位(RS0)和第4位(RS1)的数据决定。程序状态字寄存器中的数据可以通过编程来改变。这种功能为保护工作寄存器的内容提供了很大的方便。如果用户程序中不需要全部使用4组工作寄存器,那么剩下的工作寄存器所对应的内部数据存储器也可以作为通用数据存储器使用。工作寄存器在内部数据存储器中的地址映射如表1.1所示。表2.1 工作寄存器地址映射表0组(RS1=0,RS0=0)1组(RS1=0,RS0=1)2组(RS1=1,RS0=0)3组(RS1=1,RS0=1)地址寄存器地址寄存器地址寄存器地址寄存器00HR008HR010HR018HR001HR109HR111HR119HR102HR20AHR212HR21AHR203HR30BHR313HR31BHR304HR40CHR414HR41CHR405HR50DHR515HR51DHR506HR60EHR616HR61EHR607HR70FHR717HR71FHR7在工作寄存器区上面,内部数据存储器的地址从20H2FH的16个字节范围内,既可以通过字节寻址的方式进入,也可以通过位寻址的方式进入,位地址范围从00H到7FH。字节地址与位地址的对应关系如表1.2所示。表2.2 字节地址与位地址的关系位 地 址字 节 地 址D7D6D5D4D3D2D1D02FH7F7E7D7C7B7A79782EH77767574737271702DH6F6E6D6C6B6A69682CH67666564636261602BH5F5E5D5C5B5A59582AH575655545352515029H4F4E4D4C4B4A494828H474645444342414027H3F3E3D3C3B3A393826H373635343332313025H2F2E2D2C2B2A292824H272625242322212023H1F1E1D1C1B1A191822H171615141312111021H0F0E0D0C0B0A090820H0706050403020100内部数据存储器地址从30H7FH部分仅可以用作通用数据存储器。内部数据存储器的高128字节被称为特殊功能寄存器(SFR)区。特殊功能寄存器被用作CPU和在片外围器件之间的接口,它们之间的联系方框图如图1.4所示。图2.5 特殊功能寄存器(SFR)工作框图CPU通过向相应的特殊功能存储器写入数据实现控制对应的在片外围器件的工作,从相应的特殊功能存储器读出数据实现读取对应的在片外围器件的工作结果。在AT89S51单片机中,包括前面提到的程序状态字寄存器(PSW)的特殊功能存储器共有26个,它们离散地分布在80HFFH的内部数据存储器地址空间范围内,如表1.3所示。表2.3 AT89S51单片机特殊功能存储器地址映射表F8HFFHF0HBF7HE8HEFHE0HACCE7HD8HDFHD0HPSWD7HC8HCFHC0HC7HB8HIPBFHB0HP3B7HA8HIEAFHA0HP2AUXR1WDERSTA7H98HSCONSBUF9FH90HP197H88HTCONTMODTL0TL1TH0TH1AUXR8FH80HP0SPDP0LDP0HDP1LDP1HPCON87H在表2.3中,对于没有定义的存储单元用户不能使用。如果向这些存储单元写入数据将产生不确定的效果,从它们读取数据将得到一个随机数。对于字节地址低位为8H或者FH的特殊功能存储器,既可以进行字节操作,也可以进行位操作。例如前面提到的用来确定当前工作寄存器组的程序状态字寄存器(PSW),它的地址为D0H,因此对它可以进行字节操作,也可以进行位操作。采用位操作可以直接控制程序状态字寄存器中的第3位(RS0)或第4位(RS1)数据而不影响其他位的数据。低位地址不为8H或FH的特殊功能存储器只可以进行字节操作,当需要修改这些特殊功能存储器中的某些位时,对其他的位应注意保护。片外数据存储空间可以被映射为数据存储器、扩展的输入/输出接口、模拟/数字转换器和数字/模拟转换器等。这些外围器件统一编址。所有外围器件的地址都占用数据存储空间的地址资源,因此CPU与片外外围器件进行数据交换时可以使用与访问外部数据存储器相同的指令。CPU通过向相应的外部数据存储器地址单元写入数据实现控制对应的片外外围器件的工作,从相应的外部数据存储器地址单元读出数据实现读取对应的片外外围器件的工作结果。2.3单片机三大功能2.3.1中断中断概念 单片机的CPU正在处理某个任务时,遇到其它事件请求(如定时器溢出),暂时停止目前的任务,转去处理请求的事件,处理完后再回到原来的地方,继续原来的工作,这一过程称为“中断”,我们把请求的事件称为中断源。图2.6图2.7 MCS-51系列单片机的中断系统与中断系统有关的SFR(1)TCON中断控制寄存器 表2.4中断控制寄存器TCOND7D6D5D4D3D2D1D0位地址8FH8DH8BH8AH89H88H位定义TF1TF0IE1IT1IE0IT0IT0外部中断INT0的触发方式选择位。 IT0=0,低电平触发方式 ;IT0=1,下降沿触发方式 。IE0外部中断INT0的中断请求标志。 IT1外部中断INT1的触发方式选择位。功能与IT0类似。IE1外部中断INT1的中断请求标志。功能与IE0类似。TF0定时/计数器T0的中断请求标志。TF1定时/计数器T1的中断请求标志。(2)IE中断允许控制寄存器表2.5中断允许控制寄存器IED7D6D5D4D3D2D1D0位地址AFHACHABHAAHA9HA8H位定义EAESET1EX1ET0EX0EX0外部中断0中断允许控制位。EX0=1, INT0被允许(开中断)EX0=0,外部中断0被禁止(关中断)ET0定时/计数器T0中断允许控制位。EX1外部中断INT1中断允许控制位。 ET1定时/计数器T1中断允许控制位。ES串行口中断允许控制位。 EA中断系统总允许控制位 。(3)中断优先级控制寄存器 表2.6中断优先级控制寄存器IPD7D6D5D4D3D2D1D0位地址BCHBBHBAHB9HB8H位定义PSPT1PX1PT0PX0PX0外部中断INT0中断优先级控制位。PT0定时/计数器T0优先级控制位。PX1外部中断INT1中断优先级控制位。PT1定时/计数器T1优先级控制位。PS串行口优先级控制位。 (4)中断源向量地址 INT0: 0003HT0: 000BHINT1: 0013HT1: 001BH串行口:0023H2.3.2、中断处理过程1、中断请求 中断源只有在有请求时,CPU才可能响应它,不同的中断源产生中断请求的方式是不同的 。外部中断产生请求是在外中断的引脚上加低电平或下降沿信号,而定时/计数器中断请求是在内部的计数单元计满溢出时产生,串行口中断请求是在完成一次发送或接收时产生。2、中断响应(1)条件 中断源的中断已经被允许 ,中断允许标志和总的中断允许标志EA都被设置为“1”。 CPU此时没有响应同级或高级中断。 CPU正处于执行某一条指令的最后一个机器周期。 (并且不是对IE、IP进行访问的指令或者是中断返回指令RETI ) (2)响应中断时的操作 保护断点地址。 撤除该中断源的请求标志。 关闭同级中断。 将该中断源的入口地址送给PC,程序将转到该程序的入口地址处运行。 3、中断服务 中断服务就是中断源请求CPU做的任务,需要编程者用指令来实现。 4、中断返回 中断返回和子程序的返回类似,需要执行一条返回指令RETI RETI ;(SP)PC158,SP-1SP。 ;(SP)PC70,SP-1SP。中断返回时完成的操作:(1)恢复断点地址。 (2)开放同级中断 。2.3.2、定时/计数器两个16位的定时/计数器T0和T1。它们本质上是计数器。在做计数器使用时计数引脚上的脉冲信号(下降沿),在做定时器使用时数内部的机器周期 。计数器是加法计数器,计满时溢出,并产生溢出标志(TF0、TF1) 。1、与定时器有关的SFR1定时/计数器控制寄存器TCON 表2.7定时/计数器控制寄存器TCON TCOND7D6D5D4D3D2D1D0位地址8FH8EH8DH8CH8BH8AH89H88H位定义TF1TR1TF0TR0IE1IT1IE0IT1TR0定时/计数器T0运行控制位。 TR0=1,启动T0运行(与TMOD中的GATE位有关),TR0=0,T0停止运行。TR1定时/计数器T1运行控制位。功能同TR02、定时/计数器工作方式控制寄存器TMOD 表2.8定时/计数器工作方式控制寄存器TMODTMODD7D6D5D4D3D2D1D0位定义GATEC/TM1M0GATEC/TM1M0高4位控制T1,低4位控制T0(1)GATE门控位。GATE一般情况下设置为 0,此时定时/计数器的运行仅受TR0/TR1控制。 (2)C/T定时/计数选择位。 C/T=0,为定时方式,对内部的机器周期计数。 C/T=1,为计数方式,对引脚上的脉冲信号计数,负跳变有效。(3)M1M0工作方式选择位。 M1M0=00B,方式013位的定时/计数器。 M1M0=01B,方式116位的定时/计数器。 M1M0=10B,方式28位的定时/计数器,初值自动重装。 M1M0=11B,方式3两个8位的定时/计数器,仅适用于T0。2定时/计数器计数寄存器 TH0T0的高8位。 TL0T0的低8位。 TH1T1的高8位。 TL1T1的低8位。2.3.3串行口1串行通信的方式:异步通信:它用一个起始位表示字符的开始,用停止位表示字符的结束。其每帧的格式如下:在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(能省略),最后是停止位1。用这种格式表示字符,则字符能一个接一个地传送。在异步通信中,CPU与外设之间必须有两项规定,即字符格式和波特率。字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。原则上字符格式能由通信的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII标准。波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。例如,数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。同步通信:在同步通信中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。28051单片机的串行接口结构8051单片机串行接口是一个可编程的全双工串行通信接口。它可用作异步通信方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通信协议进行全双工的8051多机系统也能通过同步方式,使用TTL或CMOS移位寄存器来扩充I/O口。8051单片机通过管脚RXD(P3.0,串行数据接收端)和管脚TXD(P3.1,串行数据发送端)与外界通信。SBUF是串行口缓冲寄存器,包括发送寄存器和接收寄存器。它们有相同名字和地址空间,但不会出现冲突,因为它们两个一个只能被CPU读出数据,一个只能被CPU写入数据。串行口的控制与状态寄存器串行口控制寄存器SCON它用于定义串行口的工作方式及实施接收和发送控制。字节地址为98H,其各位定义如下表:D7D6D5D4D3D2D1D0SM0SM1SM2RENTB8RB8TIRISM0、SM1:串行口工作方式选择位,其定义如下:SM0、SM1工作方式功能描述波特率0 0方式08位移位寄存器Fosc/120 1方式110位UART可变1 0方式211位UARTFosc/64或fosc/321 1方式311位UART可变其中fosc为晶体震荡器频率2.4键盘和显示在设计各种单片机应用系统中,还需扩展很多外部接口器件才能充分发挥单片机的智能控制功能。如扩展键盘与显示器件接口,可实现人机对话功能;扩展A/D转换接口,可实现对外部各种模拟信号的检测与转换;扩展D/A转换接口可将数字信号转换为模拟信号,从而完成对控制对象的驱动。本章将主要介绍常见的键盘、显示(LED、LCD)、A/D和D/A转换接口电路。(1) 键盘接口电路键盘是计算机最常用的输入设备,是实现人机对话的纽带。按其结构形式可分为非编码键盘和编码键盘。编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂,PC机所用键盘即为编码键盘。非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,一、 独立式键盘按照键盘与单片机的连接方式可分为独立式键盘与矩阵式键盘。独立式键盘相互独立,每个按键占用一根I/O口线,每根I/O口线上的按键工作状态不会影响其他按键的工作状态。这种按键软件程序简单,但占用I/O口线较多(一根口线只能接一个键),适用于键盘应用数量较少的系统中。1键闭合测试,检查是否有键闭合KCS:MOV P1,#0FFHMOV A,P1CPL AANL A,#0FHRET若有键闭合,则(A0), 若无键闭合,则(A=0)。2去抖动当测试到有键闭合后,需进行去抖动处理。由于按键闭合时的机械弹性作用,按键闭合时不会马上稳定接通,按键断开时也不会马上断开,由此在按键闭合与断开的瞬间 会出现电压抖动,如图6-2所示。键盘抖动的时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误,因而必须设法消除抖动的不良后果。通过去抖动处理,可以得到按键闭合与断开的稳定状态。去抖动的方法有硬件与软件两种:硬件方法是加去抖动电路,如可通过RS触发器实现硬件去抖动;软件方法是在第一次检测到键盘按下后,执行一段10ms的延迟子程序后再确认该键是否确实按下,躲过抖动,待信号稳定之后,再进行键扫描。通常多采用软件方法。二、矩阵式键盘矩阵式键盘又称行列式键盘,P1口的8根口线分别作为4根行线与4根列线,在其行、列交汇点接有16个键盘。与独立式键盘相比,单片机口线资源利用率提高了一倍。但若需要更多的键盘,需采用接口扩展的方式,利用8155芯片进行键盘扩展,利用PA口作为输出口,8根口线作为列线,利用PC口作为输入口,4根口线作为行线,由此产生32键的矩阵式键盘。这种键盘采用扫描方式检测按键闭合情况及识别确定键码,因此称扫描方式键盘。2键盘扫描的中断控制方式在单片机系统中,CPU除了对键盘进行处理外,还要进行数据处理、结果输出显示及其它各种控制,因此键盘处理不应占用CPU过多的时间,但又必须保证CPU能够检测到键盘的工作。为提高CPU的工作效率,可采用中断扫描方式。当无键闭合时,CPU处理自已的工作,当有键闭合时,产生中断请求,CPU转去执行键盘扫描子程序并执行相应的功能。采用中断方式的键盘扫描电路。本电路采用4输入与门用于产生键盘中断,其输入端与各行线相连,输出端接至8031的外部中断输入端 。当无键盘闭合时,与门各输入端均为高电平,输出端为高电平;当有键闭合时, 为低电平,于是向CPU申请中断。若CPU开放中断,则会响应该键盘中断,转去执行键盘扫描子程序。 (2) LED显示接口电路一、LED显示器LED(Light Emitting Diode)显示器是由发光二极管作为显示字段的数码型显示器件,具有显示清晰、成本低廉、配置灵活、与单片机接口简单易行的特点,在单片机应用系统中得到了广泛的应用。1LED显示器结构与分类LED显示器内部由7段发光二极管组成,因此亦称之为七段LED显示器,由于主要用于显示各种数字符号,故又称之为LED数码管。每个显示器还有一个圆点型发光二极管(用符号DP表示),用于显示小数点,图6-6为LED显示器的符号与引脚图。根据其内部结构,LED显示器可分为共阴极与共阳极两种LED显示器。(1)共阴极LED显示器。各二极管的阴极连在一起,公共端接低电平时,若某段阳极加上高电平则该段发光二极管就导通发光,而输入低电平的段则不发光。(2)共阳极LED显示器。图中各二极管的阳极连在一起,公共端接高电平时,若某段阴极加上低电平则该段发光二极管就导通发光,而输入高电平的段则不发光。LED数码管通常有红色、绿色、黄色三种,以红色应用最多。由于二极管的发光材料不同,数码管有高亮与普亮之分,应用时根据数码管的规格与显示方式等决定是否加驱动电路。2LED显示器的段码7段LED显示器可采用硬件译码与软件译码两种方式。在数字电路中曾介绍硬件译码显示方法,如利用74LS47等实现译码显示,这里主要介绍软件方式实现译码显示。加在显示器上对应各种显示字符的二进制数据称为段码。数码管中,七段发光二极管加上一个小数点位共计8段,因此段码为8位二进制数,即一个字节。由于点亮方式不同,共阴与共阳两种LED数码管的段码是不同的。表2.9LED数码管显示(字型 共阳极段码 共阴极段码) 0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H灭FFH00H880H7FH二、LED并行显示技术1利用8155做LED显示器并行接口电路在单片机应用系统中,通常具有多位LED显示器,在编程时采用动态显示方式。所谓动态显示是指利用单片机控制显示器逐位点亮,而不是同时点亮。由于人眼的视觉残留效应,仍然感觉显示器是同时点亮的,但要求显示器动态点亮的速度应足够快,否则会有闪烁感。在实现动态显示时,除了必须给各位数码管提供段码外还必须对各位显示器进行位的控制,即进行段控与位控。工作时,各位数码管的段控线对应并联在一起,由一个8位的I/O口控制;各位的位控线(公共阳极或阴极)由另一I/O控制。在某一时刻只选通一位数码管,并送出相应的段码。三、串行LED显示技术在单片机系统设计中,LED显示方式由于具有使用方便、价格低廉等优点而得到广泛应用。在采用并行显示方式时,显示电路的段码与位控码要占用单片机的较多口线,尽管可采用8155等接口芯片进行扩展,但口线利用率仍较低,不能满足大型控制系统的要求。采用串行显示方式则只需占用2至3根口线,节约单片机大量的I/O线,且使用效果很好。下面介绍一种基于74HC595A的LED串行显示技术。174HC595A工作原理74HC595A内部含有8位移位寄存器和8位D锁存器,内部结构见图6-9所示。串行移位寄存器接收外部输入串行数据,一方面可进行串行数据输出,同时向锁存器提供8位并行输入数据,并具有异步复位功能;8位锁存器可三态输出并行数据。该芯片具有串行输入、并行输出两个独立的时钟信号。 工作状态 输 入 输 出 SER SRCLK RCLK SQH Q0-Q7复 位 L L H L L U串行输入 H D L H L SRG SRH U锁存输出 H L H L U N高 阻 H Z注:U:不变;N:数据刷新;Z:高阻。 输入数据在串行移位时钟SCLK上升沿由串行输入端SER输入到芯片内部串行移位寄存器中,同时SQH端串行输出;在锁存时钟信号LCLK上升沿到来时,芯片将内部串行移位寄存器8位数据并行输出。正常工作时,应将复位端 与使能端 分别接高电平、低电平。2应用电路设计图6-10为12位LED显示器应用电路。若采用普通的LED并行显示方式需扩展单片机接口,电路复杂、成本高。本系统利用三片74HC595A芯片实现12位串行LED显示控制。使用时,在串行时钟的控制下,可将显示器位控码与段控码逐位串行输入至三个芯片中,然后利用锁存信号实现并行输出,完成12数数码显示更新。利用此显示方式仅占用单片机三根口线,极大节约单片机口线资源。采用串行数据输入,显示速度相对较慢,实际使用时显示效果稳定、可靠,完全满足设计要求第三章A/D转换芯片TLC1549一、概述TLC1549是美国德州仪器公司生产的10位模数转换器。它采用CMOS工艺,具有内在的采样和保持,采用差分基准电压高阻输入,抗干扰,可按比例量程校准转换范围,总不可调整误差达到1LSB Max(4.8mV)等特点。 1.2 TLC1549的工作温度范围内(自然通风)极限参数如下:电源电压范围:-0.56.5V输入电压范围:-0.3VCC+0.3V输出电压范围:-0.3VCC+0.3V正基准电压:VCC+0.1V负基准电压:-0.1V峰值输入电流(任何输入端):20mA峰值总输入电流(所有输入端):30mA工作温度范围(自然通风): TLC1549C070 TLC1549I-4080 TLC1549M -65125二、工作原理在芯片选择(CS)无效情况下,I/O CLOCK 最初被禁止且DATA OUT 处于高阻状态。当串行接口把CS拉至有效时,转换时序开始允许I/O CLOCK 工作并使DATA OUT 脱离高阻状态。串行接口然后把I/O CLOCK 序列提供给I/O CLOCK 并从DATA OUT 接收前次转换结果。I/O CLOCK 从主机串行接口接收长度在10和16个时钟之间的输入序列。开始10个I/O 时钟提供采样模拟输入的控制时序。在CS的下降沿,前次转换的MSB出现在DATA OUT端。10位数据通过DATA OUT 被发送到主机串行接口。为了开始转换,最少需要10个时钟脉冲。如果I/O CLOCK 传送大于10个时钟长度,那么在的10个时钟的下降沿,内部逻辑把DATA OUT 拉至低电平以确保其余位的值为零。在正常进行的转换周期内,规定时间内CS端高电平至低电平的跳变可终止该周期,器件返回初始状态(输出数据寄存器的内容保持为前次转换结果)。由于可能破坏输出数据,所以在接近转换完成时要小心防止CS被拉至低电平。时序图如图2。三、应用介绍3.1 TLC1549的理想转换特性如图3所示。(1) 此曲线基于下列假设:VREF+和VREF-已被调整以便从数字0至1跳变的电压(VZT)为0.0024V,满度跳变电压(VFT)为4.908V。1LSB=4.8mV。(2) 满度值(VFS)是指其额定中点(midstep)值具有最高的绝对值的那级台阶。零度值(VZS)是指其额定中点(midstep)值等于零的那级台阶。3.2 TCL1549典型串行接口3.3 应用程序#include d:/c51/inc/stdlib.h#define byte unsigned chardata int result;sbit cs_ad= 0xa4;sbit dout= 0xa3;sbit clk= 0xa2;void delay(void) /延时子程序 data byte i,j; for(i=0;i255;i+) for(j=0;j255;j+) ; main() data byte i; number1: cs_ad=1; /禁止I/O CLOCKcs_ad=0; /开启控制电路,使能DATA OUT和I/O CLOCKresult=0; /清转换变量 for(i=0;i10;i+)/采集10次 ,即10bit clk=0; result*=2; if(dout) result+; clk=1; delay(); cs_ad=1; ; /DATA OUT 返回到高阻状态而终止序列 result1=result; /转换 第四章EEPROM,AT24C02串行EEPROM中,较为典型的有ATMEL公司的AT24CXX系列和AT93CXX等系列产品。简称I2C总线式串行器件。串行器件不仅占用很少的资源和I/O线,而且体积大大缩小,同时具有工作电源宽、抗干扰能力强、功耗低、数据不易丢失和支持在线编程等特点。 I2C总线是一种用于IC器件之间连接的二线制总线。它通过SDA(串行数据线)及SCL(串行时钟线)两根线在连到总线上的器件之间传送信息,并根据地址识别每个器件:不管是单片机、存储器、LCD驱动器还是键盘接口。1I2C总线的基本结构采用I2C总线标准的单片机或IC器件,其内部不仅有I2C接口电路,而且将内部各单元电路按功能划分为若干相对独立的模块,通过软件寻址实现片选,减少了器件片选线的连接。CPU不仅能通过指令将某个功能单元电路挂靠或摘离总线,还可对该单元的工作状况进行检测,从而实现对硬件系统的既简单又灵活的扩展与控制。I2C总线接口电路结构如图1所示。2双向传输的接口特性传统的单片机串行接口的发送和接收一般都分别用一条线,如MCS51系列的TXD和RXD,而I2C总线则根据器件的功能通过软件程序使其可工作于发送或接收方式。当某个器件向总线上发送信息时,它就是发送器(也叫主器件),而当其从总线上接收信息时,又成为接收器(也叫从器件)。主器件用于启动总线上传送数据并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件。I2C总线的控制完全由挂接在总线上的主器件送出的地址和数据决定。总线上主和从(即发送和接收)的关系不是一成不变的,而是取决于此时数据传送的方向。SDA和SCL均为双向I/O线,通过上拉电阻接正电源。当总线空闲时,两根线都是高电平。连接总线的器件的输出级必须是集电极或漏极开路,以具有线“与”功能。I2C总线的数据传送速率在标准工作方式下为 100kbit/s,在快速方式下,最高传送速率可达400kbit/s。3I2C总线上的时钟信号在I2C总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号下跳为低电平,将使SCL线一直保持低电平,使SCL线上的所有器件开始低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不能影响SCL线的状态,于是这些器件将进入高电平等待的状态。当所有器件的时钟信号都上跳为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件确定,而时钟高电平时间由时钟高电平期最短的器件确定。4数据的传送在数据传送过程中,必须确认数据传送的开始和结束。在I2C总线技术规范中,开始和结束信号(也称启动和停止信号)的定义如图2所示。当时钟线SCL为高电平时,数据线SDA由高电平跳变为低电平定义为“开始”信号,起始状态应处于任何其他命令之前;当SCL线处于高电平时,SDA线发生低电平到高电平的跳变为“结束”信号。器件将处于备用方式(Standby MODE).开始和结束信号都是由主器件产生。在开始信号以后,总线即被认为处于忙状态;在结束信号以后的一段时间内,总线被认为是空闲的。I2C总线的数据传送格式是:在I2C总线开始信号后,送出的第一个字节数据是用来选择从器件地址的,其中前7位为地址码,第8位为方向位(R/W)读写控制。方向位为“0”表示发送,即主器件把信息写到所选择的从器件;方向位为“1”表示主器件将从从器件读信息。开始信号后,系统中的各个器件将自己的地址和主器件送到总线上的地址进行比较,如果与主器件发送到总线上的地址一致,则该器件即为被主器件寻址的器件,其接收信息还是发送信息则由第8位 (R/W)确定。在I2C总线上每次传送的数据字节数不限,但每一个字节必须为8位,而且每个传送的字节后面必须跟一个应答位(ACK),ACK信号在第9个时钟周期时出现。数据的传送过程如图3所示。每次都是先传最高位,通常从器件在接收到每个字节后都会作出响应,即释放 SCL线返回高电平,准备接收下一个数据字节,主器件可继续传送。如果从器件正在处理一个实时事件而不能接收数据时,(例如正在处理一个内部中断,在这个中断处理完之前就不能接收I2C总线上的数据字节)可以使时钟SCL线保持低电平,从器件必须使SDA保持高电平,此时主器件产生1个结束信号,使传送异常结束,迫使主器件处于等待状态。当从器件处理完毕时将释放SCL线,主器件继续传送。当主器件发送完一个字节的数据后,接着发出对应于SCL线上的一个时钟(ACK)认可位,在此时钟内主器件释放SDA线,一个字节传送结束,而从器件的响应信号将SDA线拉成低电平,使SDA在该时钟的高电平期间为稳定的低电平。从器件的响应信号结束后,SDA线返回高电平,进入下一个传送周期。I2C总线还具有广播呼叫地址用于寻址总线上所有器件的功能。若一个器件不需要广播呼叫寻址中所提供的任何数据,则可以忽略该地址不作响应。如果该器件需要广播呼叫寻址中提供的数据,则应对地址作出响应,其表现为一个接收器。5总线的竞争解决总线上可能挂接有多个器件,有时会发生两个或多个主器件同时想占用总线的情况。例如,多单片机系统中,可能在某一时刻有两个单片机要同时向总线发送数据,这种情况叫做总线竞争。I2C总线具有多主控能力,可以对发生在SDA线上的总线竞争进行仲裁,其仲裁原则是这样的:当多个主器件同时想占用总线时,如果某个主器件发送高电平,而另一个主器件发送低电平,则发送电平与此时SDA总线电平不符的那个器件将自动关闭其输出级。总线竞争的仲裁是在两个方面进行的。首先是地址位的比较,如果主器件寻址同一个从器件,则进入数据位的比较,从而确保了竞争仲裁的可靠性。由于是利用I2C总线上的信息进行仲裁,因此不会造成信息的丢失。6. I2C总线接口器件目前在仪器仪表、移动通信、密码控制等领域采用I2C总线接口器件已经比较普遍。另外,通用的I2C总线接口器件,如带I2C总线的单片机、RAM、ROM、A/D、D/A、LCD驱动器等器件,也越来越多地应用于计算机及自动控制系统中。第五章温度传感器5.1温度传感器介绍空调温度传感器为负温度系数热敏电阻,简称NTC,其阻值随温度升高而降低,随温度降低而增大。25时的阻值为标称值。NTC常见的故障为阻值变大、开路、受潮霉变阻值变化、短路、插头及座接触不好或漏电等,引起空调CPU检测端子电压异常引起空调故障。空调常用的NTC有室内环温NTC、室内盘管NTC、室外盘管NTC等三个,较高档的空调还应用外环温NTC、压缩机吸气、排气NTC等。NTC在电路中主要有如图一所示两种用法,温度变化使NTC阻值变化,CPU端子的电压也随之变化,CPU根据电压的变化来决定空调的工作状态。 5.2 空调温度传感器的作用一、 室内环境温度传感器: 1制热或制冷时用于自动控制室内温度。2制热是用于控制辅助电加热器工作 二、 室内盘管温度传感器: 1冬季制热时用来防冷风控制。2夏季制冷时用来防冻结保护。3用于控制室内机风速。4与芯片配合实现故障自珍。5在制热时控制室外机出霜。
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!