1 / 13

任务 2 :汽车转向灯的控制

任务 2 :汽车转向灯的控制. 工作任务描述. 按要求设计电路图,用实验箱面板上的 L1 、 L2 作为左转向灯,用 L7 、 L8 作为右转向灯, K1 作 为左转向开关, K2 作为右转向开关。用 P1.3 作为 K1 的输入端 , P1.4 作为 K2 的输入端, P1.0 、 P1.1 控制左转向灯, P1.6 、 P1.7 控制右转向灯。 要求: (1) 当 K1=1,K2=0 时,左转向灯亮,右转向灯灭 (2) 当 K1=0,K2=1 时,左转向灯灭;右转向灯亮 (3) 其余情况,左、右转向灯灭;. 教学内容: 1 、熟悉常用伪指令

happy
Download Presentation

任务 2 :汽车转向灯的控制

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 任务2:汽车转向灯的控制 微型计算机控制技术

  2. 工作任务描述 按要求设计电路图,用实验箱面板上的L1、 L2作为左转向灯,用L7、L8作为右转向灯,K1作 为左转向开关,K2作为右转向开关。用P1.3作为 K1的输入端, P1.4作为K2的输入端,P1.0、P1.1 控制左转向灯,P1.6、P1.7控制右转向灯。 要求: (1)当K1=1,K2=0时,左转向灯亮,右转向灯灭 (2)当K1=0,K2=1时,左转向灯灭;右转向灯亮 (3)其余情况,左、右转向灯灭; 微型计算机控制技术

  3. 教学内容: 1、熟悉常用伪指令 2、学会循环程序、查表程序、分支程序、子程序的设计方法 微型计算机控制技术

  4. 一、伪指令 伪指令:在汇编时起控制作用,自身并不产生机器 码,而仅是为汇编服务的一些指令。伪指令不属于 80C51指令系统。 常用的伪指令有以下几种: ⒈ 起始伪指令 格式:ORG 16位地址 功能:规定ORG下面目标程序的起始地址。 ⒉ 结束伪指令 END 格式:END 功能:汇编语言源程序的结束标志。在END后面的指令,汇编程序不再处理。 ⒊ 等值伪指令 EQU(Equate) 格式:字符名称 EQU 数据或汇编符号 功能:将数据或汇编符号赋予规定的字符名称 微型计算机控制技术

  5. ⒋ 数据地址赋值伪指令 DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称。 ⒌ 定义字节伪指令DB(Define Byte) 格式:DB 8位二进制数表 功能:从指定的地址单元开始,定义若干个8位内存单元的数据。数据与数据之间用“,”分割。 ⒍ 定义字伪指令DW(Define Word) 格式:DW 16位二进制数表 功能:从指定的地址单元开始,定义若干个16位数据。 ⒎ 定义位地址伪指令BIT 格式:字符名称 BIT 位地址 功能:将位地址赋予所规定的字符名称。 微型计算机控制技术

  6. 二、程序设计方法 1、循环程序 编制一个循环闪烁灯的程序。设80c51单片机的P1口作为输出口 接8只发光二极管,当输出位为“0”时,发光二极管点亮,输出位 为“1”时为暗。试编程实现:8只彩灯每次亮1个,亮1s,暗1s, 形成循环。 要求:使用移位指令, 采用循环结构设计程序。 (fosc=6MHz) 微型计算机控制技术

  7. 程序如下: ORG 0000H LJMP MAIN ORG 4000H MAIN:MOV R3,#8 MOV A,#0FEH LIGHT:MOV P1,A LCALL DLY1s MOV P1,#00H LCALL DLY1s RL A DJNZ R3,LIGHT SJMP MAIN DLY1s:MOV R5,#5 DYS0:MOV R6,#200 DYS1:MOV R7,#250 DJNZ R7,$ DJNZ R6, DYS1 DJNZ R5, DYS0 RET END 微型计算机控制技术

  8. 2、查表程序 • 编制一个循环闪烁灯的程序。设80c51单片机的P1口作为输出口接8只发光二极管,当输出位为“0”时,发光二极管点亮,输出位为“1”时为暗。试编程实现:8只彩灯每次亮1个,亮1s,暗1s,形成循环。要求:采用循环结构设计程序。(fosc=6MHz) 微型计算机控制技术

  9. 程序如下: ORG 0000H LJMP MAIN ORG 4000H MAIN:MOV DPTR,#TAB CLR A MOV R3,#8 LIGHT:MOVC A,@A+DPTR MOV P1,A LCALL DLY1s MOV P1,#00H LCALL DLY1s INC A DJNZ R3,LIGHT SJMP MAIN LY1s:MOV R5,#5 DYS0:MOV R6,#200 DYS1:MOV R7,#250 DJNZ R7,$ DJNZ R6, DYS1 DJNZ R5, DYS0 RET TAB:BD 0FEH, 0FDH, 0FBH, 0F7H BD 0EFH, 0DFH, 0BFH, 7FH END 微型计算机控制技术

  10. 三、分支程序 已知电路如图所示,要求实现: ① S0单独按下,红灯亮,其余灯灭; ② S1单独按下,绿灯亮,其余灯灭; ③ 其余情况,黄灯亮。 微型计算机控制技术

  11. 解:程序如下 • SGNL:ANL P1,#OE3H ;红绿黄灯灭 • ORL P1,#03H ;置P1.0、P1.1输入态, P1.5~P1.7状态不变 • SL0: JNB P1.0,SL1 ;P1.0=0,S0未按下,转判S1 • JNB P1.1,RED ;P1.0=1,S0按下;且P1.1=0,S1未按下,转红灯亮 • YELW:SETB P1.4 ;黄灯亮 • CLR P1.2 ;红灯灭 • CLR P1.3 ;绿灯灭 • SJMP SL0 ;转循环 • SL1: JNB P1.1,YELW ;P1.0=0,S0未按下;P1.1=0,S1未按下,转黄灯亮 • GREN:SETB P1.3 ;绿灯亮 • CLR P1.2 ;红灯灭 • CLR P1.4 ;黄灯灭 • SJMP SL0 ;转循环 • RED: SETB P1.2 ;红灯亮 • CLR P1.3 ;绿灯灭 • CLR P1.4 ;黄灯灭 • SJMP SL0 ;转循环 微型计算机控制技术

  12. 四、子程序 编制一个循环闪烁灯的程序。设80C51单片机的P1口作为输出 口,经驱动电路74LS240(8反相三态缓冲/驱动器)接8只发光二极 管,如图所示。当输出位为“1”时,发光二极管点亮,输出位为 “0”时为暗。试编程实现:每个灯闪烁点亮10次,再转移到下一 个灯闪烁点亮10次,循环不止。(fosc=6MHz) 微型计算机控制技术

  13. FLASH:MOV A,#01H ;置灯亮初值 • FSH0: MOV R2,#0AH ;置闪烁次数 • FLOP: MOV P1,A ;点亮 • LCALL DY1s ;延时1s • MOV P1,#00H ;熄灭 • LCALL DY1s ;延时1s • DJNZ R2,FLOP ;闪烁10次 • RL A ;左移一位 • SJMP FSH0 ;循环 • DY1s: MOV R7,#250 ;置循环次数 • DLOP: MOV R7, DLOP ;延时1s • RET 微型计算机控制技术

More Related