冷却水温度电控系统设计及仿真课程设计说明书.doc

上传人:PIYPING 文档编号:11224431 上传时间:2021-07-15 格式:DOC 页数:33 大小:515.72KB
返回 下载 相关 举报
冷却水温度电控系统设计及仿真课程设计说明书.doc_第1页
第1页 / 共33页
冷却水温度电控系统设计及仿真课程设计说明书.doc_第2页
第2页 / 共33页
冷却水温度电控系统设计及仿真课程设计说明书.doc_第3页
第3页 / 共33页
冷却水温度电控系统设计及仿真课程设计说明书.doc_第4页
第4页 / 共33页
冷却水温度电控系统设计及仿真课程设计说明书.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《冷却水温度电控系统设计及仿真课程设计说明书.doc》由会员分享,可在线阅读,更多相关《冷却水温度电控系统设计及仿真课程设计说明书.doc(33页珍藏版)》请在三一文库上搜索。

1、交通与汽车工程学院课程设计说明书课 程 名 称: 汽车电控系统实习及课程设计 课 程 代 码: 106010319 题 目: 冷却水温度电控系统设计及仿真 年级/专业/班: 2012级车辆工程汽电一班 学 生 姓 名: 陈 宇 学 生 学 号: 312012080306426 开 始 时 间: 年 月 日完 成 时 间: 年 月 日课程设计成绩: 学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书(计算书、图纸、分析报告)撰写质量(45)总 分(100)指导教师签名: 年 月 日 西华大学课程设计目 录1 引 言41.1设计背景41.2任务与分析41.3设计内容及性能指标5

2、水温控制精度752方案设计521系统方案设计论证52.1.1系统的控制方案设计52.1.2 最终设计方案52.2最终设计方案总体设计框图73系统硬件设计731硬件设计方案论证7311单片机选型7312温度传感器选型9313显示方案确定9314温度控制方案确定93.2硬件设计93.2.1单片机接口电路93.2.2温度信号的获取103.2.3显示电路的设计113.2.4报警电路的设计123.2.5温控电路的设计124软件程序的设计1341程序流程134.1.1主程序流程图:134.1.2显示子程序的流程图:154.1.3温控子程序的流程图: 16图4.3 温控子程序流程图165系统调试过程1651

3、keil调试165.2原理图和印制板图绘制和检查175.2.1 在Protel99se绘制原理图并进行相应的ERC检查175.3 Proteus仿真调试18附录一 程序源代码21附录二 电路原理图及PCB图30附录三 Proteus仿真截图3232摘 要本课题以AT89C51单片机系统为核心,对发动机冷却液的温度进行实时检测,并控制其温度在工作范围内。本设计包括温度采集模块,单片机核心控制模块,显示模块,冷却水控制模块四大部分。其中,发动机产生热量的功率是固定的40KW,温度采集用电阻式温度传感器DS18B20对冷却水温度进行检测;DS18B20为数字式温度传感器,无须进行AD转换就可被单片机

4、读取,采用单片机作为核心对温度值进行处理并在数码管上显示;根据反馈调节来控制冷却水用量,引入了“挡位”的干扰因素。系统采用模块化的设计方法,使设计简单,协调得当。关键词: AT89C51 DS18B20温度检测 冷却水用量调节 反馈调节abstractThis paper takes AT89C51 SCM system as the core, real-time detection of the engine coolant temperature and control the temperature in the working range. The design includes t

5、he temperature acquisition module, MCU control module, display module, cooling water control module four parts. Among them, the power generated heat engine is fixed 40KW, temperature acquisition to detect the temperature of the cooling water resistance type temperature sensor DS18B20; DS18B20 digita

6、l temperature sensor, no AD conversion can be read, uses a microcontroller as the core of the temperature value for processing and display in the digital tube; according to the feedback regulation to control the cooling water, introduced the interference gear. The system adopts the module design met

7、hod, the design is simple and coordinated.Key words: AT89C51 DS18B20 temperature measurement Cooling water dosage adjustment Feedback regulation1 引 言1.1设计背景 在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等行业,可以说几乎%80的工业部门都不得不考虑着温度的因素。温度对于工业如此重要

