您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 第11章 单片机应用系统设计实例2
11-1作息时间控制钟11-2水塔水位控制第11章单片机应用系统设计实例11-3电热箱单片机温控系统11-4纸机转速、纸长的单片机控制硬件:时钟电路片软件:片内定时器在单片机计时的过程中,每一次秒加1,都与规定的作息时间比较,如比较相等就进行电铃或扩音设备的开关控制。本系统共有4项控制内容:接通电铃和断开电铃;接通和断开扩音设备。由P1口输出控制码进行控制,其控制码定义为:接通电铃:0FEH断开电铃:0FDH接通扩音设备:7FH断开扩音设备:0BFH11-1作息时间控制钟时钟产生RESETP0D80C51611674LS373EAALEGQ0A7~0D7~0A8~10P2.0~2.2P1.6P1.7P1.0P1.1扩音设备38-++-8+5V+5V由P1口输出控制码进行控制:接通电铃:0FEH断开电铃:0FDH接通扩音设备:7FH断开扩音设备:0BFHP1.7P1.6…P1.1P1.0电铃通10电铃断01扩音通01扩音断10构造4个字节的存储字,放在外部RAM(6116)50H开始的存储区中:格式:××××××××开关设备控制码字节时字节分字节秒字节存储单元开控制码时分秒关控制码时分秒50H~57H0FEH0800000FDH08001058H~5FH0FEH0850000FDH08501060H~67H0FEH0900000FDH09001068H~6FH0FEH0950000FDH09501070H~77H7FH0952000BFH10050078H~7FH0FEH1010000FDH10101080H~87H0FEH1100000FDH11001088H~8FH0FEH1110000FDH11101090H~97H0FEH1200000FDH12001098H~9FH0FEH1330000FDH1330100A0H~0A7H0FEH1420000FDH1420100A8H~0AFH0FEH1430000FDH1430100B0H~0B7H0FEH1520000FDH1520100B8H~0BFH7FH1521000BFH1550000C0H~0C3H00H(返回)×××程序:1、主程序:为时钟记时程序,使用内部RAM单元:20H秒单元21H分单元22H时单元每运行一次秒加1操作时,都调用时间比较子程序。2、时间比较子程序:记时时间与存储字中的预置时间进行比较:相等:作息时间已到,发出开关控制码,控制电铃或扩音设备的开/断;不等:子程序返回。50H——存储区首地址;R0——存储区地址指针;2EH——存储区地址指针暂存单元;6AH——存开关控制码;6BH~6DH——依次存放存储字的小时值、分值和秒值。内部RAM中:LOOP1:MOVR0,#4CH;存储字存储区首地址减4MOV2EH,R0;送存储区地址指针暂存单元LOOP2:MOVR0,2EHMOVR3,#04H;循环4次MOVR1,#23HLOOP3:INCR0;地址指针加4,得开关控制码地址DJNZR3,LOOP3MOV2EH,R0;暂存开关控制码地址MOVR3,#03H;循环3次MOVXA,@R0;读取控制码JZA,LOOP5;控制码为“0”(结束)则返回MOV6AH,A;存控制码LOOP4:INCR0;地址指针增量:50H→51H(时)→52H(分)→53H(秒)DECR1;记时单元地址减量:23H→22H(时)→21H(分)→20H(秒)MOVXA,@R0;读取作息时间(时、分、秒)MOV6BH,A;存作息时间MOVA,@R1;读取记时时间CJNEA,6BH,LOOP2;记时时间(A)与预置作息时间(6BH)比较:不等则转,继续读下面的控制码(时、分、秒)DJNZR3,LOOP4;共读取3次MOVA,6AH;开关控制码送ACPLA;取反(增大驱动能力)MOVP1,A;开关控制码输出LOOP5:RET;返回11-2水塔水位控制+5VbcABC水塔水位控制原理图传感器底部下限上限P1.0P1.10:电机工作1:电机停止一、控制原理:虚线表示允许水位变化的上下限。水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。①当水位上升,达到上限时,因水导电,B、C棒连通+5V。b、c均为“1”,应停止电机和水泵的工作,不再供水;②当水位降到下限时,B、C棒都不能与A棒导电。b、c均为“0”,应启动电机,带动水泵工作,给水塔供水;③当水位处于上下限之间时,B与A棒导通。b为“1”,c为“0”,无论怎样都应维持原有的工作状态。二、控制电路:上下限水位信号由P1.0和P1.1输入,这2个信号共有4种组合状态:输入输出操作C(P1.1)B(P1.0)P1.2(电机)P1.3(报警)0001电机运转01×1维持原状10×0故障报警1111电机停转控制信号由P1.2端输出,去控制电机。为了提高控制的可靠性,使用了光电耦合;由P1.3输出报警信号,驱动一支发光二极管进行光报警。0:电机工作1:电机停止RESETP0D80C51273274LS373EAALEGQA0~7D0~7A8~11P2.0~2.3P1.2P1.3P1.0P1.148+5VbcABC+5V+5V+5V+5V+12VJLED7407PSENOECS8水塔水位控制电路程序:ORG8000HAJMPLOOPLOOP:ORLP1,#03H;P1.0=P1.1=1,为检查水位状态做准备MOVA,P1JNBACC.0,ONE;P1.0=0则跳转JBACC.1,TWO;P1.1=1则跳转BACK:ACALLD10S;P1.0=1、P1.1=0维持原状时就延时10SAJMPLOOPONE:JNBACC.1,THREE;P1.1=0则跳转CLR93H(P1.3);P1.0=0、P1.1=1时,P1.3=0启动报警装置SETB92H(P1.2);P1.2=1停止电机工作FOUR:SJMPFOURTHREE:CLR92H;P1.0=P1.1=0时启动电机AJMPBACKTWO:SETB92H;停止电机工作AJMPBACK延时子程序D10S(延时10S):ORG8030HMOVR3,#19H;R3=25DLOOP3:MOVR1,#85H;R1=133DLOOP1:MOVR2,#0FAH;R2=250DLOOP2:DJNZR2,LOOP2DJNZR1,LOOP1DJNZR3,LOOP3RET1T1T1T2T2T2T2T计算延时时间:(若fosc=6MHz,则T=2μS)t={[(2×2μS×250)+3×2μS]×133+3×2μS}×25+3×2μS=3345106μS≈3.3S(10S???)11-3电热箱单片机温控系统放大A/D单片机打印输出光隔驱动电热箱温度传感器模数设定值控制信号电热丝电源双向可控硅调节电压控温~电热箱采用电热丝加热,由双向可控硅控制加热量的大小;温度传感器检测电热箱内的温度,经放大与A/D转换后进入单片机;单片机将设定的温度值与检测到的电热箱中的实际温度进行比较,并调节运算后,发出控制信号经光电隔离器去驱动双向可控硅以调节加在电热丝的电压,从而控制电热箱的温度。电热箱单片机温控系统结构框图单片机具有温度设定、显示、给出采样温度反馈值、输出温度控制量以及作调节器运算等功能。PA7~08PB7~0PC5ALEADALERDWRRESET8155IO/MCE8P2.1RESETP0D80C51273274LS373EAALEGQA0~7D0~7A8~11P2.0~2.3P3.0P3.148+5VPSENOE温度信号输入通道温度显示P1D0~7P2.48执行信号输出通道打印机温度设定CE+5VP3.6P3.7(静态)串口拨盘BCD码BCD码8DS1MC14433VXINT0VRQ3EOCQ2Q11DS2DS3DS4MC1403+5V温度传感器运放模拟量P1.0P1.7(数字量)BCD码个十百千WRQ0(动态)选通脉冲输出线温度信号输入通道MC14433是双积分3½位的A/D转换器:采用扫描的方法,输出3½位的BCD码,从0000~1999共2000个数码。内部有时钟源(振荡器)。VR:基准电压输入线,其值为200mV或2V;VX:被测电压输入线,最大为199.9mV或1.999V。DS4~DS1:分别是个、十、百、千位的选通脉冲输出线;Q3~Q0:BCD码数据输出线,动态地输出千位、百位、十位、个位值。即DS4有效时,Q3~Q0表示的是个位值(0~9);依次类推。EOC与INT0相接使得MC14433每次A/D结束后,同时启动下一次转换,使其处于连续的A/D转换中,并使得单片机在中断服务程序中读入该次转换结果。1+5VPC5+6V电热丝指示灯~220V+-1413(功放)输出控制电路输出高电平:双向可控硅导通,电热丝通电;输出低电平:双向可控硅截止,电热丝断电。8155I/O端口的负载能力不足以驱动光电耦合器的发光二极管,用1413作为功放。控制算法:对于温度控制系统,系统具有大热惯性,系统采用脉冲宽度调制的控制方法。也可用PID算法、Smith算法、Dalin算法等。11-4纸机转速、纸长的单片机控制A/DPIDD/A=/MG转速给定P0P1纸长拨盘给定转速反馈纸长反馈脉冲发生器测量转速电机可控硅触发器单片机系统+-单片机控制系统原理框图转速控制采用带转速单闭环的直流电动机调速系统;驱动电路由晶闸管—直流电动机构成;控制电路主要包括转速给定、转速反馈、PID调节器、晶闸管脉冲触发电路;走纸的长度控制由纸长设定、纸长脉冲反馈构成。PA3~0PB3~0PC0ADALE8155CEP0D80C51273274LS373ALEGQA0~7D0~7A8~11P2.0~2.3RXDTXD48PSENOEP1CE(静态显示)串口DAC0832运放去触发器ADC0809转速给定P0整形隔离反馈脉冲整形隔离断纸信号(光电信号)(光电码盘)T1INT1INT08T041#拨盘PA7~442#BCD码43#44#PB7~4PC1指示信号停机信号P0纸张复合机系统硬件原理图8TIMEROUT88T1计量走纸长度(1cm/脉冲);T0计量信号个数(与INT0配合);INT0检测纸机转速(V=D/nTc);INT1检测断纸(通过延时);晶闸管的控制信号(由DAC0832提供)。走纸长度由拨盘设置;转速的给定由模拟电压经ADC0809转换后设置;6位数码管分别用于显示转速(前2位)和走纸长度(后4位)。系统控制功能:设置8155的PA口和PB口为基本输入方式,PC口为基本输出方式,则8155的控制字为11001100=0CCH;计数器取分频系数为1000D=03E8H,并输出方波信号,则计数器初值应设置成0100001111101000B=43E8H1、纸长的设定:(拨盘→8155→80C51)程序:MOVR0,#00H;写控制字(8155设定)MOVA,#0CCHMOVX@R0,AMOVR1,#04H;写计数器(T0)初值与工作方式MOVA,#0E8H;置TL0MOVX@R1,AINCR1MOVA,#43H;置TH0MOVX@R1,AMOVR0,#01H;把PA口内容读入单片机RAM7FHMOVXA,@R0;读纸长给定MOV7FH,AINCR0;把PB口内容读入单片机RAM7EHMOVXA,@R0MOV7EH,AINCR0;把#01H由PC口输出(PC.0=1)MOVA,#01H;接信号灯:走纸到否?MOVX@R0,A走纸长度的设置由4位拨盘设定,走纸的检测信号来自线速度不变的码盘脉冲。两脉冲间的距离表示一定的纸长(脉冲当量),当反馈脉冲的引入量达到一定数量后,可使设定值不断做减1记数,直至为0后停车。采用脉冲当量为1cm/脉冲,当走纸长度单位为10m时,1000个反馈脉冲可使纸长设定值减1。由T1来实现。由于1000D=03E8H,T1的记数初值应为(03E8H)补=FC18H,工作于方式1。注:10m/1cm=1000D每10米减12、纸长检测与控制:T1的中断服务程序:T1INT:PUSHA;保护PUSHPSWMOV
本文标题:第11章 单片机应用系统设计实例2
链接地址:https://www.777doc.com/doc-3377665 .html