资源描述:
《单片机应用举例课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MCS-51单片机应用举例例1:单片机水塔水位控制下图为水塔水位控制原理图,图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围内。+5VBC单片机水塔水位控制电路+5V4.7K+5V300ΩJ+12V+5V89C2051P1.0P1.1P1.2P1.374077407300ΩBCAP1.1P1.0操作P1.2P1.300电机运转0101维持原状不变110故障报警1011电机停转11单片机输入、输出逻辑关系分析水塔水位控制程序流程为检查水位状态作准备P1.0=0?P1.1=1?P1.1=0?停机P1.2←1报警P1.3←0
2、停机P1.2←1等待延时10S启动电机P1.2←0开始YNYNYN单片机水塔水位控制程序设计ORG0030HSTART:MOVP1,#03H;为检测水位状态做准备MOVA,P1;读入P1口的状态JNBACC.0,ONE;P1.0=0,即B=0吗?不是0,转ONEJBACC.1,TWO;P1.1=0,即C=0吗?是0,转TWOBACK:ACALLD10S;延时10秒SJMPSTART;循环检测ONE:JNBACC.1,THREE;若P1.1=0,转THREECLRP1.3;P1.3输出0,启动报警装置SETBP1.2;P1.2输出1,停止电
3、机运转SJMP$;等待,故障排除后,复位重新启动THREE:CLRP1.2;P1.2输出0,启动电机运转SJMPBACKTWO:SETBP1.2;停止电机运转SJMPBACK10秒延时子程序DL10S:ORG0100HD10S:MOVR3,#19HKP1:MOVR1,#85HKP2:MOVR2,#0FAHKP3:DJNZR2,KP3DJNZR1,KP2DJNZR3,KP1RET例2:LED显示控制程序设计上图电路由80C51单片机、共阳极数码管组成。若fosc=12MHz,设计该单片机系统控制程序,实现数码管从0~9交替轮流显示,时间间隔
4、为1秒。80C51P1.0P1.6RSTVssVccagb+5V+5VLED显示控制程序设计ORG0000HMOVDPTR,#TABLE;表格地址送数据指针LOOP:MOVR0,#00H;从“0”开始显示DISP:MOVA,R0;送显示MOVCA,@A+DPTR;指向表格地址MOVP1,A;数据送LEDLCALLDELAY1S;延时INCR0;指向下一个字符CJNER0,#10,DISP;未显示完,继续SJMPLOOP;下一个循环DELAY1S:MOVR1,#10LOOP3:MOVR2,#200LOOP2:MOVR3,#250LOOP1:
5、DJNZR3,LOOP1DJNZR2,LOOP2DJNZR1,LOOP3RETTABLE:DB0C0H,0F9H,0A4H,0B0H,99HDB92H,82H,F8H,80H,90H例3:交通信号灯模拟控制用单片机的P1口实现交通信号灯的控制。P1.0、P1.1、P1.2控制东西向的信号灯,P1.3、P1.4、P1.5控制南北向信号灯。东西向为主干道,通行时间为60s,南北向为次干道,通行时间为40s。试编制控制程序(fosc=12MHz)。AT89C51P1.0P1.1P1.2P1.3P1.4P1.5+5V红黄绿东西向+5V红黄绿南北向
6、ORG0000HLJMPSTARTORG0030HSTART:MOVP1,#00H;信号灯初始状态全灭SETBP1.2;亮东西向绿灯,东西向放行SETBP1.3;亮南北向红灯,南北向禁行MOVR4,#39H;延时57sLP1:LCALLDLDJNZR4,LP1CLRP1.2;东西向绿灯灭SETBP1.1;东西向黄灯亮MOVR4,#03H;延时3sLP2:LCALLDLDJNZR4,LP2MOVP1,#00HSETBP1.0;东西向红灯亮SETBP1.5;南北向绿灯亮MOVR4,#25H;延时37sLP3:LCALLDLDJNZR4,LP3
7、CLRP1.5;南北向绿灯灭SETBP1.4;南北向黄灯亮MOVR4,#03H;延时3sLP4:LCALLDLDJNZR4,LP4MOVP1,#00HLJMPSTART;重新开始下一周期DL:MOVR7,#0AH;1s软件延时子程序DL1:MOVR6,#0C8HDL2:MOVR5,#0FAHDJNZR5,$DJNZR6,DL2DJNZR7,DL1RETEND本课程结束请同学认真复习,预祝同学们考出优异成绩!结束放映返回本章首页TheEnd.