电源技术中的启动继电器的检查


-
启动继电器插接器及电气原理图如图所示。1、3应该导通,其电阻值约为60Ω:2、4应断开,但当1、3接上电源(12V)后,2、4则应导通。 启动继电器插接器及电气原理图 来源:ks99

260KB
如何用单片机控制220V交流电的通断
2020-07-12如何用单片机控制220V交流电的通断 首先来说,220V交流电的负载是多大,是感性负载负载还是阻性负载,正常输出功率是多大等这些都要考虑进去。 1、对于阻性负载 比如普通的灯泡,一般是30到40W左右,如果用220V交流电来控制通断,简单点的就用一个双向可控硅直接控制,BT137电流达到7A,耐压值600V,驱动灯泡足够了 也可以加一个光耦 2、对于感性负载 比如电动机,因为它的内部有线圈,100W的电动机在启动的时候可能达到1000W,因此这类电器电路就要加多一个阻容吸收电路,必要时候同时加一个压敏电阻,可以使10471,根据实际间距选择合适的压敏电阻,因为瞬导通时候电压很高,这样就有起到过压保护,以防一通电或者关断时候产生感应电动势产生的电压把可控硅击穿,有时候还会串联一个电感。 使用可控硅三极管MOS管的单片机控制220V交流电通断电路图解 使用单片机控制220V交流电的通断,方法非常多。使用继电器是最方便的,但是继电器通断会有声音,很不好,而且继电器有次数限制,容易坏。题主也说明不用继电器,下面提供几种方法吧,供大家参考。 (1)使用双向可控硅,注
60KB
自耦变压器降压启动原理及常见故障
2020-07-12自耦变压器降压启动柜是工厂配电设备中常用的设备,现结合实践经验简述控制线路中常见的故障及排除方法。接线原理如图1所示。 图1自耦降压启动柜接线原理图 一、基本工作原理 按启动按钮SB2,交流接触器KM1和KM2线圈得电,主触头KM1和KM2闭合。自耦变压器TM串入电机降压启动。同时,时间继电器KT线圈得电。KT动合触点延时动作,KT动断触点延时先断开。接触器KM1、KM2和时间继电器KT线圈失电,主触点断开,自耦变压器脱离电机电路。同时KT动合触点闭合,KM3线圈也在KM1和KM2失电后得电。KM3主触头闭合,电机进入全压运行。这种控制电路使电机的“启动→自动延时→运行”一次完成。 二、常见故障、原因及处理方法 1、按启动按钮电机不能启动 可能原因:①主回路无电;②控制线路熔丝断;③控制按钮触点接触不良;④热继电器动作。 处理方法:①查熔断器1FU是否熔断;②更换保险管;③修复触点;④手动复位。 2、松开按钮,自锁不起作用 可能原因:①接触器KM1和KM2动合辅助触点坏;②控制线路断路。 处理方法:①断开电源,使接触器手动闭合,用万能表检查KM1、KM2触点是否
38KB
汽车电子中的吉利豪情轿车无规律熄火、且熄火后发动机无法启动的故障现象诊断与排除
2020-11-15故障现象:2002款吉利豪情轿车,装备TJ376QE单点电控燃油喷射发动机。该车发动机无规律熄火,熄火后无法启动。 故障诊断与排除:询问驾驶员得知,将分电器插头拔下后测量,电压为12V。若此时将插头插回原处,车辆还是无法启动。如果用导线将该电源线直接搭铁后(有火花产生)再插回原处,发动机就能启动。 对分电器(即凸轮轴位置传感器)的电源线进行了测量,电压为12V。从电路图可知,凸轮轴位置传感器的电源与主继电器相连,即打开点火开关时,该凸轮轴位置传感器有12V的电源。于是将ECU的外罩打开,找到了连接处,并将主继电器拆下检查,发现主继电器有严重氧化腐蚀现象,线圈中央部分发黑,说明局部烧
34KB
电子测量中的耐压测试仪的性能检查与测试
2020-11-13(1)性能检查 1)插好电源线,接通电源,电源指示灯亮,数字显示为“0”。按下启动按钮应能听到继电器吸合声,调节电压调节旋钮,数字显示应有相应的变化。当到达定时时间或按下复位按钮时,可听到继电器释放声,数字显示降至“0”。 2)定时时间到达设定后输出电压返零时,合格指示灯应亮,按下复位按钮时,指示灯应熄灭。 (2)测试过程 1)首先使输出电压为零,并按复位按钮,使整机处于复位状态,切断高压;用高压输出测试线将被测试件与仪器相连,被测试件应与大地绝缘,仪器的公共端与被测件的低端相接。 2)按下启动按钮,接通高压,按顺时针方向转动电压调节旋钮,使输出电压达到设定值。
39KB
交流接触器接线图
2015-12-31电动机可逆运行控制电路的调试 1、检查主回路路的接线是否正确,为了保证两个接触器动作时能够可靠调换电动机的相序,接线时应使接触器的上口接线保持一致,在接触器的下口调相。 2、检查接线无误后,通电试验,通电试验时为防止意外,应先将电动机的接线断开。 故障现象预处理; 1、不启动;原因之一,检查控制保险FU是否断路,热继电器FR接点是否用错或接触不良,SB1按钮的常闭接点是否不良。原因之二按纽互锁的接线有误。 2、起动时接触器“叭哒”就不吸了;这是因为接触器的常闭接点互锁接线有错,将互锁接点接成了自己锁自己了,起动时常闭接点是通的接触器线圈的电吸合,接触器吸合后常闭接点又断开,接触器线圈又断电释放,释放常闭接点又接通接触器又吸合,接点又断开,所以会出现“叭哒”接触器不吸合的现象。 3、不能够自锁一抬手接触器就断开,这是因为自锁接点接线有误。 电动机可逆运行控制电路为了使电动机能够正转和反转,可采用两只接触器KM1、KM2换接电动机三相电源的相序,但两个接触器不能吸合,如果同时吸合将造成电源的短路事故,为了防止这种事故,在电路中应采取可靠的互锁,上图为采用按钮和接触
281KB
无线遥控直流电机小型步进电机控制板JMDM-WXMT02.zip
2019-09-19无线遥控直流电机小型步进电机控制板JMDM-WXMT02zip,一、简介 JMDM-WXMT02 直流电机遥控控制器是深圳市精敏数字机器有限公司自主研发的高可靠工业级控制器,采用专门的直流电机运动控制芯片,具有无触点、直流电机调速、正反转等功能,可用于无线控制、直流电机控制、继电器控制、小型步进电机控制(无需驱动)、电磁阀控制等智能控制场合。可实现如下功能: 1、可用无线控制或手动按键控制继电器、直流电机、步进电机、电磁阀等机电器件; 2、可为客户编程设计特定的程序用于特定的智能控制场合。 3、可以通过RS485网络进行组网通信,构成大的联网控制系统。 二、 使用说明 (一) 独立控制模式: 1. 打开随产品附送的电子版技术资料,阅览一遍技术资料; 2. 根据说明书所附接线图连接好电脑和控制器之间的串口通信线; 3. 安装随产品附送的Keil C 编程软件,安装随产品附送的STC-ISP.EXE程序下载软件; 4. 在KEIL C 软件中打开C51范例程序学习,参考范例程序,使用输入输出库函数、自行编写单片机C语言程序; 5. 编好程序编译通过后,使用STC-ISP下载软件将C语言程序下载到JMDM-WXMT02控制器; 6. 仔细检查无误后,连接好控制器的电源;接好外围输入输出信号,即可独立实现输入输出的逻辑、时序控制。 (二) 串口控制模式: 1. 打开随产品附送的电子版技术资料,阅览一遍技术资料; 2. 根据说明书所附接线图连接好控制器和设备之间的接线、电脑和控制器之间的串口通信线; 3. 仔细检查无误后,连接好控制器的电源; 4. 安装范例串口监控软件:直接双击support文件夹下的小灯泡图标或者双击setup.exe安装; 5. 使用范例串口监控软件测试基本功能。 6. 客户二次开发使用:客户可根据通信协议和范例VB源码,自行二次开发集成到第3方系统软件中;或者使用通用的串口调试软件,根据通信协议发送串口指令给控制器。 三、 功能描述 1. 有一路标准的RS232串口通信接口,可以与电脑通信,也可与多台控制器通信构成大的控制系统。 2. 上位机(PC机或主PLC)通过串口连接到本控制器后,向控制器发送一串字符(或ASCII代码)指令即可控制某个(或全部)直流电机的打开或关闭,完全不必要考虑直流电机的硬件电路上选择、驱动等问题。比如,串口输入O(002,1)则第一个直流电机反转;串口输入“O(003, 1)”,则第二个直流电机正转。 3. 串口控制器和控制主机之间距离可以通过485总线延长,最长组网可以达到一千米; 4. 2路高速晶体管输出,可控制电磁阀,步进电机,LED灯串等机电器件。 5. 2路直流电机控制输出,可控制直流电机的正反转,可编程实现PWM(脉宽调制)速度控制,最大控制电流为5A,也可控制外部设备的电源,普通三相电机,接触器,灯炮等机电器件。 6. 6个光电隔离数字信号输入,信号电压范围可选(5V/12V/24等)可根据客户要求编程设定其功能,如手动启动,手动停机,手动正反转,电机限位等用途。 7. 4个无线遥控通道,遥控距离为100m(可定做成200米)的。可根据客户要求编程控制外部设备的电源、普通二相电机、普通三相电机、接触器、灯炮等机电器件的动作或关闭。 8. 联网通信或与主控电脑联网通信的场合可提供串口通信协议或代为开发专用程序。 9. 1个运行指示灯,一般用于显示控制器的运行状态;运行指示灯的闪烁表示本控制器工作正常。 四、 用途 1、用于各种集散型控制系统,远程控制系统,无线遥控控制系统; 3、可用各种直流电机、电磁阀、步进电机、二相交流电机、三相交流电机的控制场合。 4、经典应用场合有以下几种; 1)各种电动自动门; 2)各种电动卷帘门; 3)自动窗帘控制器; 4)车位锁控制器; 5)智能水塔控制器; 6)各种遥控道闸控制。
37KB
吉利豪情轿车无规律熄火、且熄火后发动机无法启动的故障现象诊断与排除
2021-01-18故障现象:2002款吉利豪情轿车,装备TJ376QE单点电控燃油喷射发动机。该车发动机无规律熄火,熄火后无法启动。 故障诊断与排除:询问驾驶员得知,将分电器插头拔下后测量,电压为12V。若此时将插头插回原处,车辆还是无法启动。如果用导线将该电源线直接搭铁后(有火花产生)再插回原处,发动机就能启动。 对分电器(即凸轮轴位置传感器)的电源线进行了测量,电压为12V。从电路图可知,凸轮轴位置传感器的电源与主继电器相连,即打开点火开关时,该凸轮轴位置传感器有12V的电源。于是将ECU的外罩打开,找到了连接处,并将主继电器拆下检查,发现主继电器有严重氧化腐蚀现象,线圈中央部分发黑,说明局部烧
33KB
耐压测试仪的性能检查与测试
2021-01-20(1)性能检查 1)插好电源线,接通电源,电源指示灯亮,数字显示为“0”。按下启动按钮应能听到继电器吸合声,调节电压调节旋钮,数字显示应有相应的变化。当到达定时时间或按下复位按钮时,可听到继电器释放声,数字显示降至“0”。 2)定时时间到达设定后输出电压返零时,合格指示灯应亮,按下复位按钮时,指示灯应熄灭。 (2)测试过程 1)首先使输出电压为零,并按复位按钮,使整机处于复位状态,切断高压;用高压输出测试线将被测试件与仪器相连,被测试件应与大地绝缘,仪器的公共端与被测件的低端相接。 2)按下启动按钮,接通高压,按顺时针方向转动电压调节旋钮,使输出电压达到设定值。
241KB
电动机可逆运行控制电路的调试
2020-07-11为了使电动机能够正转和反转,可采用两只接触器KM1、KM2换接电动机三相电源的相序,但两个接触器不能吸合,如果同时吸合将造成电源的短路事故,为了防止这种事故,在电路中应采取可靠的互锁,上图为采用按钮和接触器双重互锁的电动机正、反两方向运行的控制电路。 电动机可逆运行控制电路的调试 1、检查主回路路的接线是否正确,为了保证两个接触器动作时能够可靠调换电动机的相序,接线时应使接触器的上口接线保持一致,在接触器的下口调相。 2、检查接线无误后,通电试验,通电试验时为防止意外,应先将电动机的接线断开。 故障现象预处理: ① 不启动;原因之一,检查控制保险FU是否断路,热继电器FR接点是否用错或接触不良,SB1按钮的常闭接点是否不良。原因之二按纽互锁的接线有误。 ② 起动时接触器“叭哒”就不吸了;这是因为接触器的常闭接点互锁接线有错,将互锁接点接成了自己锁自己了,起动时常闭接点是通的接触器线圈的电吸合接触器吸合后常闭接点又断开,接触器线圈又断电释放,释放常闭接点又接通接触器又吸合,接点又断开,所以会出现“叭哒”接触器不吸合的现象。 ③ 不能够自锁一抬手接触器就断开,这是因为自锁接点
258KB
KTV灯光控制面板
2012-11-04尚秦之星ktv灯光控制器使用说明书上海腾电电子有限公司联系人龙态平18857134303传真0571--85026922 使用产品前,请仔细阅读和您购买的尚秦之星产品上的标记及相应配套部分 警告 此符号用于警告用户,表示该处有关于产品之重要操作或修理的有关指示说明 此符号用于表示产品外壳内部有足以使人产生触电危险的裸漏的危险电压 * 控制器后部及侧面的开槽和洞孔是为了提供必要的通风散热和固定机器而设计。 为了确保本机的可靠操作和防止其过热,切勿堵塞或遮盖这些开槽或过孔。 •不要用布或其他材料遮盖开槽和过孔。 •不要将本机放在床、沙发、地毯或其他类似物体表面上使开漕和过孔被堵塞。 •请在产品其周围空间保持10厘米以上的间隙。 * 不要将本机放置在电暖炉或暖气片附近或上方和阳光可直射的地方。 * 请勿将可燃物或易爆物放置在本机附近。 * 不要将盛有水的容器放置在本机上,因为这样可能导致火患或电击的危险。 * 不要将本机放置在干扰较强的地方,因为那样可能导致机受控异常以及按键无反应或有面板按键乱跳等不良反应。 * 请勿将金属物件插入本机的洞孔中,否则可能会导致电击的危险。 * 为防止电击,切勿触碰本机内部。只有合格的技术人员可以打开本机的机盖。 * 电源插头上的灰尘请定期清洁,积聚的灰尘可能会导致电源线发出火花和热量或者使绝缘层老化,从而引起电击,漏电或失火。 * 如果本机操作不正常,请立即拔下电源请专业人员检查及维修,或者联系授权经销商或服务中心。* 在装控制面板时,请尽量不要擅自拆开排线,因为那样可能会造成排线折断或移位而导致面板工作异常。 * 控制面板表面材料是玻璃制品,因此请轻拿轻放以免破损影响外观。 * 在装面板时,请勿用力将排线插进pin槽内,因为用力过猛会将排线折断进而造成对应的面板的按键无反应。 一、产品介绍 1.1、产品简介: KLC500系列KTV照明控制器是我公司基于前几款KTV智能照明控制器的基础上设计生产的新一代灯光控制器产品。产品采用控制面板和控制器一体化工业设计,在负载、散热性能、集中控制方面实现跨越,外观美观,摈弃了上几代控制器分体设计,用户可以现场对其他的分设备进行总体控制操作。 主要应用场合:大型酒店、KTV、夜总会、茶楼、宾馆、客房等场所。 主要优点:操作简单无需调试、稳定可靠、性价比高、外形设计精湛、使用方便等。 1.2、产品构成 本产品主要由控制器(图1)、控制面板(图2)两部分组成。 中央控制器(图1) 控制面板(图2) ❃注意:上图仅为参考,请以实物为准。 1.3电气特性 1.3.1 1路排风控制开关,输出类型为继电器输出。每路最大功率达到500W,具有RC滤波抗干扰设计。 1.3.2 4路可调光控制器,其输出类型为晶体管型。每一路可进行单独设置最大功率达为500W,负载类型为交流220V的外部灯光设备。 1.3.3 5路不可调光控制器,其输出类型为继电器型。每路最大功率可达500W具有RC滤波抗干扰设计。 1.3.4 3路空调控制开关,负载类型为交流220V。 1.3.5 2路阀控制开关。 1.3.6 2路键盘通讯接口。通讯接口均采用RJ45接口,具有超强抗干扰能力。 1.4 产品功能 控制面板主要为人机对话提供可视性的便捷操作服务 1.5技术参数 技术参数1 工作电压 220v~240v 负载最大功率 单路输出500W 负载最小功率 无限制 工作湿度 30% 工作温度 -10℃~+65℃ 负载类型 LED灯、钨丝灯、节能灯、带开关电源的LED灯 注意事项 1. 如果继电器输出的负载为带有开关电源的灯,必须有RC滤波(产品出厂时,每一路均带有RC滤波) 2. 若接灯为LED灯或节能灯,由于RC滤波会有微小电流通过,会引起灯闪的情况出现,此时只需将对应RC电路输出中的电容(继电器下方)其中一个引脚剪断即可。 技术参数2 功率(W)/温度(t) 500W/t≤50℃ 噪声(dB) ≤10dB 重量(Kg) 2.8(Kg) 电源(V-/HZ) 220V-/50HZ 控制器最大电流(A) ≤5A 防摔等级(HZ) ≥50HZ 防震等级(Kg) 25Kg ❃注意:以上参数均以KLC500X1系列KTV照明控制器为准,其它型号以实物为准,此表仅供参考。 二、产品安装 2.1控制器尺寸图 控制器上视图(图3) 控制器侧视图(图4) 2.2控制面板尺寸 2.4安装方法 本控制器在出厂时外壳等均已固定。在应用场地安装时,您可将控制器摆放式安装,或挂壁式安装即可。 ❃注意:若采用摆放式安装时,应确保控制器有足够的散热空间(如图12)。 2.5接线方式 图15 ❃注意: 1. 用户在接电源线时,请仔细阅读接线端口标识,并检查确认输入电源的零线及火线,按照火线接火线端口,零线接零线端口,按标示逐一接线,不可反接。 2. 相关接线端口详见产品端口处标识。 3. 在确定在确定接线无误的情况下,打开其开关。 4. 控制器内有强电,非专业人员请勿自行拆装 三、产品使用简介 3.1使用说明 步骤1)将本产品按照说明书正确安装并与外接设备连接 步骤2)确认安装及连接无误后,打开电源 步骤3)在开机后,面板会红白光闪动2次,表示面板已经启动。在使用的过程中,面板上的状态指示灯会指示当前灯的状态。即:如果灯被打开了则指示灯为红色。 3.2面板按键介绍 【总关】:按下该键您可以关闭所有开着的灯 【舞池筒灯】:控制舞池筒灯的开关键 【卡座射灯】:卡座射灯的开关键 【卡座筒灯】:卡座筒灯的开关键 【 茶几】:茶几灯的开关键 【舞池灯带】:舞池灯带灯的开关键 【卡座灯带】:卡座灯带灯的开关键 【灯带】:灯带的开关键 【频闪灯】:频闪灯的开关键 【空调】:按下面板上相应的空调数字键您就可以切换相应的空调档位 【浪漫】:浪漫模式的开关键 【抒情】:抒情模式的开关键 【摇滚】:摇滚模式的开关键 【标准】:标准模式的开关键 【清洁】在清洁的时候可以按下该键切换至清洁模式 四、故障分析及解决方法 专业技术人员在处理问题时,可参考下表排除故障: 常见故障 原因 解决方法 某一路灯长亮 该路功率管坏 更换该路的功率管 可调灯开机后四路长亮并且亮度调节无反应 5.1K大电阻坏 更换5.1K电阻 可调灯某一路不亮 a.该路保险丝坏或者接触不良 b.该路线绕电感虚焊 c.2K电阻被击穿 d.可控硅击穿 仔细检查电路,确定引起电路故障的原因并更换相应的电子元器件 不可调灯某一路不亮 该路对应继电器坏 去掉已坏掉的继电器换上好的继电器 开机无反应 a.F1保险丝坏或者接触不良 b.开关坏或接触不良 c.变压器坏或线头接触不良 通过仔细排查电路故障找出原因,确定故障原因并更换相应的电子元器件 控制器开机后按按键面板无反应 b.面板没有和控制器相连接 a.开机后面板开始工作需要一个反冲的过程 c.面板上的排线未插或排线插反 仔细观察控制器指示灯是否点亮面板是否与控制器相连接 开机3秒后再按面板上的按键 将排线拔出确定正反面后再正确的将排线插进品pin槽内 面板上个别按键失效或不灵 a.玻璃板没有与背光板贴紧或脱落 b.排线插错位或排线损坏 仔细检查面板的玻璃板是否与背光板贴紧 观察排线是否插反否则更换排线即可
1.2MB
德力西产品说明.pdf
2019-10-10德力西产品说明pdf,前 言 感谢您选用德力西(杭州)变频器有限公司生产的CDI 9600系列小功率矢量变频器。 在使用CDI9600系列小功率矢量变频器之前,请您仔细阅读本手册,以保证正确使用。不正确的使用可能会造成变频器运行不正常、发生故障或降低使用寿命,乃至发生人身伤害事故。因此使用前应认真阅读本说明书,严格按说明使用。本手册为标准附件,务必请您阅读后妥善保管,以备今后对变频器进行检修和维护时使用。 本手册除叙述操作说明外,还提供接线图供您参考。如果您对本产品的使用存在疑难或有特殊要求, 可以联系本公司各地办事处或经销商,当然您也可以直接致电我公司总部客户服务中心,我们将竭诚为您服务。 本手册包含0.75kW~5.5kW功率等级的CDI9600系列小功率矢量变频器使用说明,内容如有变动,恕不另行通知。 开箱时,请认真确认以下内容: 1、产品在运输过程中是否有破损,零部件是否有损坏、脱落,主体是否有碰伤现象。 2、本机铭牌所标注的额定值是否与您的订货要求一致,箱内是否包含您订购的机器、产品合格证、用户操作手册及保修单。 本公司在产品的制造及包装出厂方面,质量保证体系严格,但若发现有某种检验遗漏,请速与本公司或您的供货商联系解决。 目 录 前 言 第一章 安全运行及注意事项 1 第二章 产品信息 3 2.1 铭牌数据及命名规则 3 2.2 技术规范 4 2.3 CDI9600系列小功率矢量变频器 6 2.4 外型及安装尺寸 7 2.5 日常使用的保养与维护 8 第三章 变频器的安装及接线 12 3.1 变频器前盖与数字操作键盘的安装 12 3.1.1 变频器前盖的安装 12 3.1.2 数字操作键盘的安装 12 3.2 安装地点及空间的选择 13 3.3 安装地点及空间的选择 15 3.3.1 主回路输入侧的接线注意事项 15 3.3.2 主回路输出侧的接线注意事项 16 3.3.3 主回路输出侧的接线注意事项 18 3.4 控制电路的接线 20 3.4.1控制电路端子排列及接线图 20 3.4.2 控制电路端子的功能 22 3.5 接地 24 第四章 键盘操作与运行 25 4.1 操作方式的选择 25 4.2 试运行及检查 25 4.2.1 试运行前的注意事项及检查 25 4.2.2 试运行 26 4.2.3 运行时的检查 26 4.3 键盘的操作方法 27 4.3.1 键盘按键及功能 27 4.3.2 键盘显示方式 27 4.3.3 查看/设定参数的方法(用数字键盘) 29 4.3.4 键盘设定频率的方法 30 第五章 功能参数表 31 第六章 功能参数说明 47 6.1 基本功能参数P00组 47 6.2 辅助功能参数P01组 64 6.3 输入输出端子与多段速运行功能P02组 78 6.4多段速运行功能P03组 97 6.5 其他功能参数P04组 106 6.6 显示功能参数P05组 110 第七章 故障排除 111 7.1 故障的诊断与排除措施 111 7.2 报警显示和解释 113 7.3 电机故障和排除措施 113 附录 RS-485通讯协议修正 115 第一章 安全运行及注意事项 CDI9600系列小功率矢量变频器安装、运行、维护和检查之前要认真阅读本说明书。 为了确保您的人身、设备及财产安全,在使用我公司的CDI9600系列小功率矢量变频器之前,请务必仔细阅读本章内容。说明书中有关安全运行的注意事项分类成“警告”和“注意”。 :指出潜在的危险情况,如果没有按要求操作,可能会导致人身重伤或者死亡的情况。 :指出潜在的危险情况,如果没有按要求操作,可能会导致人身轻度或中度的伤害和设备损坏。这也可对不安全操作进行警戒。 安全运行的注意事项: 1. 安装、维护作业只能由专业人员进行操作。 2. 核实变频器的额定电压必须和AC电源电压等级相一致。 3. 切勿使AC主回路电源和输出端子U,V和W相连接。连接时变频器会损坏,并且保修单失效。
42KB
汽车电子中的现代伊兰特轿车的ECU熔断丝常烧坏故障诊断与排除
2020-11-15故障现象:北京现代伊兰特轿车,装用1.6L 4缸发动机和手动变速器。该车出现发动机室外熔断丝盒内的20A ECU熔断丝常烧坏。 故障诊断与排除:询问驾驶员得知,轿车在平坦的道路上行驶时发动机会突然熄火,且随后再也无法启动。经检查发现,ECU熔断丝熔断,换上同规格的熔断丝后发动机运转正常。在试车的途中故障再次出现。 根据电路图可知,该熔断丝是蓄电池供电电路中的,主要连接到燃油泵继电器(常电源)、PCM(常电源)、发电机端B+、发动机控制继电器(常电源)。 首先连接Hi-Scan故障检测仪读取故障码,未读到故障码。读取发动机系统的数据流,也正常。经分析认为,故障的原因是线路搭铁,
412KB
EKI-2728用户手册.pdf
2019-10-24EKI-2728用户手册pdf,EKI-2728配备了EKI系列的所有标准功能,具有8个10/100/1000Base-T(X) 的端口。EKI-2728不仅用于处理数据密集型应用,但还具有MTU (最大传输单元)高达9Kbytes的“巨型框架”功能。EKI-2728能够处理语音,视频,甚至是千兆速率的大型多媒体。此外,它提供+12 ~48 VDC冗余电压输入,具有双重保护机制--电源极性反向保护和过电流可复位熔断器。EKI- 2728的每个端口有2个LED显示灯,显示了连接状态和传输速度及碰撞的状态。它还提供了一个继电器输出,用于事件警报。在发生电力故障时,内置LED将启动警报,通知管理员。
73KB
电子维修中的长虹B2112彩电二次不开机故障
2020-10-21故障现象:一台长虹B2112彩电,面板指示灯亮,用手按电视面板按键或遥控开机均能听到高压启动声:随后又回到待机状态。 分析检修:该机属A3机芯,由微处理器CH04001-5B41和视频/色度/行场扫描信号处理集成块LA7680组成。由于该机三无s于是重点检查电源和行部分。因面板按键和遥控都能起作用,微处理器工作应基本正常。断开行负载供电电阻RF551,在C561两端接一只60W/22cN灯泡作为假负载,以判断其故障部位。通电后,二次开机灯泡亮,测+B电压(130V)正常。恢复RF551后通电试机,出现正常的光栅和字符,插上天线,图声俱佳。笔者认为该电视可能有接触不良现象,轻轻抖动电路板,
42KB
现代伊兰特轿车的ECU熔断丝常烧坏故障诊断与排除
2021-01-19故障现象:北京现代伊兰特轿车,装用1.6L 4缸发动机和手动变速器。该车出现发动机室外熔断丝盒内的20A ECU熔断丝常烧坏。 故障诊断与排除:询问驾驶员得知,轿车在平坦的道路上行驶时发动机会突然熄火,且随后再也无法启动。经检查发现,ECU熔断丝熔断,换上同规格的熔断丝后发动机运转正常。在试车的途中故障再次出现。 根据电路图可知,该熔断丝是蓄电池供电电路中的,主要连接到燃油泵继电器(常电源)、PCM(常电源)、发电机端B+、发动机控制继电器(常电源)。 首先连接Hi-Scan故障检测仪读取故障码,未读到故障码。读取发动机系统的数据流,也正常。经分析认为,故障的原因是线路搭铁,
7.19MB
JMDM-20DIOADD串口控制2路步进伺服电机高速运动及开关量系统.rar
2019-10-28JMDM-20DIOADD串口控制2路步进伺服电机高速运动及开关量系统rar,JMDM-20DIOADD串口控制2路步进伺服电机高速运动及开关量系统一、串口控制步进伺服电机高速运动系统简介JMDM-20DIOADD串口控制2路步进伺服电机高速运动系统,是深圳市精敏数字机器有限公司自主研发的一种主要由电脑和工业级高可靠步进电机串口控制器实现的串口控制2路步进(或伺服)电机运行的高可靠性高速数控系统,具有操作简便、抗干扰、性能稳定、功能强大、经济实用等特点,是各种步进(伺服)电机运动控制的高性能、低成本、简便易用的解决方案,同时可支持数字量或开关量信号输入输出(I/O)控制、2路高速脉冲计数,用来控制电磁阀、气缸、继电器、普通电机、编码器或电子尺等。二、系统使用说明2.1硬件连接注意事项 1)JMDM-20DIOADD采用交流18V或直流24V供电; 2)注意严格按照产品说明书后面所附的接线图接好步进电机、驱动器、控制器、电源之间的连接线,以及启动停止手动按钮的控制线;电源接线更要严格、仔细检查确认无误后再接,否则将烧坏控制器或驱动器等设备; 3)控制器的外围输入输出采用直流24V或交流18V供电时,但步进电机的脉冲方向信号需要用5V的输入电压; 4)控制板的数字量输入状态可以用串口读取命令读取。2.2上位机软件说明简介参数设置共有五个,具体如下介绍:通信串口选择:即选择用于通信的串口;参数范围: 0~9 ;控制器选择: 即选择当前需要控制的控制器进行控制;参数范围: 控制器一~控制器九;运行长度设定:即步进电机单次运动时发送的脉冲数;参数范围:0000000~9999999; 当脉冲数设为零时则电机实际运行长度为无限长;电机运行方向设定:即设定步进电机的运行方向;0为反转,1为正转;电机运转速度:即步进电机运行一秒钟所走的步数;参数范围:00000~99999;单位:脉冲/秒;送完输出延时:即一次送料完成后送料完成信号的保持输出时间;参数范围:00000~99999 单位:毫秒;起步速度设定:即设定步进电机启动时的初速度;参数范围:00000~99999; 单位:脉冲/秒;手动速度(脉冲数/秒)设定:即步进电机在手动运行时电机的运行速度; 参数范围:00000~99999; 单位:脉冲数/秒;2.3通信协议:详细见说明书资料,同时可提供上位机串口控制的VB范例程序和通信协议,方便使用者在此基础上进行二次开发。三、性能参数1、JMDM-20DIOADD工作电源:AC18V或DC24V;2、有20路光电隔离I/0输入输出,其中输入12路,输出8路晶体管输出;3、本机采用高性能进口工业级芯片设计,可适应高电磁干扰的工业环境(250A放电焊接场合正常工作);4、高速运算; 5、内部采用了时钟芯片DS12C887,可作时间运算和时间控制;6、通信接口有RS232(抗15千伏静电冲击);7、控制板有64K的程序空间,32K数据存储空间; 8、 可外接输入输出板构成大系统(一个扩展板是12个输入,8个输出),最多可叠加5个扩展板;9、内部有256字节的RAM,因为32K数据存储器采用的是高速铁电存储器,故也可用作RAM;10、有2路高速脉冲输入,可接一路编码器或电子尺输入用于位置检测,最高硬件解码频率是200KHZ;11、有2路高速脉冲输出,可同时控制两路步进电机或两路伺服作联动动作,最高输出频率是400KHZ。12、外壳采用螺钉固定或导轨安装,一体化紧凑型设计;更多产品详细资料,欢迎垂询:电话:0755- 29769287;13427969290 陶小姐;传真:0755-29958512; E-mail:jingmingk@163.com;QQ: 374157195; MSN:jingmingk@163.com; 阿里旺旺:jingminsz;公司网址:www.jingmindm.com 中华工控网店铺:http://www.gkong.com/comm/userdetail.
18KB
关于ds18b20程序
2009-05-05DS18B20温度传感器 * * C51 * * yajou 2008-06-28 无CRC * ********************************************************/ #include "reg51.h" #include "intrins.h" #include "DS18B20.h" /******************************************************** * us延时程序 * ********************************************************/ void Delayus(uchar us) { while(us--); //12M,一次6us,加进入退出14us(8M晶振,一次9us) } /******************************************************** * DS18B20初始化 * ********************************************************/ bit Ds18b20_Init(void) //存在返0,否则返1 { bit temp = 1; uchar outtime = ReDetectTime; //超时时间 while(outtime-- && temp) { Delayus(10); //(250)1514us时间可以减小吗 ReleaseDQ(); Delay2us(); PullDownDQ(); Delayus(100); //614us(480-960) ReleaseDQ(); Delayus(10); //73us(>60) temp = dq; Delayus(70); //us } return temp; } /******************************************************** * 写bit2DS18B20 * ********************************************************/ void Ds18b20_WriteBit(bit bitdata) { if(bitdata) { PullDownDQ(); Delay2us(); //2us(>1us) ReleaseDQ(); //(上述1-15) Delayus(12); //86us(45- x,总时间>60) }else { PullDownDQ(); Delayus(12); //86us(60-120) } ReleaseDQ(); Delay2us(); //2us(>1us) } /******************************************************** * 写Byte DS18B20 * ********************************************************/ void Ds18b20_WriteByte(uchar chrdata) { uchar ii; for(ii = 0; ii < 8; ii++) { Ds18b20_WriteBit(chrdata & 0x01); chrdata >>= 1; } } /******************************************************** * 写 DS18B20 * ********************************************************/ //void Ds18b20_Write(uchar *p_readdata, uchar bytes) //{ // while(bytes--) // { // Ds18b20_WriteByte(*p_readdata); // p_readdata++; // } //} /******************************************************** * 读bit From DS18B20 * ********************************************************/ bit Ds18b20_ReadBit(void) { bit bitdata; PullDownDQ(); Delay2us(); //2us( >1us) ReleaseDQ(); Delay8us(); //8us( <15us) bitdata = dq; Delayus(7); //86us(上述总时间要>60us) return bitdata; } /******************************************************** * 读Byte DS18B20 * ********************************************************/ uchar Ds18b20_ReadByte(void) { uchar ii,chardata; for(ii = 0; ii < 8; ii++) { chardata >>= 1; if(Ds18b20_ReadBit()) chardata |= 0x80; } return chardata; } /******************************************************** * 读 DS18B20 ROM * ********************************************************/ bit Ds18b20_ReadRom(uchar *p_readdata) //成功返0,失败返1 { uchar ii = 8; if(Ds18b20_Init()) return 1; Ds18b20_WriteByte(ReadROM); while(ii--) { *p_readdata = Ds18b20_ReadByte(); p_readdata++; } return 0; } /******************************************************** * 读 DS18B20 EE * ********************************************************/ bit Ds18b20_ReadEE(uchar *p_readdata) //成功返0,失败返1 { uchar ii = 2; if(Ds18b20_Init()) return 1; Ds18b20_WriteByte(SkipROM); Ds18b20_WriteByte(ReadScr); while(ii--) { *p_readdata = Ds18b20_ReadByte(); p_readdata++; } return 0; } /******************************************************** * 温度采集计算 * ********************************************************/ bit TempCal(float *p_wendu) //成功返0,失败返1 (温度范围-55 --- +128) { uchar temp[9],ii; uint tmp; float tmpwendu; TR1 = 0; TR0 = 0; //读暂存器和CRC值----------------------- if(Ds18b20_ReadEE(temp)) { TR1 = 1; TR0 = 1; return 1; } //------------------------------------- //CRC校验------------------------------ // //此处应加入CRC校验等 // // //------------------------------------- //使温度值写入相应的wendu[i]数组中----- for(ii = i; ii > 0; ii--) { p_wendu++; } i++; if(i > 4) i = 0; //------------------------------------- //温度正负数处理----------------------- // //------------------------------------- //温度计算----------------------------- tmp = temp[1]; // tmp <<= 8; // tmp |= temp[0]; //组成温度的两字节合并 tmpwendu = tmp; *p_wendu = tmpwendu / 16; //------------------------------------- //开始温度转换------------------------- if(Ds18b20_Init()) { TR1 = 1; TR0 = 1; return 1; } Ds18b20_WriteByte(SkipROM); Ds18b20_WriteByte(Convert); ReleaseDQ(); //寄生电源时要拉高DQ //------------------------------------ TR1 = 1; TR0 = 1; return 0; } //////////DS18B20.h///////////////////////// /******************************************************** * I/O口定义 * ********************************************************/ sbit dq = P1^3; sbit dv = P1^4; //DS18B20强上拉电源 /******************************************************** * 命令字定义 * ********************************************************/ #define uchar unsigned char #define uint unsigned int #define ReleaseDQ() dq = 1; //上拉/释放总线 #define PullDownDQ() dq = 0; //下拉总线 #define Delay2us() _nop_();_nop_(); //延时2us,每nop 1us #define Delay8us() _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //设置重复检测次次数,超出次数则超时 #define ReDetectTime 20 //ds18b20命令 #define SkipROM 0xCC #define MatchROM 0x55 #define ReadROM 0x33 #define SearchROM 0xF0 #define AlarmSearch 0xEC #define Convert 0x44 #define WriteScr 0x4E #define ReadScr 0xBE #define CopyScr 0x48 #define RecallEE 0xB8 #define ReadPower 0xB4 /******************************************************** * 函数 * ********************************************************/ void Delayus(uchar us); //void Dog(void); bit Ds18b20_Init(void); //DS18B20初始化,存在返0,否则返1 void Ds18b20_WriteBit(bit bitdata); //写bit2DS18B20 void Ds18b20_WriteByte(uchar chrdata); //写Byte DS18B20 void Ds18b20_Write(uchar *p_readdata, uchar bytes); //写 DS18B20 bit Ds18b20_ReadBit(void); //读bit From DS18B20 uchar Ds18b20_ReadByte(void); //读Byte DS18B20 bit Ds18b20_ReadRom(uchar *p_readdata); //读 DS18B20 ROM:成功返0,失败返1 bit Ds18b20_ReadEE(uchar *p_readdata); //读 DS18B20 EE :成功返0,失败返1 bit TempCal(float *p_wendu); //成功返0,失败返1 (温度范围-55 --- +128) [目录] 第一章 前言 第二章 设计方案 第三章 数字温度传感器芯片特性 第四章 AT89S52单片机简介 第五章 单片机驱动蜂鸣器原理 第六章 单片机驱动继电器原理 第七章 按键设计 第八章 数码管显示电路 附录 1.源程序 2.电路图 [摘要] 应用数字温度传感器DS18B20设计的智能温度控制系统,实现方便、精度高、功耗低、微型化、抗干扰能力强,可根据不同需要用于各种温度监控及其他各种温度测控系统中。简单的外围电路主要依靠单片机的程序控制,实现温度的实时采集与比较,温度值的十进制数转换,-55°C ~125°C实时的温度显示及上下限温度值显示,键盘对上下限温度的设定,各种数据处理及报警温度的判断,单片机对继电器的驱动实现相应的加热、制冷控制。 在单片机程序的控制下,新一代的可编程数字温度传感器DS18B20完成其温度的转化和相应的数据处理与比较;选择简单的独立式按键,简化程序。大量应用PNP三极管的开关作用和电流的放大作用,实现单片机I/O口小电流的TTL电平对外围器件的控制。加热、制冷电机启动指示灯及各种保护,恒温指示灯,和各种报警声构成人性化智能温控系统。 [正文] 第一章 前言 本论文介绍单片机结合DS18B20设计的智能温度控制系统,系统用一种新型的“一总线”可编程数字温度传感器(DS18B20),不需复杂的信号调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方便、精度高、功耗低、微型化、抗干扰能力强,可根据不同需要用于各种温度监控及其他各种温度测控系统中。 美国DALLAS最新单线数字温度传感器DS18B20,具有微型化低功耗、高性能、可组网等优点,新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20的测温分辨率较高,DS18B20可直接将温度转化成串行数字信号,因此特别适合和单片机配合使用,直接读取温度数据。目前DS18B20数字温度传感器已经广泛应用于恒温室、粮库、计算机机房。测量温度范围为 -55°C~+125°C,在-10~+85°C范围内,误差为±0.5°C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。新的产品支持3V~5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。 DS18B20可以程序设定9~12位的分辨率,精度为0.0625°C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS18B20使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。 在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。另外一般监控现场的电磁环境都非常恶劣,各种干扰信号较强,模拟温度信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器DS18B20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。传统的测温元件测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,电路复杂,软件调试复杂,制作成本高。所以本人改用一种智能传感器DS18B20作为检测元件,可以直接读出被测温度值。1线制与单片机相连,减少了外部硬件电路,具有低成本和易使用的特点。 [参考文献] [1] 童诗白、华成英.模拟电子技术基础.高等教育出版社,2000 [2] 阉石.数字电子技术基础.高等教育出版社,1998 [3] 李朝青.单片机原理与接口技术.北京航空航天大学出版社,2000 [4] 楼然苗、李光飞.单片机课程设计指导.电子工业出版社,2007 [5] Intel. MCS-51 Family of Single Chip Microcomputers User’s Manual.1990 [6] Keil Software Company. Cx51 Compiler User’s Guide. 2001 [7] 李群芳.单片机微型计算机与接口技术.电子工业出版社,1997 [8] 全国大学生电子设计竞赛——1994年获奖作品选编 [9] 肖忠祥.数据采集原理.西北工业大学出版社,2001 [10] ATMEL公司 AT89S52的技术手册 [11] 吴金戌、沈庆阳、郭庭吉.单片机实践与应用.北京:清华大学出版社 [12] 王为青、邱文勋.51单片机应用开发案例精选.人民邮电出版社,2007 TS-18B20 数字温度传感器(www.ftco01.cn) 本公司最新推出TS-18B20数字温度传感器,该产品采用美国DALLAS公司生产的 DS18B20可组网数字温度传感器芯片封装而成,具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。 1: 技术性能描述 1.1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 1.2 测温范围 -55℃~+125℃,固有测温分辨率0.5℃。 1.3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温 1.4 工作电源: 3~5V/DC 1.5 在使用中不需要任何外围元件 1.6 测量结果以9~12位数字量方式串行传送 1.7 不锈钢保护管直径 Φ6 1.8 适用于DN15~25, DN40~DN250各种介质工业管道和狭小空间设备测温 1.9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 1.10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 2:应用范围 2.1 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域 2.2 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 2.3 汽车空调、冰箱、冷柜、以及中低温干燥箱等。 2.5 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制 3:产品型号与规格 型 号 测温范围 安装螺纹 电缆长度 适用管道 TS-18B20 -55~125 无 1.5 m TS-18B20A -55~125 M10X1 1.5m DN15~25 TS-18B20B -55~125 1/2”G 接线盒 DN40~ 60 4:接线说明 特点 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 ° C至+125 ℃ 。华氏相当于是-67 ° F到257华氏度 -10 ° C至+85 ° C范围内精度为±0.5 ° C 温度传感器可编程的分辨率为9~12位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统 描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。 8引脚封装 TO-92封装 用途 描述 5 1 接地 接地 4 2 数字 信号输入输出,一线输出:源极开路 3 3 电源 可选电源管脚。见"寄生功率"一节细节方面。电源必须接地,为行动中,寄生虫功率模式。 不在本表中所有管脚不须接线 。 概况框图图1显示的主要组成部分DS18B20的。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。 DS18B20的电源也可以从外部3V-5 .5V的电压得到。 DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。 若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有的数据都读,写都是从最低位开始。 DS18B20有4个主要的数据部件: (1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。 表1 DS18B20温度值格式表 4.3.1 DS18B20的管脚排列如图4.4所示。 图4.4DS18B20的管脚排列如图 DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器。DS18B20内部结构图如图4.5所示。 图4.5 DS18B20内部结构图 4.3.2存储器 DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。当修改过寄存器中的数时,这个过程能确保数字的完整性。 高速暂存器RAM是由8个字节的存储器组成;第一和第二个字节是温度的显示位。第三和第四个字节是复制TH和TL,同时第三和第四个字节的数字可以更新;第五个字节是复制配置寄存器,同时第五个字节的数字可以更新;六、七、八三个字节是计算机自身使用。用读寄存器的命令能读出第九个字节,这个字节是对前面的八个字节进行校验。存储器的结构图如图4.6所示。 图4.6 存储器的结构图 4.3.3 64-位光刻ROM 64位光刻ROM的前8位是DS18B20的自身代码,接下来的48位为连续的数字代码,最后的8位是对前56位的CRC校验。64-位的光刻ROM又包括5个ROM的功能命令:读ROM,匹配ROM,跳跃ROM,查找ROM和报警查找。64-位光刻ROM的结构图如图4.7所示。 图4.7位64-位光刻ROM的结构图 4.3.4 DS18B20外部电源的连接方式 DS18B20可以使用外部电源VDD,也可以使用内部的寄生电源。当VDD端口接3.0V—5.5V的电压时是使用外部电源;当VDD端口接地时使用了内部的寄生电源。无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。 连接图如图4.8、图4.9所示。 图4.8 使用寄生电源的连接图 图4.9外接电源的连接图 4.3.4 DS18B20温度处理过程 4.3.4.1配置寄存器 配置寄存器是配置不同的位数来确定温度和数字的转化。配置寄存器的结构图如图4.10所示。 图4.10 配置寄存器的结构图 由图4.9可以知道R1,R0是温度的决定位,由R1,R0的不同组合可以配置为9位,10位,11位,12位的温度显示。这样就可以知道不同的温度转化位所对应的转化时间,四种配置的分辨率分别为0.5℃,0.25℃,0.125℃和0.0625℃,出厂时以配置为12位。温度的决定配置图如图8所示。 图4.11 温度的决定配置图 4.3.4.2 温度的读取 DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。16位数字摆放是从低位到高位,温度的关系图如图4.12所示。 图4.12为温度的关系图 4.3.4.3.DS18B20控制方法 DS18B20有六条控制命令,如表4.1所示: 表4.1 为DS18B20有六条控制命令 指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 4.3.4.4 DS18B20的初始化 (1) 先将数据线置高电平“1”。 (2) 延时(该时间要求的不是很严格,但是尽可能的短一点) (3) 数据线拉到低电平“0”。 (4) 延时750微秒(该时间的时间范围可以从480到960微秒)。 (5) 数据线拉到高电平“1”。 (6) 延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制)。 (7) 若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。 (8) 将数据线再次拉高到高电平“1”后结束。 其时序如图4.13所示: 图4.13 初始化时序图 4.3.4.5 DS18B20的写操作 (1) 数据线先置低电平“0”。 (2) 延时确定的时间为15微秒。 (3) 按从低位到高位的顺序发送字节(一次只发送一位)。 (4) 延时时间为45微秒。 (5) 将数据线拉到高电平。 (6) 重复上(1)到(6)的操作直到所有的字节全部发送完为止。 (7) 最后将数据线拉高。 DS18B20的写操作时序图如图4.14所示。 图4.14 DS18B20的写操作时序图 4.3.4.6 DS18B20的读操作 (1)将数据线拉高“1”。 (2)延时2微秒。 (3)将数据线拉低“0”。 (4)延时15微秒。 (5)将数据线拉高“1”。 (6)延时15微秒。 (7)读数据线的状态得到1个状态位,并进行数据处理。 (8)延时30微秒。 DS18B20的读操作时序图如图4.15所示。 图1.15 DS18B20的读操作图
1.64MB
经典c语言教程(嵌入式)
2008-12-30超级经典的c语言学习教程,对入门者或者专业程序员都很有帮助。
10KB
嵌入式红绿灯控制系统
2010-12-25嵌入式红绿灯控制系统(模拟) 一、摘要: 交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使人与人、车与车之间尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。本文介绍了一种城市十字路口交通信号灯控制系统。该系统采用了以8051为内核的单片机芯片AT89s51作为核心控制器,以嵌入式操作系统RTX51为软件开发平台,通过控制城市十字路口的交通信号灯来指挥交通。该系统具有制作简单、成本低、功能实用等特点。 关键词:单片机 嵌入式操作系统 交通信号灯控制 二、 引言: 随着经济发展,汽车保有量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个城市管理的难题。十字路口的红绿灯指挥着行人和车辆的安全通过,实现红绿灯自动指挥是城市管理自动化的重要课题: [1];围绕这一课题,多年来有众多设计方案来实现这一功能,随着数字技术、软件编程的发展和进步,实现这一功能的新的设计方案更是层出不穷。就目前而言,在这一方面,比较普遍使用而又技术先进的主要是以CPLD为核心的实现方案和以MCU为核心的实现方案。 [2]但是将两者与嵌入式操作系统RTX51微控器软件相结合构成完整的交通信号灯控制系统的设计方案还比较少。本人与导师近年来一直从事这方面的研究,通过努力,我们已将本设计方案优化、完善并应用于实际,且效果较好。现本文将着力介绍基于MCU和嵌入式操作系统RTX51微控器软件相结合的这一交通信号灯控制系统。 三、 设计原理: 1、LED 灯具的应用及优点 LED 照明灯具在近期得到飞跃的发展,LED 作为绿色环保的清洁光源得到广泛的认可。LED 光源使用寿命长、节能省电、应用简单方便、使用成本低,因而在LED 手电筒、LED 矿灯及便携照明;在建筑照明、装饰照明、标识牌照明;在汽车的仪表板背光、前后雾灯、第三刹车灯、方向灯、尾灯;以及在家庭照明都会得到海量的应用,欧司朗光学半导体公司2008 年调查统计,全球每年家庭照明灯座出货量约为500 亿个。LED 光源的技术日趋成熟,每瓦发光流明迅速增长,促使其逐年递减降价。以1W LED 光源为例,2008 年春的价格已是2006 年春的价格三分之一,2009 年春将降至2006 年的四分之一。 LED 绿色灯具的海量市场和持续稳定数年增长需求将是集成电路行业继VCD、DVD、手机、MP3 之后的消费电子市场的超级海啸!LED 灯具的高节能、长寿命、利环保的优越性能获得普遍的公认。 LED 高节能:节能能源无污染即为环保。直流驱动,超低功耗(单管0.03瓦-1 瓦)电光功率转换接近100%,相同照明效果比传统光源节能80%以上。 LED 长寿命:LED 光源被称为长寿灯。固体冷光源,环氧树脂封装,灯体内也没有松动的部分,不存在灯丝发光易烧、热沉积、光衰快等缺点,使用寿命可达5 万到10 万小时,比传统光源寿命长10 倍以上。 LED 利环保:LED 是一种绿色光源,环保效益更佳。光谱中没有紫外线和红外线,热量低和无频闪,无辐射,而且废弃物可回收,没有污染不含汞元素,冷光源,可以安全触摸,属于典型的绿色照明光源。 照明用LED 光源的VF 电压都很低,一般VF =2.75-3.8V,IF 在15-1400mA;因此LED 驱动IC 的输出电压是VF X N 或VF X 1, IF 恒流在15-1400mA。LED灯具使用的LED 光源有小功率(IF=15-20mA)和大功率(IF>200mA))二种,小功率LED 多用来做LED 日光灯、装饰灯、格栅灯;大功率LED 用来做家庭照明灯、射灯、水底灯、洗墙灯、路灯、隧道灯、汽车工作灯等。功率LED 光源是低电压、大电流驱动的器件,其发光的强度由流过LED 的电流大小决定,电流过强会引起LED 光的衰减,电流过弱会影响LED 的发光强度,因此,LED的驱动需要提供恒流电源,以保证大功率LED 使用的安全性,同时达到理想的发光强度。在LED 照明领域,要体现出节能和长寿命的特点,选择好LED 驱动IC 至关重要,没有好的驱动IC 的匹配,LED 照明的优势无法体现。 (1)LED 工作的主要参数是VF、IF,其它相关的是颜色/色温/波长/亮度/发光角度/效率/功耗等。LED 是一个P-N 结二极管,只有施加足够的正向电压才能传导电流。VF 正向电压是为LED 发光建立一个正常的工作状态,IF 正向电流是促使LED 发光,发光亮度与流过的电流成正比例。LED VF 标称电压:3.4V± 0.2V 。 (2)LED IF 工作电流按应用需要选用,各档不能混用。LED 灯用各档LED 电流:大功率照明用LED 其封装从成品来看是单颗芯片的,其实是用N 颗LED管芯封装在一个单位里的。它们的排列组合是串并联,它们是N 个串联,再N个并联,然后由二点联接电源。选用时要特别注意它的VF 和IF。 2、 LED 灯具驱动原理: LED 灯具驱动需要先将高压的交流电变换成低压的交流电(AC/AC),然后、将低压的交流电经桥式整流变换成低压的直流电(AC/DC),再通过高效率的DC/DC 开关稳压器降压和变换成恒流源,输出恒定的电流驱动LED 光源。 LED光源是按灯具的设计要求由小功率或大功率LED 多串多并而组成。每串的IF 电流是按所选用的LED 光源IF 要求设计,总的正向电压△VF 是N 颗LED 的总和。LED 灯具选用36V 以下的交流电源可以考虑非隔离供电,如选用220V 和100V 的交流电源应考虑隔离供电。 (3)、目前 MR11、MR16 射灯、水底灯、洗墙灯、路灯、隧道灯、汽车工作灯等LED 灯具大多选用散热较好的自带铜基或铝基板的1W、3W 大功率LED 光源,使用AC/DC12-36V 电源,因而需要使用DC/DC 的降压(Buck)+ 恒流给LED提供VF 和IF。LED 灯具大多使用低压电源,因此在这类灯具的电路设计上,LED的串联个数在1-9 颗,尤以1-3 颗为常见。串联的总△VF 应低于电源Vin。如三颗LED 串联,△VF=3.4V X 3=10.2V。在Vin>12V,能正常工作。MR11、MR16射灯常见的是1W X 3 串联或3W X 1;水底灯常见的是1W X 3 串联2-3 并,三个一组;洗墙灯常见的是1W X 7-9 串联;路灯常见的是1W X 9 串联3 并,4--6个一组;、汽车工作灯常见的是1W X 3-6 串联3 并。当然LED 的串并联的方案是多种多样的,串联个数与其工作电压(Vin)有关,这里就DC12-36V 工作电压而言。目前1W 的LED 光源散热较好,因此选用较多。 LED 灯具对低压驱动芯片的要求: 1)驱动芯片的标称输入电压范围应当满足DC5-40V,以覆盖应用面的需要,耐压如能大于40V 更好;AC 12V 或24 V 输入时简单的桥式整流器输出电压会随电网电压波动,特别是电压偏高时输出直流电压也会偏高,驱动IC 如不能适应宽电压范围,往往在电网电压升高时会被击穿,LED 光源也因此被烧毁。 2)驱动芯片的标称输出电流要求大于1.2-1.5A,作为照明用的LED 光源,1W功率的LED 光源其标称工作电流为350mA,3W 功率的LED 光源其标称工作电流为700mA,功率大的需要更大的电流,因此LED 照明灯具选用的驱动IC 必需有足够的电流输出,设计产品时必需使驱动IC 工作在满负输出的70-90%的最佳工作区域。使用满负输出电流的驱动IC 在灯具狭小空间散热不畅,容易疲劳和早期失效。 3)驱动芯片的输出电流必需长久恒定,LED 光源才能稳定发光,亮度不会闪烁;同一批驱动芯片在同等条件下使用,其输出电流大小要尽可能一致,也就是离散性要小,这样在大批量自动化生产线上生产才能有效和有序;对于输出电流有一定离散性的驱动芯片必选在出厂或投入生产线前分档,调整PCB 板上电流设定电阻(Rs)的阻值大小,使之生产的LED 灯具恒流驱动板对同类LED 光源的发光亮度一致,保持最终产品的一致性。 4)驱动芯片的封装应有利于驱动芯片管芯的快速散热,如将管芯(Die)直接绑定在铜板上,并有一Pin 直接延伸到封装外,便于直接焊接在PCB 板的铜箔上迅速导热如在一个类似4X4mm 的硅片管芯上,要长时间通过300-1000mA 的电流,必然有功耗,必然会发热,芯片本身的物理散热结构也是至关重要的。 5) 驱动芯片本身的抗 EMI、噪音、耐高压的能力也关系到整个LED 灯具产品能否顺利通过CE、UL 等认证,因此驱动芯片本身在设计伊始就要选用优秀的Die塑封铜板 6) 驱动芯片自身功耗要求小于 0.5W,开关工作频率要求大于120Hz,以免工频干扰而产生可见闪烁是一颗可应用于多种LED 灯具驱动的芯片,如路灯、水底灯、洗墙灯、泛光灯、隧道灯、汽车工作灯等。简单实用低成本LED 灯具方案。可将3- 9 颗1W LED 串联,其ΔVF=3.4 V X N, IF=350mA 。当 Vin=12VDC时,3 颗LED 串联, ΔVF=10.2V,工作效率较佳。并可3 串并联应用,ΔIF=3 X350mA=105LED 结合Bipolar高压和BCD高压制程工艺的XL4001、XL4002、XL4101、XL4102产品,输入电压可以做到5V-40V,具有恒流,恒压功能,内置过压、过流、短路、过温保护。针对LED驱动、MR16驱动(1W/3W LED 最高到10颗串联)的市场应用,外围电路简单、性能稳定。持续恒流源输出,最大电流可以做到3A。52kHz 的固定开关频率 .输入/输出电压变化时,负载电流变化范围在± 1%之内. 串接多个LED 时,效率可以达到80%~95%.过温保护(120摄氏度) HVBCD的工艺的高压,大电流,恒流LED升压驱动IC有XL6003、XL6005、XL5002。可以支持16串1W/3W LED串联使用。 XL6003是一颗突破传统电路拓扑结构,结合HVBCD工艺,大电流,高压DC/DC升压恒流LED驱动IC, (1)它具有较宽的直流3.6V到36V输入电压范围(低压可以兼顾锂电供电) (2)最高升压可到42V,可驱动串联12颗1W LED(同比其它品牌多驱动4~5颗LED) XL6003最高可以12个LED灯串联,市场其它最高输出只能够8个LED灯串联。 (3)大电流1050mA持续电流输出,可驱动1W LED12串3并或3W LED12串 (4)EN脚可实现PWM调光,且自带软启动功能 (5)低至0.2V参考电压,可以有效提高系统效率 (6)输出42V过压保护功能 .内置过热保护功能 优势:宽电压输入,大电流输出,外围电路简单。XL6003应用简单,普通DC/DC升压拓扑结构,效率高达92%,适用于基于LED的汽车、路灯、 太阳能灯及LED背光驱动的应用. 3、 LED的驱动程序: #ifndef __KERNEL__ # define __KERNEL__ #endif #ifndef MODULE # define MODULE #endif #include <linux/config.h> #include <linux/module.h> #include <linux/devfs_fs_kernel.h> #include <linux/init.h> #include <linux/kernel.h> /* printk() */ #include <linux/slab.h> /* kmalloc() */ #include <linux/fs.h> /* everything... */ #include <linux/errno.h> /* error codes */ #include <linux/types.h> /* size_t */ #include <linux/proc_fs.h> #include <linux/fcntl.h> /* O_ACCMODE */ #include <linux/poll.h> /* COPY_TO_USER */ #include <asm/system.h> /* cli(), *_flags */ #include <asm/arch/iic.h> #define DEVICE_NAME "demo" #define led_MAJOR 212 #define led_MINOR 0 static int MAX_BUF_LEN=1024; static char drv_buf[1024]; static int WRI_LENGTH=0; static char combuf[2]; char base = 0x70; char off = 0x07; /************************************************** / static ssize_t led_write(struct file *filp,const char *buffer, size_t count, loff_t *ppos) { copy_from_user(drv_buf , buffer, count); combuf[0]=drv_buf[0]; combuf[1]=drv_buf[1]; WRI_LENGTH = count; printk("user write data to driver\n"); IIC_WriteSerial(base, off, combuf, 2); return count; } /******************************************/ static ssize_t led_read(struct file *filp, char *buffer, size_t count, loff_t *ppos) { return count; } /*****************************************/ static int led_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg) { printk("ioctl runing\n"); switch(cmd){ case 1:printk("runing command 1 \n");break; case 2:printk("runing command 2 \n");break; default: printk("error cmd number\n");break; } return 0; } /******************************************/ static int led_open(struct inode *inode, struct file *file) { sprintf(drv_buf,"device open sucess!\n"); printk("device open sucess!\n"); return 0; } /******************************************/ static int led_release(struct inode *inode, struct file *filp) { MOD_DEC_USE_COUNT; printk("device release\n"); return 0; } /******************************************/ static struct file_operations demo_fops = { owner: THIS_MODULE, write: led_write, read: led_read, ioctl: led_ioctl, open: led_open, release: led_release, }; /******************************************/ #ifdef CONFIG_DEVFS_FS static devfs_handle_t devfs_demo_dir, devfs_demoraw; #endif /********************************************/ static int __init led_init(void) { int result; SET_MODULE_OWNER(&demo_fops); result = register_chrdev(led_MAJOR, "demo", &demo_fops); if (result < 0) return result; printk(DEVICE_NAME " initialized\n"); return 0; } /***********************************************/ static void __exit led_exit(void) { unregister_chrdev(led_MAJOR, "demo"); //kfree(demo_devices); printk(DEVICE_NAME " unloaded\n"); } /*****************************************/ module_init(led_init); module_exit(led_exit); ////////////////////////////////////////////////////////////////////////////// 下面是程序说明,不是代码部分: 重要的数据结构 struct file数据结构 定义位于include/fs.h struct file结构与驱动相关的成员 mode_t f_mode 标识文件的读写权限 loff_t f_pos 当前读写位置 unsigned int_f_flag 文件标志,主要进行阻塞/非阻塞型操作时检查 struct file_operation * f_op 文件操作的结构指针 void * private_data 驱动程序一般将它指向已经分配的数据 struct dentry* f_dentry 文件对应的目录项结构 设备驱动程序接口( struct file_operations), 标记化方法: static struct file_operations demo_fops = { owner: THIS_MODULE, write: demo_write, read: demo_read, ioctl: demo_ioctl, open: demo_open, release: demo_release, }; 设备驱动程序接口( struct file_operations ) 通常所说的设备驱动程序接口是指struct file_operations{ },它的定义位于include/linux/fs.h中。 在嵌入式系统的开发中,通常只要实现如下几个接口函数就能完成系统所需要的功能 init 加载驱动程序(insmod)时,内核自动调用 read 从设备中读取数据 write 向字符设备中写数据 ioctl 控制设备,实现除读写操作以外的其他控制命令 open 打开设备并进行初始化 release 关闭设备并释放资源 exit 卸载驱动程序(rmmod)时,内核自动调用 驱动程序注册过程(动态分配主设备号) insmod module_name ;加载驱动程序,运行init函数(register_chrdev(dev_Major, “module_name”, * fs )) 查看/proc/devices mknod /dev/module_name c/b 主设备号 次设备号 rmmod module_name ;卸载驱动,运行 exit函数(unregister_chrdev(dev_Major, “module_name”, * fs )) 3、交通灯的设计原理: 一般来说,十字路口处的两条相交叉的道路是有主次之分的,其中车流量较大的称为主干道;而车流量相对较小的称为次干道。有主、次干道交叉口的城市道路,四个方向都设有红、绿、黄三色信号灯。红灯亮表示禁止通行;绿灯亮表示可以通行;在绿灯亮转变为红灯亮之前,先要求黄灯亮几秒,以便让交叉口停车线以外的车辆停止通行,而交叉口停车线以内的车辆快速通过交叉口,并且主干道红灯亮的时间等于次干道绿灯亮时间和黄灯亮时间之和。同理,次干道红灯亮时间等于主干道绿灯亮时间与黄灯亮时间之和。完成以上系统设计方法有多种。用MCU实现该系统设计,相对而言是最简单的,因MCU最适宜于对物理对象的控制,通过控制器编程,很容易达到设计要求且成本较低、易于操作。 四、 交通信号灯控制电路的硬件设计: 首先,要设计一个信号灯控制电路方案,实现对红、黄、绿三色信号灯的控制,用发光二极管模拟十字路口的红、黄、绿三色信号灯。某城市道路十字路口交通信号灯控制方案如表1: 表1: 表1交通信号灯控制方案 : 路口街道 主干道 次干道 信号灯 R Y G r y G 主红支绿30s 1 0 0 0 0 1 主红支黄5s 1 0 0 0 1 0 主绿支红40s 0 0 1 1 0 0 主黄支红5s 0 1 0 1 0 0 由表1可知,主干道车辆通行时间是30s,次干道为20s,红绿灯转换之间黄灯亮5s,控制三色灯的信号为开关信号,约定逻辑0表示灯灭,逻辑1表示灯亮。设计控制电路图如图1所示。 由图可知,这是一个非常简单的微控制器最小系统,其中的AT89S51具有高效的8051内核,8KB FLASH EEPROM,256字节的RAM,符合本系统实际应用的要求。其中,发光二极管实际为若干发光二极管组成的阵列,每个发光二极管只是一个像素点,能显示红、黄、绿三种颜色,这是因为每个发光二极管封装内包含两个发光二极管。仅当Red亮时,灯显红色,仅当Green亮时,灯显绿色,当两者同时点亮时,由混色原理可知,灯显黄色。 五、 交通信号灯控制电路的软件设计: 根据城市道路十字路口交通信号灯控制方案,结合硬件电路,可以得出十字路口交通信号灯的状态变换关系如图2由上图可知,信号灯的状态共有4个,每个状态停留的时间是不同的,软件要完成的任务就是按照状态关系控制主干道和次干道红、黄、绿三色信号灯变化。这是一个典型的按照时间原则控制系统在4个状态之间循环。基于嵌入式操作系统RTX51的微控制器软件很容易实现这种要求。该软件可以实现实时和多任务控制,并可以利用操作系统函数os_wait(K_IVL,ticks)来实现精确定时,通过MCU的I/O端口实现对信号灯的控制[4]。根据以上分析,可以把软件要完成的功能分成两部分: 任务0:系统初始化。将6个信号灯全部熄灭,然后启动任务1。 任务1:按照设计方案控制信号灯状态。当是同处于某种状态时,条用系统操作函数os_wait(K_IVL,ticks)实现经确定时,使这一状态保留特定的时间后转到下一状态。4种状态都完成后再回转到状态1,并无限循环下去。使用keil V7.0软件[5],采用C51高级语言编程,用户应用程序如下: #include<reg52.h> #include<rtx51tny.h> sbit main_red=p0^0 sbit main_yellow=p0^1 sbit main_green=p0^2 sbit branch_red=p0^5 sbit branch_yellow=p0^6 sbitbranch_green=p0^7 /************************************/ /任务0 系统初始化,将六个灯全部熄灭,然后启动任务1 /************************************/ Void int(void)_task0 { main_red=1; main_yellow=1; main_green=1; branch_red=1; branch_yellow=1; branch_green=1; os_create_task(1); os_delete_task(0); ************************************/ 任务1 按时间原则控制信号灯 /************************************/ void ledcontrol(void)_task1 While(1) main_red=0; main_yellow=1; main_green=1; branch_red=1; branch_yellow=1; branch_green=0; so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); main_red=0; main_yellow=1; main_green=1; branch_red=1; branch_yellow=0; branch_green=1; so_wait2(k_ivl,250); so_wait2(k_ivl,250); main_red=1; main_yellow=1; main_green=0; branch_red=0; branch_yellow=1; branch_green=1; so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); so_wait2(k_ivl,250); main_red=1; main_yellow=0; main_green=1; branch_red=0; branch_yellow=1; branch_green=1; 六、总结 : 本文详尽介绍了交通信号灯MCU控制系统的设计思路、硬件及软件的构成。硬件电路为一个MCU最小系统,设计十分简单,而且MCU仅仅使用了很少的IO口,留下了很多没用到的IO口资源,这保证了系统功能扩展时有足够的硬件资源。软件部分由于采用了越来越受广大电子设计工作者青睐的实时嵌入式操作系统软件,并且使用C语言编程,使整个系统软件部分同硬件部分一样简捷。交通信号灯控制系统实际运行结果表明,实时操作系统能保证对外界信息进行足够迅速的处理。 七、 本系统的创新之处: 传统的微控制器应用大多采用结构化编程思想,对单任务控制能达到编程简单、思路清晰、开发周期短的要求。但面对多任务、实时性要求高、相对复杂的系统,采取传统的结构化编程方法,所编写的用户程序可能非常复杂,这无疑给设计人员带来了较大的困难;嵌入式实时操作系既能够保证对外界的信息以足够快的速度进行处理,又能并行地运行多个任务,具有实时性和并行性的特点。嵌入式实时操作系统的使用降低了软件编程的复杂程度、编写的程序有较好的可读性和可移植性、提高了开发效率,而且系统维护和功能扩展非常方便。 八、参考文献: [1]尹宏宾,徐建闽.道路交通控制技术.广州:华南理工大学出版社.2000. [2]刘智勇.智能交通控制理论及其应用.北京:科学出版社.2003. [3]何立民.单片机高级教程[M].北京:北京航空航天大学出版社.2000. [4]晨风.嵌入式实时多任务软件开发基础[M].北京:清华大学出版社.2004. [5]彭秀华.Keil V7.0单片机高级语言编程.北京:电子工业出版社.2005 [6]网络
-
下载
dede源码多城市分站插件安装说明.zip
dede源码多城市分站插件安装说明.zip
-
下载
HDP-UTILS-1.1.0.22-centos7安装包
HDP-UTILS-1.1.0.22-centos7安装包
-
下载
HDP-GPL-3.1.4.0-centos7-gpl安装包
HDP-GPL-3.1.4.0-centos7-gpl安装包
-
下载
java主流开发框架演变历程.pptx
java主流开发框架演变历程.pptx
-
下载
vehicle.zip
vehicle.zip
-
下载
libtorch调用模型,qt作为gui
libtorch调用模型,qt作为gui
-
下载
ExamSys.rar
ExamSys.rar
-
下载
apache-tomcat-9.0.44-windows-x64.zip
apache-tomcat-9.0.44-windows-x64.zip
-
下载
factor_returns.csv
factor_returns.csv
-
下载
总经理在集团公司上半年经济运行分析会上的讲话.pdf
总经理在集团公司上半年经济运行分析会上的讲话.pdf
