




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目 录第一章 设计任务及要求11.1 设计任务11.2 设计基本要求1第二章 设计原理22.1 STC12C5A60S2以及最小系统介绍22.2 LCD1602液晶显示模块42.2.1 1602液晶概述42.2.2 1602引脚介绍42.2.3 1602字符液晶使用方法52.3 DS12C887时钟芯片62.3.1 DS12C887概述62.3.2 DS12C887引脚介绍72.3.3 DS12C887内部地址空间82.4 DS18B20温度传感器82.5 HS0038红外接收头9第三章 硬件设计103.1 系统工作原理图103.2 LCD1602模块电路设计103.3 DS12C887模块电
2、路设计113.4 DS18B20模块电路设计123.5 遥控接收模块电路设计123.6 流水灯模块12第四章 软件设计134.1 系统程序流程图134.2 LCD1602模块子程序设计154.3 DS12C887模块子程序设计214.4 DS18B20模块子程序设计244.5 遥控接收模块子程序设计284.6 流水灯模块子程序设计32第五章 总结34参考文献34附录I 电路原理图35附录II 元器件清单36附录III 程序运行实物图36第一章 设计任务及要求1.1 设计任务a) 设计实现功能STC12C5A60S2(引脚排序及基本功能同AT89S51)作为主控芯片,设计利用LCD1602显示时
3、间、温度和遥控接收电路,并使发光二级管循环点亮。一是扩展DS12C887外围电路,实现时间信息显示;二是DS18B20温度信息显示的设计;三是利用遥控器设置参数,控制发光二级管循环点亮的速度。b) 原理图设计1.原理图设计要符合项目的工作原理,连线要正确。2.图中所使用的元器件要合理选用,电阻、电容等器件的参数要正确标明。3.原理图要完整,CPU、外围器件、外扩接口、输入/输出装置要一应俱全。c) 程序调计1.根据要求,将总体功能分解成若干个子功能模块,每个功能模块完成一个特定的功能。2.根据总体要求及分解的功能模块,确定各功能模块之间的关系,设计出完整的程序流程图。d) 程序调试1.编写相关
4、程序,并进行仿真。2.将程序下载到单片机,进行运行调试。e) 设计说明书1.原理图设计说明简要说明设计目的,原理图中所使用的元器件功能及在图中的作用,各器件的工作过程及顺序。2.程序设计说明对程序设计总体功能及结构进行说明,对各子模块的功能以及各子模块之间的关系作较详细的描述。3.画出工作原理图,程序流程图并给出相应的程序清单。1.2 设计基本要求1.认真认识设计的意义,掌握设计工作程序,学会使用工具书和技术参考资料,并培养科学的设计思想和良好的设计作风。2.提高模型建立和设计能力,学会应用相关设计资料进行设计计算的方法。3.提高独立分析、解决问题的能力,逐步增强实际应用训练。4.设计的说明书
5、要求简洁、通顺,电路图内容完整、清楚、规范。第二章 设计原理2.1 STC12C5A60S2以及最小系统介绍STC12C5A60S2是一种带4K字节闪烁可编程可擦除只读存储器(FPEROMFalsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图2.1 ST
6、C12C5A60S2引脚图管脚说明:VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须接上拉电阻。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P
7、1口作为低八位地址接收。 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门电流
8、。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为AT89C51的一些特殊功能口,如表2.1所示:表2.1 P3口第二功能表P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储
9、器时,地址锁存允许的输出电平用于锁存地址的低位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效
10、的/PSEN信号将不出现。 EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2 LCD1602液晶显示模块2.2.1 1602液晶概述工业字符型液晶,1602是指显示的内容为16*2,即能够同时显示两行,每行16个字符。常见的1602字符液晶有两种,一种显示的是绿色背光黑色字体
11、,另一种显示蓝色背光白色字体,目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的。本课题所用1602液晶模块,显示屏是蓝色背光白色字体。2.2.2 1602引脚介绍图2.2.2 1602引脚图编号符号引脚说明编号符号引脚说明1VSS电源地2VDD电源正极3VEE液晶显示对比度调节端4RS数据/命令选择端5R/W读写选择6E使能信号7D0数据口8D1数据口9D2数据口10D3数据口11D4数据口12D5数据口13D6数据口14D7数据口各个引脚具体功能说明:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱
12、,接地电源时对比度最高,对比度过高时会产生重影,使用一个1K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:DB0DB7为8位双向数据线。2.2.3 1602字符液晶使用方法(1)基本操作时序操作输入输出读状态RSL,RWH,EHD0D7状态字写指令RSL,RWL,D0D7指令码,E高脉冲无读数据RSH,RWH,EHD0D7数据写数据RSH,RWL,D0D7数据,E高脉冲无(2)RAM1602液晶控制
13、器芯片内部带有80个8位的RAM缓冲区,其地址和屏幕的对应关系如下图所示(3)1602字符液晶字库1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” 。2.3 DS12C887时钟芯片2.3.1 DS12C887概述DS12C887实时时钟芯片功能丰富,可以用来直接代替IBM PC上的时钟日历芯片DS12887,同时,
14、它的管脚也和MC146818B、DS12887相兼容。 由于DS12C887能够自动产生世纪、年、月、日、时、分、秒等时间信息,其内部又增加了世纪寄存器,从而利用硬件电路解决子“千年”问题; DS12C887自带有锂电池,外部掉电时,其内部时间信息还能够保持10年之久;对于一天内的时间记录,有12小时制和24小时制两种模式。在12小时制模式中,用AM和PM区分上午和下午;时间的表示方法也有两种,一种用二进制数表示,一种是用BCD码表示;DS12C887中带有128字节 RAM,其中有11字节RAM用来存储时间信息,4字节RAM用来存储DS12C887的控制信息,称为控制寄存器,113字节通用R
15、AM使用户使用;此外用户还可对DS12C887进行编程以实现多种方波输出,并可对其内部的三路中断通过软件进行屏蔽。2.3.2 DS12C887引脚介绍管脚说明:GND、VCC:直流电源,其中VCC接+5V输入,GND接地,当VCC输入为+5V时,用 户可以访问DS12C887内RAM中的数据,并可对其进行读、写操作;当VCC的输入小于+4.25V时,禁止用户对内部RAM进行读、写操作,此时用户不能正确获取芯片内的时间信息;当VCC的输入小于+3V时,DS12C887会自动将电源发换到内部自带的锂电池上,以保证内部的电路能够正常工作。(1)MOT:模式选择脚,DS12C887有两种工作模式,即M
16、otorola模式和Intel模式,当MOT接VCC时,选用的工作模式是Motorola模式,当MOT接GND时,选用的是Intel模式。本文主要讨论Intel模式。(23)SQW:方波输出脚,当供电电压VCC大于4.25V时,SQW脚可进行方波输出,此时用户可以通过对控制寄存器编程来得到13种方波信号的输出。AD0AD7:复用地址数据总线,该总线采用时分复用技术,在总线周期的前半部分,出现在AD0AD7上的是地址信息,可用以选通DS12C887内的RAM,总线周期的后半部分出现在AD0AD7上的数据信息。(14)AS:地址选通输入脚,在进行读写操作时,AS的上升沿将AD0AD7上出现的地址信
17、息锁存到DS12C887上,而下一个下降沿清除AD0AD7上的地址信息,不论是否有效,DS12C887都将执行该操作。(17)DS/RD:数据选择或读输入脚,该引脚有两种工作模式。当MOT接VCC时,选用Motorola工作模式;当MOT接GND时,选用Intel工作模式。(15)R/W:读/写输入端,该管脚也有2种工作模式,当MOT接VCC时,R/W工作在Motorola模式。此时,该引脚的作用是区分进行的是读操作还是写操作,当R/W为高电平时为读操作,R/W为低电平时为写操作;当MOT接GND时,该脚工作在Intel模式,此时该作为写允许输入,即Write Enable。(13)CS:片选
18、输入,低电平有效。(19)IRQ:中断请求输入,低电平有效,该脚有效对DS12C887内的时钟、日历和RAM中的内容没有任何影响,仅对内部的控制寄存器有影响,在典型的应用中,RESET可以直接接VCC,这样可以保证DS12C887在掉电时,其内部控制寄存器不受影响。2.3.3 DS12C887内部地址空间2.4 DS18B20温度传感器DS18B20、 DS1822 “一线总线”数字化温度传感器是DALLAS最新单线数字温度传感器,同DS1820一样,DS18B20也 支持“一线总线”接口,测量温度范围为 -55°C+125°C,在-10+85°C范围内,精度为&
19、#177;0.5°C。DS1822的精度较差为± 2°C 。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。GND:为电源地;DQ:为数字信号输入/输出端;VDD:为外接供电电源输入端(在寄生电源接线方式时接地)2.5 HS0038红外接收头一体化的红外接收装置将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本系
20、统中我们采用红外一体化接收头HS0038。HS0038黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35 m。它能与TTL、COMS电路兼容。HS0038为直立侧面收光型。它接收红外信号频率为38 kHz,周期约26 µs,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。随着家用电器、视听产品的普及,自动化办公设备的广泛应用和网络化的不断发展,越来越多的产品具有了待机功能(如遥控开关、网络唤醒、定时开关、智能开关等)。产品的待机功能实现遥控操作,极大地方便了我们的生活。在家庭或工业控制现场,一些手
21、动操作不太方便的场合,可以使用现有遥控器通过设置代替手动操作,比如可以利用家中现有的彩电遥控器,控制其它没有遥控功能的电器(如电灯、计算机、音响、电脑、打印机、饮水机、热水器等),方便生活。GND:为电源地;Vs:为外接供电电源输入端OUT:为红外接收信号输出端;第三章 硬件设计3.1 系统工作原理图STC12C5A60S2单片机DS12C887时钟芯片DS18B20温度传感 器HS0038红外接收头信息遥控信息时间信息温度遥控信息时间温度信息流速LCD1602液晶显示锁存器和流水灯3.2 LCD1602模块电路设计其中,LCD1602的D0D7引脚分别与单片机的P0.0P0.7相连,RS引脚
22、与单片机P2.0相连,R/W引脚与单片机P2.1相连,E引脚通过3个与非门与单片机P2.7、WR和RD引脚相连。电位器VR1的作用是调节液晶显示的亮度。3.3 DS12C887模块电路设计其中,DS12887的AD0AD7引脚分别与单片机的P0.0P0.7相连,R/W引脚与单片机WR相连,DS引脚与单片机RD引脚相连,AS引脚与单片机ALE引脚相连,CS引脚与单片机P2.6引脚相连。3.4 DS18B20模块电路设计3.5 遥控接收模块电路设计3.6 流水灯模块其中,八个二极管的阳极通过470欧的排阻与VCC相连,阴极接到锁存器74LS573的输出端,锁存器的输入端接单片机的P0口,OC端接地
23、,锁存端C通过几个逻辑门接到单片机P2.5口和WR端。第四章 软件设计4.1 系统程序流程图否是DS12C887时间设置主函数开始定时器、外部中断初始化LCD1602液晶初始化DS12C887初始化是否需要修正时间否是DS18B20初始化DS18B20温度信息显示时间更新是否完毕DS12C887时间信息显示图4.1.1 主函数程序流程图否是定时器0中断函数开始TH0、TL0赋初值流水灯是否应该流动流水灯循环移位结 束 图4.1.2 定时器0中断函数程序流程图否是外部中断0中断函数开始关闭定时器1是否为遥控起始信号定时器1初始化读回TH1的值给TH1、TL1清0启动定时器1 结 束图4.1.3
24、外部中断0中断函数程序流程图否是定时器1中断函数开始关闭定时器1是否为真正的遥控信号处理遥控信息显示遥控码检测第几个按键按下修改控制流速变量的值 结 束 图4.1.4 定时器1中断函数程序流程图4.2 LCD1602模块子程序设计/*定义及子程序的声明*/* 液晶12864口地址 */#define wr_com XBYTE0xC000 /写命令 #define wr_data XBYTE0xC100 /写数据 #define rd_com XBYTE0xC200 /读命令 #define rd_data XBYTE0xC300 /读数据/* 子程序声明 */void write_cmd(BY
25、TE cmd);void write_data(BYTE dat);void write_string(BYTE *s);void set_display_place(BYTE line,column);void write_string_lcd(BYTE line,column,unsigned char *string);void write_data_lcd(BYTE line,column,dat);void lcd_init(void);void crti(unsigned long dat);void crt_r(float x,unsigned char N);void Dela
26、y(WORD n);/*Function name: write_cmd Descriptions: 向lcd输入指令 */void write_cmd(BYTE cmd) BYTE dl;do dl=rd_com; while(dl&0x80)!=0);/判忙 wr_com= cmd; Delay(1);/*Function name: write_data Descriptions: 写入数据 */void write_data(BYTE dat)BYTE dl;do dl=rd_com; while(dl&0x80)!=0);/判忙 wr_data= dat; Delay
27、(1);/*Function name: write_string Descriptions: 写入字符串 */void write_string(BYTE *s) while(*s != '0') /'0'为字符串结束标志 write_data(*s); s+; /*Function name: set_display_placeDescriptions: 设置字符的显示位置 */void set_display_place(BYTE line,column) BYTE address; if(line = 1) address = 0x80 + column
28、; else if(line = 2) address = 0xc0 + column; write_cmd(address); /*Function name: 将字符串写到指定的位置 Descriptions: 将字符串显示在lcd的特定位置 */void write_string_lcd(BYTE line,column,unsigned char *string) set_display_place(line,column); write_string(string); Delay(1);/*Function name: 将字符写到指定的位置 Descriptions: 将字符串显示在
29、lcd的特定位置 */void write_data_lcd(BYTE line,column,dat) set_display_place(line,column); write_data(dat); Delay(1);/*液晶模块初始化*/void lcd_init(void) write_cmd(0x38);/ write_cmd(0x38);/ write_cmd(0x06);/ write_cmd(0x0c);/ write_cmd(0x01);/*显示长整型数据*/void crti(unsigned long dat) BYTE dhi,dli,ddi,dei;unsigned
30、long datah;unsigned long datal;datah=dat;dhi=0;if (datah>=10)dodatah/=10;dhi+;while(datah>=10);datah=dat;ddi=dhi;for (dli=0;dli<dhi;dli+)datal=1;for (dei=0;dei<ddi;dei+)datal*=10;datah=dat/datal;dat=dat%datal;datah+=0x30;write_data(datah);ddi-;dat+=0x30;write_data(dat);elsedat=dat+0x30;w
31、rite_data(dat);/*浮点数显示*/void crt_r(float x,unsigned char N) BYTE dli; unsigned int dath; unsigned int datl; unsigned int dat; if (x<0.0) dat=0x2d;write_data(dat);Delay(1);x=fabs(x); dath=(int)x; crti(dath); if (N>0) dat=0x2e; write_data(dat); Delay(1); dat=1; for (dli=0;dli<N;dli+) dat*=10;
32、 dath=(int)(x*dat)-dath*dat; for (dli=1;dli<N;dli+) dat /= 10; datl=dath/dat;datl += 0x30;write_data(datl);dath %= dat; crti(dath); /*延迟函数*/void Delay(WORD n) WORD x;while(n-) x=500;while(x-);4.3 DS12C887模块子程序设计/*定义及子程序的声明*/* DS12887口地址 */ #define DS_A XBYTE0x100A /寄存器 #define DS_B XBYTE0x100B /寄
33、存器 #define DS_C XBYTE0x100C /寄存器 #define Years XBYTE0x1009 /年 #define Month XBYTE0x1008 /月 #define Day XBYTE0x1007 /日 #define Week XBYTE0x1006 /星期 #define Hour XBYTE0x1004 /时 #define Minute XBYTE0x1002 /分 #define Second XBYTE0x1000 /秒 /* 子程序声明 */void DS_init();void crt_time(BYTE line);void write_tim
34、e(); /*DS12887初始化程序*/void DS_init() DS_A=0x20;DS_B=0x12; /* 显示时间 */void crt_time(BYTE line) BYTE dhi,dli;set_display_place(line,0);dli=Month;dhi=dli & 0xf0; dhi>>=4;dhi+=0x30;dli &=0x0f;dli +=0x30;write_data(dhi);write_data(dli);dli=0x2d;write_data(dli);dli=Day;dhi=dli & 0xf0; dhi&
35、gt;>=4;dhi+=0x30;dli &=0x0f;dli +=0x30;write_data(dhi);write_data(dli);dli=0x20;write_data(dli);write_data(dli);write_data(dli);dli=Hour;dhi=dli & 0xf0; dhi>>=4;dhi+=0x30;dli &=0x0f;dli +=0x30;write_data(dhi);write_data(dli);dli=0x3a;write_data(dli);dli=Minute;dhi=dli & 0xf0
36、; dhi>>=4;dhi+=0x30;dli &=0x0f;dli +=0x30;write_data(dhi);write_data(dli);dli=0x3a;write_data(dli);dli=Second;dhi=dli & 0xf0; dhi>>=4;dhi+=0x30;dli &=0x0f;dli +=0x30;write_data(dhi);write_data(dli); /* DS12887时间设置 */void write_time() DS_A=0x2f; /寄存器DS_B|=0x80; Years=0x13; /年
37、Month=0x12; /月 Day=0x30; /日 Week=0x01; /星期 Hour=0x16; /时 Minute=0x24; /分 Second=0x00; /秒 DS_B &=0x7f; /寄存器 4.4 DS18B20模块子程序设计/*定义及子程序的声明*/sbit DS1820_DQ= P17; /单总线引脚BYTE ah,al;char temperature2; /存放温度数据float wen_val;/* 子程序声明 */void DS18B20_Init();bit DS1820_Reset();void DS1820_WriteData(BYTE wDa
38、ta);BYTE DS1820_ReadData();void DelayXus(WORD n);void read_wendu();void crt_wendu(BYTE line,column);/*DS18B20 初始化 *函数名称:DS1820_WriteData() *说明:本初始化程序可以不要,因为18B20 在出厂时就被配置为12 位精度了 */void DS18B20_Init()DS1820_Reset();DS1820_WriteData(0xCC); / 跳过ROM DS1820_WriteData(0x4E); / 写暂存器 DS1820_WriteData(0x20)
39、; / 往暂存器的第三字节中写上限值 DS1820_WriteData(0x00); / 往暂存器的第四字节中写下限值 DS1820_WriteData(0x7F); / 将配置寄存器配置为12 位精度 DS1820_Reset();/*DS1820 复位及存在检测(通过存在脉冲可以判断DS1820 是否损坏) *函数名称:DS1820_Reset() *说明:函数返回一个位标量(0 或1)flag=0 存在,反之flag=1 不存在 */bit DS1820_Reset()bit flag;DS1820_DQ = 0; /拉低总线 DelayXus(480); /延时480 微秒,产生复位脉
40、冲 DS1820_DQ = 1; /释放总线 DelayXus(80); /延时80 微秒对总线采样 flag = DS1820_DQ; /对数据脚采样 DelayXus(400); /延时400 微秒等待总线恢复 return (flag); /根据flag 的值可知DS1820 是否存在或损坏 ,可加声音告警提示DS1820 故障 /*写数据到DS1820*函数名称:DS1820_WriteData()*/void DS1820_WriteData(BYTE wData)BYTE i;for (i=8;i>0;i-)DS1820_DQ = 0; /拉低总线,产生写信号 DelayXu
41、s(4); /延时4us DS1820_DQ = wData&0x01; /发送1 位 DelayXus(60); /延时60us,写时序至少要60us DS1820_DQ = 1; /释放总线,等待总线恢复 wData>>=1; /准备下一位数据的传送 /*从DS1820 中读出数据*函数名称:DS1820_ReadData()*/BYTE DS1820_ReadData()BYTE i,TmepData;for (i=8;i>0;i-)TmepData>>=1;DS1820_DQ = 0; /拉低总线,产生读信号 DelayXus(4); /延时4us DS1820_DQ = 1; /释放总线,准备读数据 DelayXus(8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单招畜牧考试题及答案
- 云南财经大学招聘考试真题2024
- 中国润滑材料项目创业计划书
- 大学灯光考试题及答案
- 大队委选举考试题及答案
- 刺灸理论考试题及答案
- 商场租赁协议书
- 中国硫化海绵橡胶制机器及仪器用零件项目创业计划书
- 2025担保公司借款合同模板参考
- 回流焊考试试题及答案
- 2025年国家公务员录用考试《行测》真题及完整答案详解(历年真题)
- 行政复议案件知识培训课件
- 2025至2030特种运输行业市场发展分析及前景趋势与行业项目调研及市场前景预测评估报告
- 托管加盟合同(标准版)
- 2025年事业单位考试时事政治试题带解析及答案【考点梳理】
- 2025年果园租赁的合同范本
- 山东省东营市垦利区(五四制)2024-2025学年六年级下学期7月期末考试历史试卷(含答案)
- 计算机(第8版)网络2025模拟试卷核心考点考研考核试卷
- 清新福建魅力八闽课件
- 纤支镜吸痰护理规范
- (正式版)DB61∕T 5078-2023 《体育建筑工艺设计标准》
评论
0/150
提交评论