8、,本次的任务就是设计一个冷却水温电控系统。1.2任务与分析冷却水温度电控系统,主要是水温传感器根据水温的变化产生变化的电信号,输送给ECU,通过系统处理、计算得到实际温度值,当温度过高时加大冷却水的输出量,温度低时减少冷却水输出量,通过LED显示系统报警并进行温度控制。设计的核心是以AT89C51单片机作为硬件电路的核心。先应在protell99se中绘制出原理图并作相应的ERC检查,检查无错误后,在相应地方用文本标出注释;其次根据设计思路确定出相应的程序设计方案,并选择最佳的方案,并在Keil软件里面进行程序的编写和调试;最后在程序调试无误后在Proteus中搭建虚拟的单片机仿真平台,并和K

9、eil实现联调,并在Proteus中实现仿真结果。在做这个控制系统之前,我们可以适当的将冷却水温系统进行简化,假设当冷却水与环境接触的时候,散热效率为100%,当高温度的冷却水经过空气热交换后将与空气等温,此系统我们假设降低1的水温,水泵所带动的冷却水流量为VW,当传感器感知的温度高于我们设置的温度时,根据其偏差值大小,对比我们假设的电机转速与冷却水流量之间的关系,根据PID计算得出占空比,并控制电机转速。从而调节冷却水温度。循环水量计算公式: 由公式可以得出,冷却水每降低1,需要散发4.187KJ/Kg.热量,所需要的循环水量为0.125L。1.3设计内容及性能指标 本文以AT89C51单片

10、机为核心,通过数字温度传感器对外界环境温度进行数据采集,从1 水温控制范围()70-852 水温控制响应速度20s3 水温控制精度74 水温显示精度25 水温显示刷新速度1.5s6 冷却液容积10L7 发动机散热需求QW(kJ/S)408 散热器散热能力满足9 水泵流量计算确定10 水泵效率0.7511 所有电机效率0.952方案设计 21系统方案设计论证2.1.1系统的控制方案设计方案1:以单片机AT89C51为核心,通过热电阻传感器产生模拟信号,放大,送入ADC0808进行模数转换,在送入单片机进行处理,引入干扰因素,模拟出冷却水温度的变化值和供水量,传感器的测量精度高,测量范围大,电路稍

11、复杂,程序相对简单。方案2:以单片机AT89C51为核心,通过DS18B20数字温度传感器检测冷却水出、入口温度,送入单片机处理,引入干扰因素,模拟出冷却水温度的变化值和供水量,电路相对简单,程序略微复杂,可操作性强。2.1.2 最终设计方案本方案以AT89C51单片机系统为核心,对单点的温度进行实时测量检测。并采用DS18B20数字温度传感器作为温度传感器,进行简单的反馈控制,对于温度信号的采集具有大范围、高精度的特点。在功能、性能、可操作性等方面都比较容易实现。选择方案2,设计汽车冷却水温控制系统。方案设计框图算法公式:2.2最终设计方案总体设计框图温度传感器LED灯报警控制冷却系统的电机

12、复位电路AT89C51单片机ADC0808时钟电路LED显示图2.1 系统总体设计框图当时钟电路的晶振产生外部振荡脉冲信号送入单片机时,单片机开始有条不紊地工作。AT89C51执行内部的程序,处理从DS18B20送来的信号,并输出到LED显示,并在超过安全阈值时通过单片机调节冷却水的输出量以降低冷却液温度。3系统硬件设计31硬件设计方案论证本方案发动机产生的热功率固定,以AT89C51单片机系统为核心,对发动机冷却液的输出量进行动态反馈调节。并采用DS18B20温度传感器,对于温度信号的采集具有大范围、高精度的特点。引入“挡位”的干扰因素影响冷却液的输出在功能、性能、可操作性等方面都有较大的提

