当前位置:首页 > 单片机 > 单片机
[导读] ;某些触屏手机上,有个滑动开锁的操作。;笔记本电脑,一般都是用键盘输入密码。;也有人把密码设置成:ASDFGHJKL;'Enter,当开机时,只需用手指在键盘上划一下,即可。;单片机,也可以设置这样形式的

;某些触屏手机上,有个滑动开锁的操作。

;笔记本电脑,一般都是用键盘输入密码

;也有人把密码设置成:ASDFGHJKL;'Enter,当开机时,只需用手指在键盘上划一下,即可。


;单片机,也可以设置这样形式的密码,依次按下某些键,即可成功进入下一步的操作。


;下图电路,就是依次按键,进行输入开机密码的:



;P1.0 到 P1.5 是密码键,P1.7 是确认键,


;P2.1 到 P2.6 对应 5 个密码键,平常点亮,--原文如此,应该是6个

;按下对应的密码后对应的LED熄灭,松开再次点亮,

;P2.7 上的蓝色 LED 对应的是确认键。


;密码顺序是依次按 P1.0 到 P1.5,

;密码数值和顺序都正确才点亮 P1.6 上的LED,否则点亮 P2.0 上的红色 LED。


;题目中的原程序,不可用。


;仿照原程序的思路,做而论道编写的程序如下:

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

ORG 0000H

JMP START

START:

MOV R0, #7 ;将R0作为计数器,检验密码顺序

CLR P1.6 ;关闭正确指示灯

MOV P2, #01111110B ;P2.1到P2.6对应6个密码键,平常点亮,

LOOP:

MOV A, P1 ;读入

MOV B, A ;暂存

ORL A, #01000000B ;屏蔽指示灯

CPL A

JZ LOOP ;无键按下,循环检测

CALL DL20MS ;延时

MOV A, P1 ;再读一次

CJNE A, B, LOOP;消抖

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

;已经确认有键按下:

MOV C, ACC.7 ;P1.7的键

CPL C

RL A

MOV ACC.7, C ;送到P2.7去

CLR ACC.0 ;关闭错误指示灯

MOV P2, A ;驱动各个按键的指示灯

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

;下面等待释放

LOP2:

MOV A, P1 ;读入

ORL A, #01000000B ;屏蔽指示灯

CPL A

JNZ LOP2 ;循环检测,等待释放

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

;按键已经释放,

MOV P2, #01111110B ;P2.1到P2.6对应6个密码键,平常点亮,

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

;下面处理刚才的按键

JNB B.0, KEY0

JNB B.1, KEY1

JNB B.2, KEY2

JNB B.3, KEY3

JNB B.4, KEY4

JNB B.5, KEY5

JNB B.7, KEY7

JMP LOOP

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

KEY0:

CJNE R0, #7, LOOP

DEC R0

JMP LOOP

KEY1:

CJNE R0, #6, LOOP

DEC R0

JMP LOOP

KEY2:

CJNE R0, #5, LOOP

DEC R0

JMP LOOP

KEY3:

CJNE R0, #4, LOOP

DEC R0

JMP LOOP

KEY4:

CJNE R0, #3, LOOP

DEC R0

JMP LOOP

KEY5:

CJNE R0, #2, LOOP

DEC R0

JMP LOOP

KEY7:

CJNE R0, #1, ERROR

MOV P2, #0 ;关闭按键指示灯

SETB P1.6 ;正确指示

SJMP $ ;停机

ERROR:

MOV P2, #0 ;关闭按键指示灯

SETB P2.0 ;错误指示

SJMP $ ;停机

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

DL20MS:

MOV R6, #40

DJNZ R7, $

DJNZ R6, $ - 2

RET

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

END


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

MCS-51单片机的汇编语言程序由若干条汇编语言指令和伪指令构成。指令存放在程序存储器中,被单片机读取并执行,且执行结果将影响单片机自身的状态。

关键字: 汇编语言 伪指令

目前,结构化是程序设计的基本要求,可以使程序结构清晰、易于读写且方便调试,也能够提高程序设计的效率。在结构化程序设计中,程序的基本结构有三种,即顺序结构、分支结构及循环结构。而子程序(也被称为函数或过程)是一种提高程序模...

关键字: 汇编语言 顺序程序设计

在单片机系统设计中,程序设计是重要的一环,它的质量直接影响到整个系统的功能。用汇编语言进行程序设计的过程和用高级语言设计程序有相似之处,其设计过程大致可以分为以下几个步骤:

关键字: 汇编语言 程序设计 单片机

汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在...

关键字: 汇编语言 指令 单片机

C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言...

关键字: C语言 汇编语言

在汇编语言程序设计中,经常使用各种符号代替地址、变量和常量等,以增加程序的可读性。尽管符号的命名由编程者决定,但并不是任意的.

关键字: ARM 汇编语言 符号

硬件设计: GR8CPU是在面包板上构建功能齐全的计算机。

关键字: CPU Unix 汇编语言

学习编程其实就是学高级语言,即那些为人类设计的计算机语言。 但是,计算机不理解高级语言,必须通过编译器转成二进制代码,才能运行。

关键字: 汇编语言

看到这篇文章的朋友,想必大家对pic单片机均具备一定兴趣,或对pic单片机具备一定使用需求。前文中,小编曾对pic单片机汇编语言进行过部分讲解。本文中,将对pic单片机的清零等指令加以讲解,以帮助大家更好掌握pic单片机...

关键字: pic单片机 指令 汇编语言

pic单片机为最常用单片机之一,许多程序均基于pic单片机进行开发。因此,熟练pic单片机编程尤为重要。为保证大家能准确、熟练掌握pic单片机的使用,本文特带来pic单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中...

关键字: pic单片机 单片机 汇编语言
关闭
关闭