你好!欢迎来到深圳市颖特新科技有限公司!
语言
当前位置:首页 >> 技术中心 >> 单片机入门 >> 51 汇编语言编程:走道灯控制程序

51 汇编语言编程:走道灯控制程序

关键字:51单片机 编程 作者:admin 来源:不详 发布时间:2018-05-19  浏览:2

按一下按键灯就亮,延时 10s 后自动灭。在亮灯期间再按一下键,灯立即就灭。

用定时器及中断实现。

题目链接:http://zhidao.baidu.com/question/1302357964153805259.html

提问者采纳 2013-12-09 13:47

LED EQU P3.3

KEY EQU P3.7

ORG 0000H

LJMP START

ORG 000BH

LJMP T0_INT

ORG 0030H

;--------------------------------

START:

MOV TMOD, #01H

MOV TH0, #HIGH(65536-62500)

MOV TL0, #LOW(65536-62500)

MOV IE, #82H

;--------------------------------

LP1:

SETB LED ;关灯

JB KEY, LP1 ;等待第一次按键

CALL DELAY

JB KEY, LP1

JNB KEY, $

;-------------------

MOV R2, #160 ;10s

SETB TR0 ;启动定时器

CLR LED ;开灯

LP2:

JNB TR0, LP1 ;如果已经定时结束,就去等待第一次按键

JB KEY, LP2 ;等待第二次按键

CALL DELAY

JB KEY, LP2

JNB KEY, $

SJMP LP1 ;如果发生了第二次按键,就去等待第一次按键

;--------------------------------

T0_INT:

MOV TH0, #HIGH(65536-62500)

MOV TL0, #LOW(65536-62500)

DJNZ R2, T0_E ;定时10s

CLR LED ;时间到了,关灯

CLR TR0

T0_E:

RETI

;--------------------------------

DELAY: ;延时约10ms(fosc=12MHz)

MOV R6, #20

DJNZ R7, $

DJNZ R6, $ - 2

RET

;--------------------------------

END

编辑:admin  最后修改时间:2018-10-08

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright © 2014-2023 颖特新科技有限公司 All Rights Reserved.  粤ICP备14043402号-4