13、升,具有更高的性价比。311单片机选型8031:此单片机为MCS-51系列的基本典型产品,其内部包括一个8位CPU、128个字节RAM,21个SFR,4个8位I/O口,2个16位定时/计数器。AT89C51:此单片机为ATMEL公司的51系列单片机,除具有MCS-51系列的基本功能外,增加了4K的flash闪存,并且具有6个中断源和一个UART串口。MCS-51内部RAM有128或256个字节的用户数据存储(不同的型号有分别),它们是用于存放执行的中间结果和过程数据的。MCS-51的数据存储器均可读写,部分单元还可以位寻址。 8051内部RAM共有256个单元,这256个单元共分为两部分。其一

14、是地址从00H7FH单元(共128个字节)为用户数据RAM。从80HFFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。从图1中可清楚地看出它们的结构分布。 在00H1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0R7来命名,我们常称这些寄存器为通用寄存器。 内部RAM的20H2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。位寻址区共有16个字节,128个位,位地址为00H7FH。从8031和AT89C51的对比中可以看出,AT89C51具有更高的性能,且不需要扩展程序存储器,使用方便,且具有flash闪存,可以方便的擦除和改写程序,故

15、本次设计采用AT89C51为控制芯片。AT89C51各端口功能:1、P0口作输出口用时,需加上拉电阻。2、P0口有复用功能。当对外部存储器进行读写操作时,P0口先是提供外部存储器的低8位地址,供外部存储器地址锁存器锁存,然后充当数据线,用于写出或读入数据。3、P1口、P2口只是普通IO口。4、P3口所有管脚运有特殊功能:P3.0-RXD,串行通信输入口,不使用串行通信功能时,可做普通IO口使用P3.1-TXD,串行通信输出口,不使用串行通信功能时,可做普通IO口使用P3.2-INT0,外部中断0输入口,不使用外部中断0功能时,可做普通IO口使用P3.3-INT1,外部中断1输入口,不使用外部中

16、断1功能时,可做普通IO口使用P3.4-T0,定时器0外部计数输入口,不使用定时器0外部计数功能时,可做普通IO口使用P3.5-T1,定时器1外部计数输入口,不使用定时器1外部计数功能时,可做普通IO口使用P3.6-WR,外部存储器写信号,不使用外部存储器写功能时,可做普通IO口使用P3.7-RD,外部存储器读信号,不使用外部存储器读功能时,可做普通IO口使用由于只需一个普通IO口,选择了P3.7作为温度采集端口。312温度传感器选型受仿真的约束,在本系统中温度的检测只作为一个开关量使用,当冷却系统开始工作时,冷却水的出入口温度将由初始温度及方程式的影响计算确定。因此,在本系统中,核心在于单片

17、机对冷却水用量的动态调节,温度传感器本着简单,好用的原则选择数字式的DS18B20。采集简单,快速。313显示方案确定当前常用的有液晶显示和数码管显示两种显示方法。液晶显示功能强大,不但可以显示数字字符、德文、法文、点阵显示,还可以显示全部国标汉字,但是也存在与单片机连接时接口电路驱动复杂;显示亮度低,不利于观察;编程困难;成本高等缺点,本系统只显示数字,而且需要考虑到能耗尽量少等问题,数码管内部元件比较简单,耗能相对较低,所以选择了数码管显示。不但硬件电路简单,造价低廉,而且数码管亮度高,利于我们的观察读数。314温度控制方案确定温度控制采用反馈调节,由于仅仅是程序进行示范控制,缺乏相应的上

18、位机对参数进行实时的调节,因此仅仅进行了比较简单的单一参数反馈,进行了比较粗糙的控制,能动态的调节冷却水的用量来弥补干扰因素引起的误差。达到了预期设计的目标。3.2硬件设计3.2.1单片机接口电路(1)单片机的时钟电路单片机内部的振荡电路是一个高增益反相放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。单片机的时钟产生方式有两种。内部时钟方式。利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路便产生自激振荡,用示波器可以观察到XTAL2输出的时钟信号。最常用的是在XTAL1和XTAL2之间连接晶体

