1、基于51单片机数控直流电源设计学号:XXXXXXXXXX姓名:XXX日期:12月目录第1章 绪论11.1 课题背景及意义11.2 课程设计重要内容1第2章 系统总体设计32.1 方案设计与论证32.2 系统总框图4第3章 硬件设计63.1 硬件选型63.1.1 系统供电某些63.1.2 控制器某些63.1.3 显示某些63.1.4 键盘某些63.1.5 数模/模数转换某些73.1.6 掉电记忆某些73.2 硬件电路设计73.2.1 电源模块73.2.2 DA转换模块83.2.3 电压调节模块93.2.4 键盘模块103.2.5 EEPROM拓展模块113.2.6 显示模块12第4章 软件设计1
2、34.1主程序流程134.2 键盘程序流程图144.3 EEPROM读写程序流程154.4 DAC0832程序流程164.5 TLC1543程序流程17第5章 系统测试及误差分析185.1 系统测试185.1.1 软件测试185.1.2 硬件测试185.1.3 系统整体测试185.2 误差分析19结论(心得体会)21参照文献22附录一23附录二24第1章 绪论1.1 课题背景及意义电源技术特别是数控电源技术是一门实践性很强工程技术,服务于各行各业。当今电源技术融合了电气、电子、系统集成、控制理论、材料等诸多学科领域。直流稳压电源是电子技术惯用仪器设备之一,广泛应用于教学、科研等领域,是电子实验
3、员、电子设计人员及电路开发部门进行实验操作和研究不可缺少电子仪器。在电子电路中,普通都需要电压稳定直流电源来供电。而整个稳压过程是由电源变压器、整流、滤波、稳压等四某些构成。然而这种老式直流稳压电源功能简朴、不好控制、可靠性低、干扰大、精度低且体积大、复杂度高。普通直流稳压电源品种有诸多,但均存在如下两个问题:输出电压是通过粗调(波段开关)及细调(电位器)来调节。这样,当输出电压需要精准输出,或需要在一种小范畴内变化时,困难就较大。此外,随着使用时间增长,波段开关及电位器难免接触不良,对输出会有影响。稳压方式均是采用串联型稳压电路,对过载进行限流或截流型保护,电路构成复杂,稳压精度也不高。在家
4、用电器和其她各类电子设备中,普通都需要电压稳定直流电源供电。但在实际生活中,都是由220V交流电网供电。这就需要通过变压、整流、滤波、稳压电路将交流电转换成稳定直流电。滤波器用于滤去整流输出电压中纹波,普通老式电路由滤波扼流圈和电容器构成,若由晶体管滤波器来代替,则可缩小直流电源体积,减轻其重量,且晶体管滤波直流电源不需直流稳压器就能用作家用电器电源,这既减少了家用电器成本,又缩小了其体积,使家用电器小型化。老式直流稳压电源普通采用电位器和波段开关来实现电压调节,并有电压表批示电压值大小。因而,电压调节精度不高,读数欠直观,电位器也易磨损。而基于单片机控制直流稳压电源能较好地解决以上老式稳压电
5、源局限性。随着科学技术不断发展,特别是计算机技术突飞猛进,当代工业应用工控产品均需要有低纹波、宽调节范畴高压电源,而在某些高能物理领域,更是急需电脑或单片机控制低纹波、宽调节范畴电源。1.2 课程设计重要内容本设计给出数控直流稳压电源输出电压范畴为013V,额定工作电流为0.5A,并具备“+”、“- ”步进电压调节功能,其最小步进为0.05 V,纹波不不不大于10 mV,此外,还可用LCD液晶显示屏显示设定电压值和输出电压值。该系统原理是以STC89C52单片机为控制单元,以数模转换芯片DAC0832输出参照电流控制电压调节模块NE5534输出电压大小,同步输出稳压采用模数转换芯片TLC154
6、3将采样电压模仿信号转换为数字信号,再通过单片机实现闭环控制。第2章 系统总体设计2.1 方案设计与论证方案一:设计开关电源。在前期方案设计中采用PWM脉宽调制。它功耗小,效率高,稳压范畴宽,电路形式灵活多样,功耗小,效率高。在制作过程中发现,PWM占空比线性变化使相应电流呈非线性变化,经分析发现滤波电容存在对占空比很小PWM波积分效果明显,导致电压非线性变化更明显,特别是PWM占空比很小时(但愿得到输出电压很小),运用单片开关电源PWM技术控制开关占空比来调节输出电压,以达到稳定输出目。但用数字量控制作用更加明显。方案二:用D/A和运算放大器做电流源,即采用D/A输出调节晶体管偏值电流(电压
7、)。采用此方案能有效缩短调节时间,并能提高输出精度。设计方案,涉及了微控制器模块、D/A转换模块、稳压控制模块、显示模块、键盘模块、电源模块五某些构成,形成开环控制。采用惯用51芯片作为控制器,P0口和DAC0832数据口直接相连,DA电流输出端接放大器UA741反向输入端,DAC0832和运放UA1将单片机发出八位二进制数转换成05V负电压,再通过反向比例放大器UA2将负电压转换成010V正电压,输出到电压调节模块NE5534,将电压步进值调节为0.05V。因此,当MCU输出数据增长1时候,最后输出电压增长0.05V,当调节电压时候,可以以每次依0.05V梯度增长或者减少电压。数码管显示电路
8、,该系统使用3个数码管,可以显示三位数,分别构成显示电路十位、个位、小数点位。本主电路原理是通过MCU控制DA输出电流大小,通过两级放大器转换成电压值并放大,通过电压调节模块调节作为最后输出电压。 方案三:用D/A和运算放大器做电流源,即采用D/A输出调节晶体管偏值电流(电压),使用电压采样电路,通过A/D转换实现闭环控制。采用此方案是对方案二改进,能有效缩短调节时间,进一步提高输出精度。设计方案,其重要由微控制器模块、D/A转换模块、电压调节模块、显示模块、键盘模块、电源模块六某些构成。液晶屏显示电路,该系统使用LCD1602液晶显示屏,可以清晰地显示分别构成显示电路十位、个位、小数点位,同
9、步还能显示英文名称和电压/电流单位。 按照方案三设计可以较好满足课程设计目的与规定,因此最后选用方案三。2.2 系统总框图采用双220V/18V 变压器,将220V市电经桥式整流,滤波后得+21V和-21V电压值,再通过三端稳压芯片得到需要+15V,-15V和+5V,为系统提供电源支持。以单片机STC89C52为核心,输出电流经D/A转换,比较放大后得到适当电压值,经电压调节后输出UO,对UO采样,经A/D转换送回到单片机与设定值比较,自动调节以实现闭环控制。系统总框图如图2-1所示。市电系统电源变压+21V+15V整流 -15V+5V电压调节及过流保护 UO比较放大取样 D/A转换电压显示S
10、TC89C52A/D转换键盘掉电记忆图2-1 系统总框图 第3章 硬件设计3.1 硬件选型3.1.1 系统供电某些由于该电源总共需要+21V,+15V,-15V,+5V电压,因此采用双220V/18V 变压器,经桥式整流滤波后得到21V电压;由三端稳压器7815,7915和7805分别得到+15V,-15V和+5V电压。3.1.2 控制器某些方案一 应用mega16作为控制器。AVR是51升级版,具备速度快,且自带512字节EEPROM,不需要此外接扩展EEPROM长处;缺陷是,对AVR使用不太熟悉,价格比较贵。方案二 采用STC89C52作为控制器。长处:技术比较纯熟,使用广泛,价格便宜,并
11、且功能上也完全满足本系统规定;缺陷:需要连接扩展EEPROM。由于本系统对单片机速度规定不是很高,并且连接扩展EEPROM也不复杂,通过比较,选用方案二。3.1.3 显示某些方案一 使用LED显示。长处:可视角度宽,介格便宜;缺陷:显示内容少,介面呆板,并且占用较多IO口资源。方案二 应用1602液晶显示模块。长处:界面美观,可显示文字及数字;缺陷:价格较贵。 通过比较,我选节方案二。3.1.4 键盘某些方案一 运用I/O口直接连接独立式键盘,每键均有相应I/O口相应,编程容易控制,实现以便;方案二 运用P3口接成4*2键盘。长处:运用6个IO口得到8个按键,可使操作介界变得简朴,操作也以便;
12、缺陷:软件解决比独立按键复杂。通过比较,结合本设计不需要太多IO口,方案一为最佳方案。3.1.5 数模/模数转换某些方案一 采用PCF8591芯片。长处:集AD,DA于一身;缺陷:价格昂贵,且操作不熟悉。方案二 数模转换某些采用DAC0832芯片;模数转换某些采用TLC1543芯片。长处:两芯片均为惯用芯片,操作简朴,软件编程简朴;缺陷:占用比较多IO口,为PCB布线带来困难。通过比较,方案二位最佳。3.1.6 掉电记忆某些我选用应用最广泛ST24C02芯片。该芯片价格便宜,操作简朴,抗干扰强,数据能保持一百年。3.2 硬件电路设计本系统由电源模块,调压模块,DA转换模块,键盘模块,EEPRO
13、M拓展模块与显示模块构成。3.2.1 电源模块220V市电通过双18V变压器转换后到+ -18V电压,再通过桥式整流滤波电路,得到18*1.2=21.6(V)电压。其中+21V电压通过7815转换得到稳定+15V电压,再经7805转换得到稳定+5V电压;-21V电压通过mc7915转换得到稳定-15V电压。其中,+21V为系统供电,+15V,-15V,+5V分别为各独立元件供电。图3-2-1 电源模块原理图3.2.2 DA转换模块 DA转换模块由DAC0832,两级运放UA741构成。DAC0832具备8位辨别率,有3种工作方式(单缓冲,双缓冲,直通)。本设计中DAC工作于直通工作方式。D/A
14、转换成果采用电流形式输出。要是需要相应模仿电压信号,可通过一种高输入阻抗线性运算放大器实现这个供功能。该片逻辑输入满足TTL电压电平范畴,可直接与TTL电路或微机电路相接,-芯片电路原理图如图3-2-2所示。图3-2-2 DAC0832引脚图和内部构造电路图UA741为惯用运放,由美国fairchild 公司生产,具备低漂移,稳定等长处,可外置调零电路以抑制零点漂移。DAC0832和运放UA1将单片机发出八位二进制数转换成05V负电压,再通过反向比例放大器UA2将负电压转换成010V正电压。通过两级运放放大后,DAC0832转换辨别率为10/(28-1)=0.04V。即单片机向DAC送出数据变
15、化1BIT,运放UA2输出电压值变化0.04V。滑动变阻器R22作用为调零电路以抑制零点漂移。图3-2-3 DA转换模块原理图3.2.3 电压调节模块本设计电压调节模块如图3-2-4所示。Q1,Q2构成复合管,以实现大电流输出。由于该设计预定额定电流为0.5A,最大输出电压为12.5V,因此规定Q1管射极最大功率Pmax=0.5*12.5=6.25W,因此选用TIP41c。Q3管9013和电阻R1为限流保护某些。当输出电流不不大于0.7A时,R1上压降为0.7V使得T3管导通,Q3管集电极对Q2管基极分流,使得Q2管基极电流明显变小使得输出电流变小,从而达到过流保护功能。发光二极管起过流提示作
16、用。电压调节模块核心某些是NE5534。NE5534生产于美国德州半导体公司,具备共模抑制比高,响应速度快和压摆率高等长处,惯用于音响,耳机等设备。由DA及运放转换后电压U1输入到NE5534正向输入端,R12 R13 R17构成NE5534取样电路。由于NE5534 Q1 Q2及取样电路构成负反馈,由运放“虚短”特点,NE5534反向输入端电压U2为正向输入端电压大小U1。由于运放尚有“虚断”特点,运放输入端对流经取样电路电流不起分流作用,因此输出电压U0/U2=(R12+R13+R17)/(R12+R13)=1.25。即U2每变化0.04V,U0变化0.05V。由于单片机输入到DAC083
17、2二进制数据每变化1BIT,U1变化0.04V即U2变化0.04V,因此U0变化0.05V。因而,该设计最小步进电压为0.05V。电容C9作用为抑制输出纹波电压。图3-2-4 电压调节模块原理图3.2.4 键盘模块系统共设立了9个独立按键,实现了惯用电压设定,电压“+”“”设定及正常关机辨别功能。0108功能分别是:设立电压值12V,9V,5V,3V,步进-0.5V,步进+0.5V,步进-0.05V,步进+0.05V。09为关机设定。 图3-2-5 按键模块原理图3.2.5 EEPROM拓展模块为了实现设定电压数据掉电保护,我在系统中连接了EEPROM24C02B,保证了在行驶过程中,如果数控
18、电源意外掉电,已经设定电压数据可以下来。 24C02B是ATMEL公司生产一款256 byte串行EEPROM,能重复擦写1,000,000次,记录信息能保存1以上,并且与单片机连接只要2根线。24C02接图如图3-2-6所示。图3-2-6 EEPROM拓展模块原理图3.2.6 显示模块显示模块重要由TLC1543及LCD液晶显示屏构成。由美国德州公司生产TLC1543,是具备10位辨别率AD转换器,它具备11路模仿输入通道及3路内置自测试方式,具备明显长处。LCD液晶屏幕采用1602,可以显示16X2个字符。由输出端采样得到模仿信号,输入到TLC1543其中一路模仿输入通道IN0,通过AD转
19、换,TLC1543将模仿量转化为10位数字量输入到单片机相应IO口。通过解决,单片机将模仿量值通过1602液晶显示出来。显示模块接图如图3-2-7所示。 图3-2-7 显示模块原理图第4章 软件设计4.1主程序流程系统核心某些是对输出精度闭环控制。对输出电压值采样,通过A/D转换通道送入单片机,与输出值进行比较,若误差不在规定范畴内,就调节STC89C52输出值,直到满足规定。系统主程序流程图如图4-1-1和图4-1-2所示。 开始 初始化读取上次关机设定值DA输出调节STC89C52输出值TLC1543检测实际输出值误差不大于50mV? N Y 图4-1-1 主程序流程图(1) 键盘扫描 等
20、待输入更改DA输出值保存设定值屏幕显示当前设定值与输出值图4-1-2 主程序流程图(2)4.2 键盘程序流程图本系统中键盘程序分为键盘扫描子程序和按键功能执行子程序。键盘扫描子程序流程图如图4-2-1所示,按键功能子程序流程图如图4-2-2所示。开始扫描键盘 有键接下?返回键值退出YY YN图4-2-1 键盘扫描子程序流程图有按键按下 开始 执行相应功能退出图4-2-2 按键功能执行子程序流程图4.3 EEPROM读写程序流程24C02B读写程序流程图如图4-3-1和图4-3-2所示。开始写入数据退出发送地址图4-3-1 24C02B写入程序流程图读取数据退出发送地址开始图4-3-2 24C0
21、2B读取程序流程图 4.4 DAC0832程序流程DAC0832程序流程图如图4-4所示。开始 结束输出相应值读取数据发送数据图4-4 DAC0832程序流程图4.5 TLC1543程序流程TLC1543小程序流程图如图4-5所示:开始 CLK发送脉冲信号发送4位地址读取前四位数据CLK发送脉冲信号读取后6位数据结束图4-5 TLC1543小程序流程图第5章 系统测试及误差分析5.1 系统测试5.1.1 软件测试1、测试软件程序编辑器keil uvision4程序烧制器STC-ISP V352、编译成果在编制完C语言后,即keil uvision4界面下,进行了调试,依照提示,我找到了程序在编
22、写上错误,加以改正,再次进行调试。通过上述简朴测试,证明本次设计程序基本上对的无误。然后,将烧录了程序单片机STC89C52接到系统电路中,查看系统电路运营状况;如果程序逻辑有问题可进一步修改,直到系统正常运营。5.1.2 硬件测试1、电源某些提供整个电路所需各种电压,由电源变压器和整流滤波电路及三个辅助稳压芯片输出构成,电源变压器功率由需要输出电流大小决定,保证有充分功率余量。2、电流取样电阻R1要选取大功率电阻(5W或10W)。也可使用废旧万用表上拆下来电阻线。检查电路连接无误后,即可试机。找一块数字表将其并联在输出电路上,按S1或S2设定一种电压,此时LCD1602第一行显示电压也许会有
23、误差,恰当微调反馈电路VR2,使其与数字表读数一致,再将数字表串联在电源输出电路上,选取恰当电流档,接上一定负载。此时,LCD1602第二行会显示出电流值,恰当调节VR3变化TLC1543参照电压,直至显示电流值与万用表显示电流值一致为止,校正完毕后即可使用。5.1.3 系统整体测试1、测试工具双踪示波器数字万用表2、 测试成果 测试成果如表5-1所示。表5-1 电压测试表系统理论值系统测量值误差显示电压值(V)理论码值(bit)实测码值(bit)实测电压值(V)3.000011110000111103.20.24.500101101001011004.60.15.00011001000110
24、0015.10.15.500110111001101105.60.16.000111100001110116.006.501000001010000006.60.17.001000110010001017.20.27.501001011010010107.60.18.001010000010011118.00.8.501010101010101008.509.001011010010110019.20.210.001100100011000119.8-0.2系统由于刚启动在电压方面不稳定,存在一定误差,但是单片机会对其进行控制,使系统再次稳定。3、精度分析绝对误差:U=(0.2+0.1+.+0
25、.2+0.2)/12=0.11V相对误差:A=U/U=(0.2/3.0+0.1/4.0+0.2/9.0+0.2/10)/12=1.8%线性度:L=Lmax/YFS=0.2/15=1.3%敏捷度:K=0.1V5.2 误差分析从电路原理框图可以看出,系统误差来源于四个方面:1、 DAC0832量化误差。2、 基准电压温漂引入误差。3、 三端稳压器电路引起误差。4、 其他器件和线路由于温漂、不稳定等因素引起误差。结论(心得体会)通过两个周艰难奋战,我最后完毕了课程设计。虽然过程是艰难,但最后成功喜悦同样令我高兴!此设计用D/A和运算放大器做电源,及采用D/A输出调节晶体管偏值电流电压。采用此方案能有
26、效地缩短调节时间,并能提高输出精度,经计算需要采用8位D/A芯片。为了争取时间,减少成本,我解决方案是采用51单片机。变化电压大小,当单片机通过闭环负反馈调节回路A/D转换检测到电压达到设定值时,将再次对输出电压进行调制,直到输出电压达到设定值;电压值理论上是象形变化,不会产生高次谐波,基本实现了各项规定和目的,达到了本次课程设计预期目。本次设计过程中,对纹波也没有提出严格规定,因此惯用稳压集成电路就可以满足规定。本设计输出电压稳压精度高,可以用在对直流电压规定较高设备上,或在实验室中当作实验电源使用。在本次设计过程中,我发现诸多问题,给我感觉就是很难,很不顺手,看似原理比较简朴电路,要动手把
27、它给设计出来却是很难一件事,重要因素是咱们没有经常动手设计过电路,尚有资料查找也是一大难题,这就规定咱们在后来学习中,应当注意到这一点,更重要是咱们要学会把从课本中学到知识和实际电路联系起来,这无论是对咱们后来就业还是学习,都会起到很大增进和协助,我相信,通过这次课程设计,在下一阶段学习中我会更加努力,力求把功课学好,学精。同步,通过本次课程设计,巩固了咱们学习过专业知识,也使咱们把理论与实践从真正意义上相结合了起来;考验了咱们借助互联网收集、查阅有关文献资料,和组织材料综合能力;从中可以自我测验,结识到自己哪方面有欠缺、局限性,以便于在日后学习中得到改进、提高。参照文献1邹红.数字电路与逻辑
28、设计M. 北京:人民邮电出版社,.2李祥臣.模仿电子技术基本教程.M 北京:清华大学出版社.3童诗白,华成英.模仿电子技术基本M 北京:高等教诲出版社,.4邱关源.电路(第四版)M.北京:高等教诲出版社,.56-745李群芳,张士军,黄建. 单片微型计算机与接口技术(第二版)M.北京:电子工业出版社,.6刘文涛.单片机语言C51典型应用设计M.北京:人民邮电出版社,.7于永,戴佳,常江.51单片机实例精讲M.北京:电子工业出版社,.8曹凤.微机数控技术及其应用M.四川:电子科技大学出版社,.9胡寿松.自动控制原理M.北京:科学出版社,.152-23310潘永雄,沙河,刘向阳.电子线路CAD实用
29、教程(第二版)M.陕西:西安电子科技大学出版社,.11李朝青.单片机原理及接口技术(建明修订版).北京:北京航空航天大学出版社,1999.12李朝青.单片机学习辅导测验及解答讲义.北京:北京航空航天出版社,.13何立民.单片机高档编程.北京:北京航空航天大学出版社,1999.14张迎新,等.单片机初级编程.北京:北京航空航天大学出版社,1999.15余永权.Flash单片机原理及应用.北京:电子工业出版社,1997.16钱逸秋.单片机原理及应用.北京:电子工业出版社,.17王兆安,刘进军.电力电子技术(第五版).北京:机械工业出版社,.43-95附录一附录二-完整源程序#include #in
30、clude #include #define uint unsigned int #define uchar unsigned char typedef unsigned char BYTE;typedef unsigned int WORD;typedef bit BOOL ;BYTE code dis1 = Power Supply;BYTE code dis2 = welcome!;BYTE code dis3 = Please wait.;BYTE code dis4 = SetValue:;BYTE code dis5 = Output:;BYTE setv6,getv6;/LCD输
31、出字符数组float n,setvalue;/电压设定值float dq,dp,qq,pp,l,xx;/转换传递参数uchar ctu,outv,inv;/DA与AD某些传递参数sbit TLCEOC=P11;/TLC占用IO口sbit TLCCL=P12;sbit TLCAD=P13;sbit TLCOUT=P14;sbit TLCCS=P15;sbit scl=P20;/断电保存占用IO口sbit sda=P21;sbit DACS=P16;/DA占用IO口sbit DAWR=P17;sbit rs= P22;/液晶LCD占用IO口sbit rw = P23;sbit ep = P24;v
32、oid delay(BYTE ms)/ 延时子程序BYTE i;while(ms-)for(i = 0;i 250;i+)_nop_();_nop_();_nop_();_nop_();/* LCD显示 子函数组 */BOOL lcd_bz()/ 测试LCD忙碌状态BOOL result;rs = 0;rw = 1;ep = 1;_nop_();_nop_();_nop_();_nop_();result = (BOOL)(P0 & 0x80);ep = 0;return result;void lcd_wcmd(BYTE cmd)/ 写入指令数据到LCDwhile(lcd_bz();rs =
33、 0;rw = 0;ep = 0;_nop_();_nop_();P0 = cmd;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_nop_();_nop_();_nop_();ep = 0;void lcd_pos(BYTE pos)/设定显示位置lcd_wcmd(pos | 0x80);void lcd_wdat(BYTE dat)/写入字符显示数据到LCDwhile(lcd_bz();rs = 1;rw = 0;ep = 0;P0 = dat;_nop_();_nop_();_nop_();_nop_();ep = 1;_nop_();_n
34、op_();_nop_();_nop_();ep = 0;void lcd_init()/LCD初始化设定lcd_wcmd(0x38);/delay(1);lcd_wcmd(0x0c);/delay(1);lcd_wcmd(0x06);/delay(1);lcd_wcmd(0x01);/清除LCD显示内容delay(1);/* DA输出函数 */void write_da() P0=outv;/ 将输出值送p0口delay(1);DACS=0; /DACS,DAWR都为低电平,0832为直通方式,送出数据delay(1);DAWR=0;delay(1);delay(1); DAWR=1;/都为
35、高电平,0832为单缓冲方式,数据缓存delay(1);DACS=1;delay(1);/* AD(TLC)读取函数 */void read_tlc()float vad;int i;i=2;while(i)uchar temp;vad=0;TLCEOC=1;delay(1);TLCCL=0;TLCCS=0;delay(1);TLCCL=0;/1TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+512;delay(1);TLCCL=1;delay(1);TLCCL=0;/2TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+256;delay(
36、1);TLCCL=1;delay(1);TLCCL=0;/3TLCAD=0;temp=TLCOUT;if(temp=1)vad=vad+128;delay(1);TLCCL=1;delay(1);TLCCL=0;/4TLCAD=1;temp=TLCOUT;if(temp=1)vad=vad+64;delay(1);TLCCL=1;delay(1);TLCCL=0;/5temp=TLCOUT;if(temp=1)vad=vad+32;delay(1);TLCCL=1;delay(1);TLCCL=0;/6temp=TLCOUT;if(temp=1)vad=vad+16;delay(1);TLCCL=1;delay(1);TLCCL=0;/7temp=TLCOUT;if(temp=1)vad=vad+8;delay(1);TLCCL=1;delay(1);TLCCL=0;/8temp=TLCOUT;if(temp=1)vad=vad+4;delay(1);TLCCL=1;delay(1);TLCCL=0;/9temp=TLCOUT;if(temp=1)vad=vad+2;delay(1);TLCCL=1;d