单片机应用系统设计实例.ppt
- 文档编号:18797439
- 上传时间:2023-11-19
- 格式:PPT
- 页数:27
- 大小:1.19MB
单片机应用系统设计实例.ppt
《单片机应用系统设计实例.ppt》由会员分享,可在线阅读,更多相关《单片机应用系统设计实例.ppt(27页珍藏版)》请在冰点文库上搜索。
1作息时间控制钟,2水塔水位控制,单片机应用及开发技术实例,3电热箱单片机温控系统,4纸机转速、纸长的单片机控制,硬件:
时钟电路片软件:
片内定时器在单片机计时的过程中,每一次秒加1,都与规定的作息时间比较,如比较相等就进行电铃或扩音设备的开关控制。
本系统共有4项控制内容:
接通电铃和断开电铃;接通和断开扩音设备。
由P1口输出控制码进行控制,其控制码定义为:
接通电铃:
0FEH断开电铃:
0FDH接通扩音设备:
7FH断开扩音设备:
0BFH,1作息时间控制钟,时钟产生,由P1口输出控制码进行控制:
接通电铃:
0FEH断开电铃:
0FDH接通扩音设备:
7FH断开扩音设备:
0BFH,P1.7P1.6P1.1P1.0电铃通10电铃断01扩音通01扩音断10,构造4个字节的存储字,放在外部RAM(6116)50H开始的存储区中:
格式:
程序:
1、主程序:
为时钟记时程序,使用内部RAM单元:
20H秒单元21H分单元22H时单元每运行一次秒加1操作时(参见P158162),都调用时间比较子程序。
2、时间比较子程序:
记时时间与存储字中的预置时间进行比较:
相等:
作息时间已到,发出开关控制码,控制电铃或扩音设备的开/断;不等:
子程序返回。
50H存储区首地址;R0存储区地址指针;2EH存储区地址指针暂存单元;6AH存开关控制码;6BH6DH依次存放存储字的小时值、分值和秒值。
内部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;地址指针增量:
50H51H(时)52H(分)53H(秒)DECR1;记时单元地址减量:
23H22H(时)21H(分)20H(秒)MOVXA,R0;读取作息时间(时、分、秒)MOV6BH,A;存作息时间MOVA,R1;读取记时时间CJNEA,6BH,LOOP2;记时时间(A)与预置作息时间(6BH)比较:
不等则转,继续读下面的控制码(时、分、秒)DJNZR3,LOOP4;共读取3次MOVA,6AH;开关控制码送ACPLA;取反(增大驱动能力)MOVP1,A;开关控制码输出LOOP5:
RET;返回,2水塔水位控制,一、控制原理:
虚线表示允许水位变化的上下限。
水塔由电机带动水泵供水,单片机控制电机转动以达到对水位控制的目的。
当水位上升,达到上限时,因水导电,B、C棒连通+5V。
b、c均为“1”,应停止电机和水泵的工作,不再供水;当水位降到下限时,B、C棒都不能与A棒导电。
b、c均为“0”,应启动电机,带动水泵工作,给水塔供水;当水位处于上下限之间时,B与A棒导通。
b为“1”,c为“0”,无论怎样都应维持原有的工作状态。
二、控制电路:
上下限水位信号由P1.0和P1.1输入,这2个信号共有4种组合状态:
控制信号由P1.2端输出,去控制电机。
为了提高控制的可靠性,使用了光电耦合;由P1.3输出报警信号,驱动一支发光二极管进行光报警。
0:
电机工作1:
电机停止,水塔水位控制电路,程序:
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,LOOP3RET,1T1T1T2T2T2T2T,计算延时时间:
(若fosc=6MHz,则T=2S)t=(22S250)+32S133+32S25+32S=3345106S3.3S(10S?
),3电热箱单片机温控系统,电热箱采用电热丝加热,由双向可控硅控制加热量的大小;温度传感器检测电热箱内的温度,经放大与A/D转换后进入单片机;单片机将设定的温度值与检测到的电热箱中的实际温度进行比较,并调节运算后,发出控制信号经光电隔离器去驱动双向可控硅以调节加在电热丝的电压,从而控制电热箱的温度。
电热箱单片机温控系统结构框图,单片机具有温度设定、显示、给出采样温度反馈值、输出温度控制量以及作调节器运算等功能。
温度信号输入通道,MC14433是双积分3位的A/D转换器:
采用扫描的方法,输出3位的BCD码,从00001999共2000个数码。
内部有时钟源(振荡器)。
VR:
基准电压输入线,其值为200mV或2V;VX:
被测电压输入线,最大为199.9mV或1.999V。
DS4DS1:
分别是个、十、百、千位的选通脉冲输出线;Q3Q0:
BCD码数据输出线,动态地输出千位、百位、十位、个位值。
即DS4有效时,Q3Q0表示的是个位值(09);依次类推。
EOC与INT0相接使得MC14433每次A/D结束后,同时启动下一次转换,使其处于连续的A/D转换中,并使得单片机在中断服务程序中读入该次转换结果。
输出控制电路,输出高电平:
双向可控硅导通,电热丝通电;输出低电平:
双向可控硅截止,电热丝断电。
8155I/O端口的负载能力不足以驱动光电耦合器的发光二极管,用1413作为功放。
控制算法:
对于温度控制系统,系统具有大热惯性,系统采用脉冲宽度调制的控制方法。
也可用PID算法、Smith算法、Dalin算法等。
4纸机转速、纸长的单片机控制,转速控制采用带转速单闭环的直流电动机调速系统;驱动电路由晶闸管直流电动机构成;控制电路主要包括转速给定、转速反馈、PID调节器、晶闸管脉冲触发电路;走纸的长度控制由纸长设定、纸长脉冲反馈构成。
走纸长度由拨盘设置;转速的给定由模拟电压经ADC0809转换后设置;6位数码管分别用于显示转速(前2位)和走纸长度(后4位)。
系统控制功能:
设置8155的PA口和PB口为基本输入方式,PC口为基本输出方式,则8155的控制字为11001100=0CCH;计数器取分频系数为1000D=03E8H,并输出方波信号,则计数器初值应设置成0100001111101000B=43E8H,1、纸长的设定:
(拨盘815580C51),程序:
MOVR0,#00H;写控制字(8155设定)MOVA,#0CCHMOVXR0,AMOVR1,#04H;写计数器(T0)初值与工作方式MOVA,#0E8H;置TL0MOVXR1,AINCR1MOVA,#43H;置TH0MOVXR1,AMOVR0,#01H;把PA口内容读入单片机RAM7FHMOVXA,R0;读纸长给定MOV7FH,AINCR0;把PB口内容读入单片机RAM7EHMOVXA,R0MOV7EH,AINCR0;把#01H由PC口输出(PC.0=1)MOVA,#01H;接信号灯:
走纸到否?
MOVXR0,A,走纸长度的设置由4位拨盘设定,走纸的检测信号来自线速度不变的码盘脉冲。
两脉冲间的距离表示一定的纸长(脉冲当量),当反馈脉冲的引入量达到一定数量后,可使设定值不断做减1记数,直至为0后停车。
采用脉冲当量为1cm/脉冲,当走纸长度单位为10m时,1000个反馈脉冲可使纸长设定值减1。
由T1来实现。
由于1000D=03E8H,T1的记数初值应为(03E8H)补=FC18H,工作于方式1。
注:
10m/1cm=1000D每10米减1,2、纸长检测与控制:
T1的中断服务程序:
T1INT:
PUSHA;保护PUSHPSWMOVTH1,#0FCH;重置初值MOVTL1,#18HDEC7FH;纸长减1MOVA,7FHANLA,#0FH;取低位CJNEA,#0FH,ED;判断是否在BCD码范围DEC7FH;BCD码调整(7FH)=#0FHDEC7FH=15DEC7FH;(15-6=9)DEC7FHDEC7FHDEC7FHED:
POPPSW;恢复POPARETI;中断返回,PIP:
JNBP3.3,NEXT5;无断纸信号则返回MOVR5,#0AH;延时(0AH=10D)LOOP2:
MOVR7,#32H;32H=50DLOOP1:
MOVR6,#00HDJNZR6,$DJNZR7,LOOP1DJNZR5,LOOP2JNBP3.3,NEXT5;再判断有无断纸信号AJMPED;有断纸信号则停机NEXT5:
RET,程序如下:
3、保护:
小结,单片机应用系统是以单片机为核心,扩展外围芯片和电路,能完成一定任务的微机系统。
单片机具有体积小、成本低、抗干扰强、使用方便灵活等优点,已广泛应用于生产和科技等各个领域。
1、确定系统控制方案,彻底了解控制对象和控制要求。
高速对象(电机调速、图像语音识别等)还是慢速对象(温度、流量等过程控制);开环控制还是闭环控制;等等。
设计步骤:
2、确定控制算法,根据系统数学模型和控制要求,选择单片机的控制规律。
直流电机传动系统多用PID控制,交流传动则除PID外,还用矢量变换控制;温度调节等滞后系统多采用达林算法与施密斯预估算法等。
3、微机选型:
综合考虑控制要求、经济条件等多种因素进行。
MCS-51系列单片机是8位高档机;在要求更高的场合,应考虑采用MCS-96系列单片机;对运算速度要求更高的场合,可考虑采用数字信号处理器(DSP)。
4、硬件设计:
在系统控制方案的基础上,根据单片机本身的硬件资源,确定出整个系统的控制电路。
单片机片内的资源应充分予以利用,只有在不能满足要求时,才需要扩展。
5、软件设计:
依据控制算法和控制电路。
通常硬件少则软件多,反之亦然。
程序编制法则:
画框图确定软件功能模块确定流程图调试子程序程序总调。
6、系统总调:
根据制成的硬件电路和调试过的程序做系统总调。
常用单片机仿真完成,然后固化软件,脱开仿真器,插回单片机与固化了的程序存储器。
定时器/计数器的计算问题:
定时初值与波特率的计算:
确定TH、TL的值。
定时初值的计算与装入(TH0、TL0);对外部事件进行计数(P148):
计数脉冲的频率不能高于振荡脉冲频率的1/24。
例:
生产快餐面的流水生产线上,要求每生产50包,向P1.0发出包装命令,包装成1箱,编写程序。
答:
选择定时器计数器及其工作方式:
选定时器T0/T1工作于方式2计数。
计数初值:
计数初值X=28-50=206=0CEH。
确定控制字:
TMOD=00000110B=06H。
采用中断方式,编写程序:
程序:
ORG0000HAJMPMAINORG000BH;T0中断入口AJMPCOUNT;转向中断处理程序ORG0100H;主程序MAIN:
MOVTMOD,#06H;设置T0工作于方式2MOVTH0,#0CEH;设置计数初值MOVTL0,#0CEHCLRP1.0;清除包装信号SETBET0SETBEASETBTR0;启动T1计数器HERE:
SJMPHERE;等待计数ORG0200HCOUNT:
SETBP1.0;发出包装命令脉冲NOPCLRP1.0RETI,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 应用 系统 设计 实例