19、振荡器与电容构成稳定的自激震荡器。本设计采用内部时钟方式,如图所示:图3.1 时钟电路图(2)单片机的复位电路单片机的复位是靠外部电路实现的。单片机工作后,只要在它的RST引线上加载10ms以上的高电平,单片机就能够有效地复位。图3.2 复位电路图3.2.2温度信号的获取(1)DS18B20数字温度传感器,主要技术参数如下: 1: 技术性能描述 1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 2 测温范围 55125,固有测温分辨率0.5。 3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。 4 工

20、作电源: 35V/DC。 5 在使用中不需要任何外围元件。 6 测量结果以912位数字量方式串行传送。 7 不锈钢保护管直径6。 8 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温。 9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选。 10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 2:应用范围 1 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域。 2 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 3 汽车空调、冰箱、冷柜、以及中低温干燥箱等。 4 供热/制冷管道热量计量,中央空调分户热

21、能计量和工业领域测温和控制。图3.3信号采集电路3.2.3显示电路的设计图3.7 显示电路原理图3.2.4报警电路的设计图3.8 灯光报警电路原理图3.2.5温控电路的设计控制算法是微机化控制系统的一个重要组成部分,整个系统的控制功能主要由控制算法来实现。目前提出的控制算法有很多。根据偏差的比例(P),积分(I),微分(D)进行的控制称为PID控制,实际经验和理论分析都表明,PID控制能够满足相当多工业对象的控制要求,至今仍是一种应用最为广泛的控制算法之一。本系统仅仅采用PID控制中的P控制,即比例反馈控制。通过采集冷却液出、入口的温度来确定水温的变化,再根据水的比热容公式确定冷却水的用量。因

22、为每一次的冷却水输出量都会受到“挡位”的干扰,使之不能达到“完美”的冷却降温。当冷却水过多时,冷却水通过发动机上升的温度将略微下降,反之则上升。冷却水的入口温度由水箱温度及冷却液出口温度共同确定。由于每一次冷却液的流经发动机的升温程度不一样,并且存在干扰因素,于是每一次的冷却液的供应量也有所不同。4软件程序的设计41程序流程程序主要由主程序和子程序两部分构成。 程序主要实现系统的初始化,显示数据,电机控制。4.1.1主程序流程图: 图4.1 主程序流程图说明:初始化为ADC0808的初始化,经过传感器信号的放大并采样后,单片机对数据进行处理并在数码管上显示,同时,判断当前的温度是否高于70,如

23、果高于则启用温度控制子系统,根据当前的温度值和挡位设置的参数来调节冷却水的供应量,进而控制降温设备降温。4.1.2显示子程序的流程图: 图4.2 显示子程序流程图说明:P1.0-P1.7控制LED数码管的显示数字,P2.0、P2.1与P2.4至P2.7控制位选端。达到LED数码管的显示效果。4.1.3温控子程序的流程图: 是否是否水泵停止工作超过70降到70以下冷却液输出温度读取/比较开始 图4.3 温控子程序流程图说明: 温度控制模块监视系统的温度,如果系统的温度高于70摄氏度,那么系统对当前的冷却水温度进行处理,经过计算,确定冷却水的供应量,减去干扰因数,得到一个确切的冷却水供应量。冷却水

24、的实际供应量决定了冷却水流经发动机的温度上升数值,从而决定了下一次冷却水的供应量。由冷却水的温度提高数值来反馈本次温度调节的效果。5系统调试过程通过上面的设计,设计已经基本完成。下面主要实现Protel99se的原理图、印制板图的绘制和做相关检测,对Keil进行相应的检查和调试,并用Proteus对所设计系统进行仿真。51keil调试程序调试结果如图5.1所示:Creating hex file from “wendu”表明 .hex文件创建成功。“wendu”- 0 Error(s),0 Warning(s)表明文件编译结果没有错误。图5.1 程序调试结果5.2原理图和印制板图绘制和检查5.

