- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
51单片机应用举例1.ppt
MCS-51单片机应用举例 例1:单片机水塔水位控制 下图为水塔水位控制原理图,图中虚线表示允许水位变化的上下限。在正常情况下,应保持水位在虚线范围内。 单片机水塔水位控制电路 水塔水位控制程序流程 单片机水塔水位控制程序设计 ORG 0030H START:MOV P1, #03H ;为检测水位状态做准备 MOV A, P1 ;读入P1口的状态 JNB ACC.0, ONE ;P1.0=0,即B=0吗?不是0,转ONE JB ACC.1, TWO ;P1.1=0,即C=0吗?是0,转TWO BACK: ACALL D10S ;延时10秒 SJMP START ;循环检测 ONE: JNB ACC.1, THREE ;若P1.1=0,转THREE CLR P1.3 ;P1.3输出0,启动报警装置 SETB P1.2 ;P1.2输出1,停止电机运转 SJMP $ ;等待,故障排除后,复位重新启动 THREE:CLR P1.2 ;P1.2输出0,启动电机运转 SJMP BACK TWO: SETB P1.2 ;停止电机运转 SJMP BACK 10秒延时子程序DL10S: ORG 0100H D10S: MOV R3, #19H KP1: MOV R1, #85H KP2: MOV R2, #0FAH KP3: DJNZ R2, KP3 DJNZ R1, KP2 DJNZ R3, KP1 RET 例2:LED显示控制程序设计 上图电路由80C51单片机、共阳极数码管组成。若fosc=12MHz,设计该单片机系统控制程序,实现数码管从0~9交替轮流显示,时间间隔为1秒。 LED显示控制程序设计 ORG 0000H MOV DPTR, #TABLE ;表格地址送数据指针 LOOP:MOV R0, #00H ;从“0”开始显示 DISP: MOV A, R0 ;送显示 MOVC A, @A+DPTR ;指向表格地址 MOV P1, A ;数据送LED LCALL DELAY1S ;延时 INC R0 ;指向下一个字符 CJNE R0, #10, DISP ;未显示完,继续 SJMP LOOP ;下一个循环 DELAY1S: MOV R1, #10 LOOP3: MOV R2, #200 LOOP2: MOV R3, #250 LOOP1: DJNZ R3, LOOP1 DJNZ R2, LOOP2 DJNZ R1, LOOP3 RET TABLE: DB 0C0H, 0F9H, 0A4H, 0B0H, 99H DB 92H, 82H, F8H, 80H, 90H 例3:交通信号灯模拟控制 用单片机的P1口实现交通信号灯的控制。P1.0、P1.1、P1.2控制东西向的信号灯,P1.3、P1.4、P1.5控制南北向信号灯。东西向为主干道,通行时间为60s,南北向为次干道,通行时间为40s。试编制控制程序(fosc=12MHz)。 ORG 0000H LJMP START ORG 0030H START:MOV P1, #00H ;信号灯初始状态全灭 SETB P1.2 ;亮东西向绿灯,东西向放行 SETB P1.3 ;亮南北向红灯,南北向禁行 MOV R4, #39H ;延时57s LP1: LCALL DL DJNZ R4, LP1 CLR P1.2 ;东西向绿灯灭 SETB P1.1 ;东西向黄灯亮 MOV R4, #03H ;延时3s LP2: LCALL DL DJNZ R4, LP2 MOV P1, #00H SETB P1.0 ;东西向红灯亮 SETB P1.5 ;南北向绿灯亮 MOV R4, #25H ;延时37s LP3: LCALL DL DJNZ R4, LP3 CLR P1.5 ;南北向绿灯灭 SETB P1.4 ;南北向黄灯亮 MOV R4, #03H ;延时3s LP4: LCALL DL DJNZ R4, LP4 MOV P1, #00H LJMP START ;重新开始下一周期 DL: MOV R7, #0AH ;1s软件延时子程序 DL1: MOV R6, #0C8H DL2: MOV R5, #0FAH DJNZ R5, $ DJNZ R6, DL2 DJNZ R7, DL1 RET END 本课程结束 请同学认真复习,预祝同学们考出优异成绩! +5V B C +5V 4.7K +5V 300Ω J +12V +5V 89C2051 P1.0 P1.1 P1.2 P1.3 7407 7
文档评论(0)