收藏 分销(赏)

单片机实验开发板系统设计—维修电工技师论文.docx

上传人:可**** 文档编号:842806 上传时间:2024-03-28 格式:DOCX 页数:22 大小:3.61MB
下载 相关 举报
单片机实验开发板系统设计—维修电工技师论文.docx_第1页
第1页 / 共22页
单片机实验开发板系统设计—维修电工技师论文.docx_第2页
第2页 / 共22页
点击查看更多>>
资源描述
论文题目: STC89C51单片机实验开发板系统 STC89C51单片机实验开发板系统 摘 要 基于51单片机的综合开发系统,目前国外的产品,主要是51厂家配套提供的学习开发系统,价格偏高,技术也基本处于保密状态,深层次学习和利用比较困难,特别是全球领先的单片机和模拟半导体供应商不断向高端推出他的一系列新产品,为汽车、工业产品、家电和消费类应用提供更高的能效、更低的噪音和更广泛的使用范围,这些技术已相对成熟。国内正处于发展阶段,大多数人学习的主要对象还都是MCU-51系列单片机,51单片机开发系统相对较少,也只是与汇编语言配套,要达到普及和提高开发应用速度,必须采用C语言,而C语言配套程序又非常少并不完善,不适合学生与大众人群学习和利用。 关键词 51单片机开发板 学习开发系统 第1章 绪 论 1.1 单片机的发展现状 单片机属于第四代微型计算机的一个重要分支。单片机是把中央处理器CPU(Central Processing Unit),随机存取存储器RAM(Random Access Memory),只读存储器ROM(Read Only Memory),定时器/计数器以及I/O接口电路等主要计算部件集成在一块集成电路芯片上的微型计算机。单片机的应用导致了控制领域的一场革命,是微控制技术逐步取代传统的硬件控制。近十几年来,单片机在生产过程控制、自动检测、数据采集与处理、科技计算、商业管理和办公室自动化等方面获得了广泛的应用。单片机具有体积小、重量轻、耗能省、价格低、可靠性高和通用灵活等优点,因此也广泛应用于卫星定向、汽车火花控制、交通自动管理和微波炉等专用控制上。近几年来,单片机的发展更为迅速,己经渗透到诸多学科的领域,以及人们生活的各个方面。 在嵌入式系统低端的单片机领域,从8位单片机诞生至今,已近30年,在百花齐放的单片机家族中,80C51系列一直扮演着一个独特的角色。Silabs推出89C51更令业界人士刮目相看。回顾历史,在STC公司推出了MCS-51不久便实施了最彻底的技术开放政策,在众多电器商、半导体商的积极参与下,将MCS-51发展成了众多型号系列的80C51 MCU家族。MCS-51经典的体系结构、极好的兼容性和STC公司的开放政策不仅使众多厂家参与发展,也诱使半导体厂家对MCS-51实行为所欲为的改造。由于MCS-51提供的最佳兼容性,使MCS-51在被"肢解"式改造后,还能以不变的指令系统、基本单元的兼容性保持着8051内核的生命延续,并在未来SoC发展中,担任8位CPU内核的重任。回顾80C51系列从MCS-51、80C51到89C51的过程,我们可以深刻领会到单片机发展的一些规律性东西。 早期单片机都是用1个时钟控制片内所有时序。进入CMOS时代后,由于低功耗设计的要求,出现了在一个主时钟下CPU运行速度可选择在不同的时钟频率下操作;或设置成高、低两个主时钟,按系统操作要求选择合适的时钟速度,或关闭时钟。而Silabs公司的89C51则提供了一个完整而先进的时钟系统,在这个系统中,片内设置有一个可编程的时钟振荡器(无需外部器件),可提供2、4、8和16 MHz时钟的编程设定。外部振荡器可选择4种方式。当程序运行时,可实现内外时钟的动态切换。编程选择的时钟输出CYSCLK除供片内使用外,还可从随意选择的I/O端口输出。 1.2 实验开发板的现状与发展及使用对象 51单片机技术自发展以来已走过了近20年的发展路程 。单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。小到遥电子玩具,大到航空航天技术等电子行业都有单片机应用的影子。针对51单片机技术在电子行业自动化方面的重要应用,为满足广大学生、爱好者、产品开发者迅速学会掌握单片机这门技术,于是产生51单片机开发板。实践表时,8位的单片机仍然占据着市场百分之八十的份量。 单片机开发板是适合目前想要学习单片机技术的人士,这些人士大致可以分成三类: 一类是在校的电子专业学生,为了完成一些科技项目或者是把学校学到的知识转化成实际的电子作品,为以后的技术开发及工作求职创造更好的条件,这类学生需要的就是实践经验了。 一类是业余的电子爱好者,想通过自学单片机来提高自己的电子技术水平,以后能够运用到自己熟悉的领域中有所作为,这类学员的动手能力一般比较好,但是理论知识一般欠缺一些。 最后一类人就是有一定的理论和较少的开发经验者。这类时需要丰富自己的开发经验,并与现实生活中实际用例相接合。 1.3 STC89C51 在实验板中的应用 STC89C51是STC公司生产的低电压,高性能 CMOS 8 位单片机,片内含 4KB 的可反 复擦写的 Flash 只读程序存储器和 128b 的随机存取数据存储器(RAM) ,器件采用 STC公司的高密度,非易失性存储技术生产,兼容标准 MCS—51 指令系统,片内置通用中央处 理器(CPU)和 Flash 存储单元,功能强大 STC89C51 单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。 STC89C51 在此整个实验板系统中处于核心地位。硬件电路板设计中,几乎其它所有的元器 件的选取都要依据 STC89C51 的性能参数来决定。 例如电源电路中基于 STC89C51 的工作电压 为+5V 所以稳压芯片选择 7805 系列。 在软件设计中,STC89C51 接收并处理键盘输入的信号,将其发送给显示器件,实现液晶显 示功能,或发送给 PC 机 实现串行通信功能。另一方面,它也接收上位机发送的数据,处理后传送给显示器件 。 1.4 课题的背景与意义 MCS-51单片机的运行速度快,工作电压低,功耗低,抗干扰能力强,被广泛应用于办公自动化设备,消费电子产品,电讯通信,智能仪器仪表,汽车电子,金融电子,工业控制等不同领域,特别是近几年应用更加广泛,各公司兼采用此芯片开发应用类产品。而目前市场上的学习套件一般功能不全,配套的软件系统都是汇编语言,还没有一个比较完善的51开发板供学习和研究。鉴于此,本设计设计了一个可供学习与开发系统于一体的51单片机的综合开发系统。 第2章 开发板的总体设计 2.1 开发板系统功能 单片机开发板是一个实际应用的系统,能够为相关的单片机实验提供支持。此开发板是参考单片机教材中的实验内容设计的,能够实现一些测试实验。本论文包括硬件系统的详细设计及C语言程序流程图的制作。 此开发板设计的功能如下: (1)DS18B20数字温度传感器。 (2)烧录HEX文件。 (3)动态数码管显示。 (4)八位独立键盘。 (5)1602LCD。 (6) DS1302时钟芯片。 (7) ADC0809模/数转换。 (8) DAC0832数/模转换。 (9) 4*4矩阵键盘。 2.2 开发板的性能要求 基于开发板的功能定义和各种芯片的性能参数,总结系统基本性能要求如下: (1)各芯片所需的+5V平稳电压。 (2)STC89C51单片机时钟信号为12MHz。 (3)STC89C51单片机手动复位电路。 (4)显示器件(1602、8位一体数码管)。 (5)8位独立键盘,4*4矩阵键盘。 (6)与PC机串行通信。 2.3硬件总体设计本人设计的单片机开发板是以STC89C51作为主控制芯片,串口通信芯片MAX232、液晶显示器、按键开关、DS18B20等元器件组成,通过软硬件结合实现键盘扫描,液晶显示,与PC机串行通信功能等。一方面,它能作为学生实验的工具,另一方面,它也是综合型单片机系统设计的基础,可扩展许多其它功能。 外围电路是STC89C51工作的基础保障——电源电路提供稳定的+5V工作电压,时钟电路用于产生单片机工作所需的时钟信号,复位电路使单片机实现初始化状态复位。键盘电路用于向系统输入运行参数,控制系统的运行状态。通过键盘扫描等程序设计把键盘输入的数据在液晶显示器上显示或把数据发送到PC机实现串行通信。LCD电路用来显示键盘输入的数据,PC机发送到STC89C51的数据,其功能也是靠硬件电路的设计和软件程序的结合来实现的。串行通信电路主要是为了单片机与PC机之间数据传送而设计的,DS18B20电路是把温度模拟信号转换成数字温度信号的电路。此开发板中采用电平转换芯片MAX232与9芯D插座连接方式。STC89C51器件集成了一个完整的全速/低速USB功能控制器,用于实现USB外部设备(STC89C51不能被用作USB主设备)。 图2—1最小系统图 第3章 开发板的模块电路设计 3.1 STC89C51单片机 STC89C51是一种带4K字节FLASH存储器的低电压、高性能CMOS的8位微处理器,俗称单片机。STC89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用STC高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的STC89C51是一种高效微控制器。STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。引脚排列所示图3-1所示。 图3-1 单片机引脚图 由于电路原理中只用到单片机的P0、P1、P2、P3口,所示下面对这4个端口进行详细介绍。 P0口:P00~P07统称为P0口,在不接片外存储器与不扩展I/O接口时,作为准双向输入/输出接口。在接有片外存储器或扩展I/O接口时,P0口分时复用为低8位地址总线和双向数据总线。P0口是一个三态双向口,由一个输出锁存器、两个三态缓冲器、输出驱动电路和输出控制电路组成。在输入数据时,应人为地先向P0口写“1”,定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P10~P17统称为P1口,可作为准双向I/O接口使用。P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4LSTTL门电流。P1口管脚写入“1”后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。 P2口:P20 ~P27口统称为P2口,一般可以作为准双向I/O接口使用,在接有片外存储器或扩展I/O接口且寻址范围超过256字节时,P2口用作高8位地址总线。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口除作为通用I/O口外,还有第二种功能。P3口的第二种功能定义如下表: P3.0 RXD 串行数据输入口 P3.1 TXD 串行数据输出口 P3.2 INT0 外部中断0 P3.3 INT1 外部中断1 P3.4 T0 定时器/计数器0外部输入 P3.5 T1 定时器/计数器1外部输入 P3.6 WR 外部数据存储器写脉冲 P3.7 RD 外部数据存储器读脉冲 3.2 单片机外围电路 1.时钟电路 时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。 单片机本身就如同一个复杂的同步时序电路, 为了保证同步工作方式的实现, 电路应在唯一的时钟信号控制下严格地按时序进行工作。 在本次设计中,时钟电路设计就是采用内部方式,即利用芯片内部的振荡电路。STC89C51单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2是高增益反相放大器的输入端和输出端。这个高增益反相放大器将与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体振荡器以及电容C1和C4构成并联谐振电路,接在放大器的反馈回路中,对外接电容的值虽然没有严格的要求,但是电容的大小会影响起振的快速和温度的稳定性、振荡器的稳定性、振荡器频率的高低。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22pF。在焊接刷电路板时,我们应注意晶体振荡器和电容尽可能安装的与单片机芯片靠近些,用以减少寄生电容,为了更好地保证振荡器可靠地工作和稳定行,其电路图如图3-2所示。 图3-2 时钟电路 用晶振和电容构成谐振电路。电容 C1 、C4 容量在 15~40pF 之间,大小与晶振频率和工作 电压有关。但电容的大小影响振荡器的稳定性和起振的快速性,为了提高精度,本实验板采 用 22pF 的电容作为微调电容。在设计电路板时,晶振、电容等均应尽可能靠近芯片,以减 小分布电容,保证振荡器振荡的稳定性。 2.复位电路 复位是单片机的初始化操作,其主要功能是使单片机从 0000H 单元开始执行程序。除了进 入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱 困境也需按复位键以重新启动。STC89C51 芯片内部有复位电路,RST 引脚是复位信号的输 入端高电平有效,复位方式有自动复位和手动复位两种。 计算机在启动运行时都需要复位,复位时使中央处理器CPU和内部其他部件处于一个确定的初始状态,从这个状态开始工作。 STC89C51单片机有一个复位引脚RST,高电平有效。在时钟电路工作以后,当外部电路使得RST端出现两个机器周期(24个时钟周期)以上的高电平,系统内部复位。复位有两种方式:上电复位和按钮复位。在此次的设计中,我采用按键复位,其电路图如图3-3所示。 图3-3复位电路 只要RST保持高电平,STC89C51单片机将循环复位。复位期间,ALE、PSEN输出高电平。RST从高电平变为低电平后,PC指针变为0000H,使单片机从程序存储器地址为0000H的单元开始执行程序。复位后,内容各寄存器初始化,当单片机执行程序出错或进入死循环时,可按复位按钮重新启动。 3.3 独立键盘电路 键盘是人与STC89C51单片机联系的重要手段,用于向CPU输入运行参数,控制系统的运行状态。 由八个独立按键来控制八个发光二极管的亮灭,八位独立按键的操作输入单片机,通过编程实现对LED的控制电路图如下图3-4示。 图3-4 独立按键和发光二极管电路 3.4 DS18B20数字温度转换电路 DALLASDS18B20DS18B20DS18B20DS18B20120.512750–55°C ~+125°C (–67°F ~+257°F) EEPROM64ROM 图3-5 DS18B20温度转换电路 3.5 电源电路 电源(Vcc)是整个开发板正常工作的动力源泉。电源电压过大会大大缩短芯片的工作寿命,严重的会烧毁芯片及其它元器件;过小将不能驱动实验板工作电路。因此设定合适的电源电压值非常重要。此开发板主要芯片工作电压均+5V左右, 开发板的电源电路如图3-6所示。 图3-6 电源电路 3.6 LCD1602液晶显示电路 显示器件是开发板中普遍使用的输出器件,较常用的是LED数码管和LCD液晶显示器。前者仅能显示数据输出,而后者能显示更多,更复杂的字符,如汉字,甚至是图形等。此开发板采用1602液晶显示器作为输出显示器件。 1602液晶引脚特性:该液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在各类仪表和低功耗系统中得到广泛的应用。根据显示内容可以分为字符型液晶,图形液晶。根据显示容量又可以分为单行16字,2行16字,两行20字等等。这里介绍常用的字16字X2行的字符型液晶模块的使用方法。这是一种通用模块。与数码管相比该模块有如下优点: (1)位数多,可显示32位,32个数码管体积相当庞大了。 (2)显示内容丰富,可显示所有数字和大、小写字母。 (3)程序简单,如果用数码管动态显示,会占用很多时间来刷新显示,而1602自动完成此功能。开发板液晶显示电路如图3-7所示。 图3-7 LCD液晶显示电路 第4章 电路PCB的制作 在任何开关电源设计中,PCB板的物理设计都是最后一个环节,如果设计方法不当,PCB可能会辐射过多的电磁干扰,造成电源工作不稳定,以下针对各个步骤中所需注意的事项进行分析。 4.1电路原理图设计 电路原理图设计本着连线简洁各功能模块清晰的设计思路设计。因为后期要设计PCB电路板,因此要为每一个元件选择和设计合适的封装,必要的时候要添加自己特有元件的封装库。 4.2 PCB电路板元件布局与走线设计 在硬件设计完成之后可以说最关键的应该是PCB板的设计,因为理论的东西无论讲解的多详细,指导的多全面,也不及实物摆放出来更具说服力。要完成从理论到实际的升华就要设计PCB印制版图。 PCB设计注意事项: 由于开关稳压电源工作在高频开关状态,而且高频变压器初级侧有高达300V 的直流电压,在功率开关管的集电极甚至有700V的瞬间高电压,因此在设计PCB板时要考虑电磁干扰问题和安全问题,主要应该注意PCB引线尽量短,功率输出部分引线尽量宽,甚至要加焊锡条,高压元件应该有足够的间距保证安全,在这套电路中既有模拟电路又有数字电路,这两部分电路地线要分开连接,最后再接到一起,防止出现共地干扰。对于数字电路来说,时钟晶振应该尽量靠近单片机时钟脉冲输入引脚,防止引入干扰。最后就是要注意各个模块电路元件尽量集中,在放置元件时应遵守先放置单元电路中的主要元件,一般是集成电路或体积较大,对整体电路影响较大的元件,然后根据小单元电路放置外围元件,以保证对其它电路影响尽量小,引线尽量短的原则。 在进行PCB板设计之前还要检查一下每个元件是否都有封装,封装是否正确,是否符合要求,对于没有封装的元件和封装不符合要求的元件要重新绘制封装,直到所有元件封装都正确为止。 4.3 PCB板整体设计 (1)从原理图到PCB的设计流程:建立组件参数→输入原理网表→设计参数设置→手动布局→手动布线→检查错误→输出。 (2)参数设置相邻导线间距必须能满足电气安全要求,而且为了便于操作和生产,间距也应尽量宽些。最小间距至少要能适合承受的电压,在布线密度较低时,信号线的间距可适当地加大,对高、低电平悬殊的信号线应尽可能地短且加大间距,一般情况下将走线间距设为8mil。焊盘内孔边缘到印制板边的距离要大于1mm,这样可以避免加工时导致焊盘缺损。当与焊盘连接的走线较细时,要将焊盘与走线之间的连接设计成水滴状,这样的好处是焊盘不容易起皮,而且走线与焊盘不易断开。 (3)元器件布局实践证明,即使电路原理图设计正确,印制电路板设计不当,也会对电子设备的可靠性产生不利影响。例如,如果印制板两条细并行线靠得很近,则会形成信号波形的延迟,在传输线的终端形成反射噪声;由于电源、地线的考虑不周到而引起的干扰,会使产品的性能下降,因此,在设计印制电路板的时候,应注意采用正确的方法。 (4)设计布线图时走线尽量少拐弯,印刷弧上的线宽不要突变,导线拐角应≥90度,力求线条简单明了。印刷电路中不允许有交叉电路,对于可能交叉的线条,可以用“钻”、“绕”两种办法解决。即让某引线从别的电阻、电容、三极管脚下的空隙处“钻”过去,或从可能交叉的某条引线的一端“绕”过去,在特殊情况下如果电路很复杂,为简化设计也允许用导线跨接,解决交叉电路问题。因采用单面板,直插组件位于top面,表贴器件位于bottom面,所以在布局的时候直插器件可与表贴器件交迭,但要避免焊盘重迭。 (5)检查布线设计完成后,需认真检查布线设计是否符合开始所制定的规则,同时也需确认所制定的规则是否符合印制板生产工艺的需求,一般检查线与线、线与组件焊盘、线与贯通孔、组件焊盘与贯通孔、贯通孔与贯通孔之间的距离是否合理,是否满足生产要求。 电源线和地线的宽度是否合适,在PCB中是否还有能让地线加宽的地方。 注意:有些错误可以忽略,例如有些接插件的Outline的一部分放在了板框外,检查间距时会出错;另外每次修改过走线和过孔之后,都要重新覆铜一次。 (6)复查根据“PCB检查表”,内容包括设计规则,层定义、线宽、间距、焊盘、过孔设置,还要重点复查器件布局的合理性,电源、地线网络的走线,高速时钟网络的走线与屏蔽,去耦电容的摆放和连接等。 (7)封闭的物理边框对以后的元件布局、走线来说是个基本平台,也对自动布局起着约束作用,否则,从原理图过来的元件会不知所措的。但这里一定要注意精确,否则以后出现安装问题麻烦可就大了。还有就是拐角地方最好用圆弧,一方面可以避免尖角划伤工人,同时又可以减轻应力作用。 4.4 PCB板具体参数设置的依据 (1)模拟地线宽度较宽,因其通过电流较大,同时减小干扰 (2)线间距设置较大,主要考虑到设计好的PCB板要手工腐蚀和打孔,精度没有交给PCB厂家做的高,防止腐蚀不好造成短路,线宽也较宽,主要防止腐蚀过程造成断线,而且线间距宽一些也可防止干扰的产生。 (3)设计为单层板,限于实际条件的限制,只有单面覆铜箔PCB电路板。因此设计时只采用底层走线,但是由于元件与元件之间有空隙,可在顶层走一些跳线,这样可减小底层布线难度。 (4)布线拐角设置成45度,主要是为了防止过度腐蚀或腐蚀不够情况出现,还有防止铜箔剥落。 (5)过孔和焊盘都比默认值大,主要是考虑到焊盘过小在手工制作PCB电路板打孔时容易损坏焊盘,造成PCB板报废。还有个别的元件本身引脚就比较粗,例如功率开关变压器二次侧整流二极管HER307其引脚直径达到了1.5mm。 图4-4 PCB 第5章 结 论 通过本次基于单片机的实验开发板系统的课程设计,在这过程中,我学到了很多,加深了对单片内部模块的理解,进一步学习了汇编语言的编写规则。 从设计开始到最终完成设计,一点一滴积累,在实践中成长,在挫折中前进。在设计的前期,我系统的学习了51单片机的相关资料,掌握了单片机外部电路的合理设计以及各个引脚的功能。系统的进行了开发板的需求分析,合理的设计出了电路原理框图,根据原理框图设计出电路原理图,针对使用的单片机引脚,对单片机使用汇编语言编程。这一步一步的不断努力,让我学到了很多在书本上学不到的东西,尤其是在处理故障和电路兼容方面的考虑,都使我受益颇多。 在这里课程设计中,我深深感受到实践的重要性,它是检验我们所学知识的有效途径。没有付出,就没有回报。在这过程中也遇到过一些难题,经过自身的努力以及向老师和同学请教,我学到很多,也解决了很多问题。 最后,我深刻感受到要做好一个课程设计,就必须做到:在设计程序之前,对所需资料的综合整理,有效的挑选资料;要明确目标,整理思路;合理设计出系统所必须的流程图,做好充分的心里准备。这次设计是对我所学单片机一书的综合考验,使我能查漏补缺,复习课本知识,加深理解记忆,所以每一步我都用心去做。 参考文献 [1] 李广弟,朱月秀,王秀山.单片机基础[M]. 北京:北京航空航天大学出版社,2001 [2] 求是科技, 靳达.单片机应用系统开发实例导航[M]. 北京:人民邮电出版社,2003 [3] 何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:北京航空航天大学出版社,1999 [4] 胡汉才.单片机原理及其接口技术(第2版)[M].北京:清华大学出版社,2004 [5] 沈红卫. 基于单片机的智能系统设计与实现[M].北京:电子工业出版社,2005.1 [6] 黄继昌.检测专用集成电路及其应用[M].北京: 人民邮电出版社,2006 [7] 张克彦.AVR单片机实用程序设计[M].北京: 北京航空航天大学出版社,2004.2 [8] 耿德根.AVR嵌入式单片机原理与应用[M].北京: 北京航空航天大学出版社,2002.10 [9] 林志奇,郎建军,李会杰.基于Proteus的单片机可视化软硬件仿真[M].北京:北京航空航天大学出版社,2006 [10] 刘海成.AVR单片机原理及测控工程应用[M].北京:北京航空航天大学出版社,2008 [11] 康万新.毕业设计指导及案例剖析应用电子技术方向[M].北京:清华大学出版社,2007 [12] 郭天祥.51单片机C语言教程.电子工业出版社出版.2011.8 [13] 李秀忠.单片机应用技术(汇编语言). 中国劳动社会保障出版社.2010.7 附 录1 设计实物图照片: 附 录2 DS18B20参考程序: bit RST_DQ ()//DQ总线复位 { bit flag; DQ = 1; delayus (8); DQ = 0; delayus (90); DQ = 1; _nop_(); _nop_(); if (DQ) { flag = 1; } delayus (100); DQ = 1; return flag; } void write_ds18b20 (uchar date)//写数据写指令 { uchar i,ii=0x01; for (i=0;i<8;i++) { DQ = 0; DQ = date&ii; delayus (5); DQ = 1; delayus (2); ii*=2; } } int read_ds18b20 ()//读数据 { char i; int ii; DQ =1; delayus (1); for (i=0;i<12;i++) { DQ = 0; _nop_(); _nop_(); ii>>=1; DQ = 1; _nop_(); _nop_(); if (DQ) { ii|=0x0800; } delayus (30); DQ = 1; } return ii; } void temperature () { int a,count; RST_DQ (); write_ds18b20 (0xcc);//跳过ROM write_ds18b20 (0x44);//温度转换 delayus (150); RST_DQ (); write_ds18b20 (0xcc); write_ds18b20 (0xbe);//读RAM count = read_ds18b20 ();//读取温度 RST_DQ (); write_com(0xca); if(count&0x0800) { write_date('-');a=(int)((float)(4096-count)*10/16*10);//负温度 } else { write_date (' '); a=(int)((float)(count)*10/16*10);//正温度保留2位小数 } if(a/10000) { write_date(a/10000+'0'); } write_date(a/1000%10+'0'); write_date(a/100%10+'0'); write_date('.'); write_date(a/10%10+'0'); write_date(a%10+'0'); write_date(0xdf); write_date('C'); } 附 录3 LCD1602参考程序: void write_com (uchar com)//LCD写指令 { LCD_RS = 0; IO = com; delay (5); LCD_EN = 1; delay (5); LCD_EN = 0; } void write_date (uchar date)//LCD写数据 { LCD_RS = 1; IO = date; delay (5); LCD_EN = 1; delay (5); LCD_EN = 0; } void inti ()//LCD初始化 { uchar number; LCD_EN=0; write_com (0x38);//两行显示 write_com (0x0c);//开显示 write_com (0x06);//光标移动位右移 write_com (0x01);//清屏 write_com (0x80);//显示数据存储器的地址为00即从第一行第一个开始显示 for (number=0;number<12;number++) { delay (5); write_date (time[number]) ; } write_com (0x80+0x40); for (number=0;number<16;number++) { delay (5); write_date (tmp_speed[number]); } }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服