25、2.1 在Protel99se绘制原理图并进行相应的ERC检查打开Protel99se,绘制系统的原理图。原理图包括能输出时钟电路,驱动电路以及复位电路。绘制完成的原理图如图5.1:图5.2 原理图的绘制绘制完原理图之后,对原理图进行同一网络命名多个网络名称检测、未连接的电路标号检测、未连接的电源检测、电路编号重号检测、元件编号重复检测等检测。ERC检测结果如图5.3:图5.3 ERC电气规则检查5.3 Proteus仿真调试在Proteus中建立仿真图。按下开始仿真按钮,开始进行仿真实验,结果如图5.6,图5.7所示:仿真电路图中实现温度检测和控制,输出到LED数码管显示。当输入信号70时,

26、LED就会亮报警,温度控制程序运行。仿真虽然能运行,但在实际电路中,还需要加入其它的一些电路才能保证单片机能正常工作,实现其功能。结 论本设计中,是以温度采集及检测及控制为总目标,以AT89C51单片机最小应用系统为总控制中心,辅助设计有温度采样电路、5个LED数码管显示器、温度控制单元等。在设计过程中,遇到了许多问题,如设计初始阶段目的不明,思绪混乱,经过认真思考和老师的指导,才使自己思路明确,抓住重点,在很短的时间内系统有序的完成。温度检测是工业过程控制中一个重要参数,了解到温度检测的重要性,使自己在设计过程中,更加有兴趣和动力,在软件设计方面,遇到了一些实际问题,不过,在老师的指导和同学

27、的帮助下都能一一解决,使自己学到了许多新的知识。从本设计的资料收集、方案论证到方案设计、修改和最后的完成,得到了老师和同学的指导和帮助,才使本设计顺利完成。在此表示衷心感谢!单片机开发过程是一个非常严谨,复杂,科学,细致及技术性和综合性都相当高的过程,它要求你必须具备相当扎实的专业基础和理论知识,较强的实践专业操作技能。能以细致和科学的头脑去考察、分析和解决问题。同时在设计中必须要有足够的耐心,持之以恒的毅力,坚强的意志以及实事求是,一丝不苟的精神,才能开发出理想的设计出来。致 谢本设计是在邓鹏毅老师的悉心指导下完成的。邓老师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师

28、德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了控制系统的基本研究方法,还使我明白了许多为人处世的道理。本设计从选题到完成,每一步都是在老师的指导下完成的,倾注了老师大量的心血。另外,本设计的完成也离不开各位同学给我的建议和帮助,是他们让我明白了团队合作的精神。在此,向各位帮助我的老师和同学们表示崇高的敬意和衷心的感谢!参考文献1台力.微型计算机控制技术.中国水利水电出版社.2001.(1).1241362张毅刚. 新编MCS-51单片机应用设计. 哈尔滨工业大学出版社.2004. (2). 160198 3董敬. 汽车拖拉机发动

29、机. 机械工业出版社.2003. (20). 1113 4赵佩华 单片机接口技术及应用. 机械工业出版社 2003.15唐岚 汽车测试技术 机械工业出版社 2006.76付百学 微机控制技术 北京:机械工业出版社,20027程军 微机接口技术北京:北京理工大学出版社,19998冯渊 汽车计算机控制技术 北京:机械工业出版社,1999附录一 程序源代码#include #include #define uint unsigned int #define uchar unsigned charsbit LCD_SI=P30; /clock input 同步时钟输入端 sbit LCD_SCL=P3

30、1;/data input/output 串行数据输入、输出端 sbit LCD_A0=P32; /选择命令还是数据 sbit LCD_RST=P33;/复位 sbit LCD_CS=P34; /片选 sbit DS=P37; sbit feng=P30; /定义DS18B20接口sbit light=P05;sbit Motor=P06;int temp; uchar flag1; int time=0; int power=0; int Contral_scope; /水温控制范围() 70-85int Response_speed=20; /水温控制响应速度 20sint Control

