proteus论坛|仿真论坛
直播中

贾云天

5年用户 7经验值
擅长:可编程逻辑 模拟技术 嵌入式技术
私信 关注
[问答]

基于AT89C51设计的电子密码锁无法实现功能

一、设计目的
  1.了解并行口输入/输出方式的工作原理及其使用方法。      2.掌握80C51单片机扩展74LS244输入数据及扩展74LS273输出数据的方法
二、设计要求
1.利用单片机设计一个简单的以8位逻辑电平开关K0~K7作为8位密码输入,设两路密码锁,第一路密码为10101010,第二路密码为11110000。
2.以8个发光二极管作为输出,当输入的密码与第一路密码相同时,第一个发光二极管点亮。当输入的密码与第二路密码相同时,第二个发光二极管点亮。如果输入的密码与两路密码都不同,则8个发光二极管全部点亮。
3.必须先输入第一路密码,然后输入第二路密码才能使第二个发光二极管点亮。
画完电路图后,加入hex程序不能实现对应的功能 电子密码锁.png

DATA_IN EQU 8000H
DATA_OUT EQU  8100H

ORG   0100H
MOV A,#0FFH
MOV DPTR,#DATA_OUT
MOVX @DPTR,A
LOOP:
MOV DPTR,#DATA_IN
MOVX A,@DPTR

CJNE A,#10101010B,LOOP1
MOV DPTR,#DATA_OUT
MOV A,#0FEH
MOV B,A
MOVX @DPTR,A
LOOP1:
CJNE A,#11110000B,LOOP
MOV A,B
CJNE A,#0FEH,LOOP
MOV DPTR,#DATA_OUT
MOV A,#0FDH
ANL A,B
MOVX @DPTR,A
SJMP LOOP
END


不知道哪里错了,需要大佬帮忙看看

更多回帖

发帖
×
20
完善资料,
赚取积分