一个按键控制LED亮/暗的汇编程序。开机,第一次按下第一个开关时,8个LED灯亮,第二次按下第一个开关时,8个LED灯暗,再按开关时8个LED灯就再亮,再次按下时8个LED灯再暗。按一次亮一下,再按一次暗一下。程序编好后,开始编译,发现又是通不过,找了好几遍也没找到原因,后来找枫雪大哥看了,才找出原因,原来编写程序时不能在中文环境下编写,不然就会编译时出错。现在搞好了,发上来给大家看看。此程序在仿真软件PROTEUS及EDN51实验板上均通过。
程序如下:
ORG 0000H ;地址0000
LJMP STAR ;转STAR
ORG 0100H ;地址0100
STAR: MOV P2,#0FH ;#0FH---P2
MOV P0,#0FFH ;#0FFH---P0
ST1: CLR 00 ;位00清0
ST2: JNB P2.0,ST3 ;P2.0=0 转 ST3
SJMP ST1 ;转ST1
ST3: JNB 00,ST4 ;位00=0 转 ST4
SJMP ST2 ;转ST2
ST4: MOV A,P0 ;P0---A
CPL A ;A取反---A
MOV P0,A ;A---P0
SETB 00 ;位00 置 1
SJMP ST2 ;转ST2
END ;结束
本文关键字:程序 51单片机,单片机-工控设备 - 51单片机
上一篇:单片机软件陷阱介绍