31、_accuracy; /水温控制精度 7int Display_accuracy; /水温显示精度 2int Engine_cooling_requirements=40; /发动机散热需求QW(kJ/S) 40float Display_freshen_speed=1.5; /水温显示刷新速度 1.5sfloat Coolant_volume=10; /冷却液容积 10Lfloat pump_efficiency=0.75; /水泵效率 0.75float electrical_efficiency=0.95; /所有电机效率 0.95int T_change; /温升float Water

32、_specific_heat=4.187; /水的比热容float Water_Density=1000; /水的密度int Q_change;int V_change;uchar circle_number=1;uchar water_apply_ture_math,Tw1_math;float Tw1=70;float Tw2;float Tw1_last,Tw2_last;float water_apply_ture_last,water_apply_ture;float water_apply_should_last,water_apply_should;void display();

33、/数字的显示函数;lp为指向数组的地址,lc为显示的个数void delay(); void delay50ms(); code unsigned char table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/共阴数码管 0-9 - _ 空 表 code unsigned char table1=0xbf ,0x86,0xdb,0xcf, 0xeb,0xed,0xfd, 0x87, 0xff, 0xef;/共阴极数码管码段(带小数点):unsigned char l_tmpdate8=0,0,0,0,0,0,0,0; /定义数组变量

34、,并赋值1,2,3,4,5,6,7,8,就是本程序显示的八个数int tmp(void); /获得温度void tmpchange(void); /发送温度转换命令void tmpwritebyte(uchar dat); /写一个字节到DS18B20里uchar tmpread(void); /读一个字节bit tmpreadbit(void); /读一位void dsreset(void); /DS18B20初始化void delayb(uint count); /delayvoid Power_set(void);void main() int l_tmp; while(1) time=

35、time+1; tmpchange(); /温度转换 l_tmp=tmp(); /获得发动机温度 if(time%30=0) if(time=30)time=0; if(l_tmp700) Power_set(); if(circle_number=1) /计算第一次循环 Tw2=75; water_apply_should=2; water_apply_ture=water_apply_should-(power-3.5)*0.1); /water_apply_ture=water_apply_should-power+3; circle_number=2; else /计算第N(N1)次循

36、环 Tw1_last=Tw1; Tw2_last=Tw2; Tw1=(Tw1_last+Tw2_last)*0.48; water_apply_ture_last=water_apply_ture; water_apply_should_last=water_apply_should; Tw2=Tw2_last-(water_apply_should-water_apply_ture_last)*0.1; /给的水少,T2就大,给的水多,T2就小 water_apply_should=9.5/(Tw2-Tw1); water_apply_ture=water_apply_should*1.5+

37、(power-3.5); /water_apply_ture=water_apply_should-(power-3.5); /需要调试的参数:初始水温、第一次循环水量、A、B; Motor=1; light=0; else Motor=0; light=1; V_change=0; water_apply_ture_math=(uchar)water_apply_ture*10; Tw1_math=(uchar)(Tw1); if(Tw1_math85)Tw1_math=85; if(water_apply_ture_math99)water_apply_ture_math=99; if(w

38、ater_apply_ture_math7)power=0; void display()/显示 P2=0xef;/十位 P1=table1l_tmpdate1; delay50ms(); P2=0xdf; P1=tablel_tmpdate2; delay50ms(); P2=0x7f; P1=tablel_tmpdate4; delay50ms(); P2=0xfe; P1=tablel_tmpdate5; delay50ms(); P2=0xfd; P1=tablel_tmpdate6; delay();void delay50ms(void) /空5个指令 uchar a,b; for

39、(a=100;a0;a-) for(b=10;b0;b-);void delay(void) /空5个指令 _nop_();_nop_();_nop_();_nop_();_nop_();void delayb(uint count) /delay uint i; while(count) i=200; while(i0) i-; count-; void dsreset(void) /DS18B20初始化 uint i; DS=0; i=103; while(i0)i-; DS=1; i=4; while(i0)i-;bit tmpreadbit(void) / 读一位 uint i; bit dat; DS=0;i+; /小延时一下 DS=1;i+;i+; dat=DS; i=8;while(i0)i-; return (dat);uchar tmpread(void) /读一个字节 uc

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

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1