毕业设计程序源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

P;******************************************************* ;以下8个字节存放8位数码管的段码

LED_BIT_1 EQU 30H

LED_BIT_2 EQU 31H

LED_BIT_3 EQU 32H

LED_BIT_4 EQU 33H

LED_BIT_5 EQU 34H

LED_BIT_6 EQU 35H

LED_BIT_7 EQU 36H

LED_BIT_8 EQU 37H

;以下6个字节存放初始密码

WORD_1 EQU 38H

WORD_2 EQU 39H

WORD_3 EQU 3AH

WORD_4 EQU 3BH

WORD_5 EQU 3CH

WORD_6 EQU 3DH

;以下6个字节存放用户输入的6位密码

KEY_1 EQU 3EH

KEY_2 EQU 3FH

KEY_3 EQU 40H

KEY_4 EQU 41H

KEY_5 EQU 42H

KEY_6 EQU 43H

;****************************************************** CNT_A EQU 44H

CNT_B EQU 45H

KEY_CNT EQU 46H ;已输出的密码位数

LINE EQU 47H ;按键行号

ROW EQU 48H ;按键列号

VAL EQU 49H ;键值

CODE_COUNT EQU 4AH

;****************************************************** ;以下为初始化程序,包括数据存储空间初始化,设置初始密码ORG 00H

SJMP MAIN

ORG 0BH

LJMP INT_T0

MAIN: MOV CODE_COUNT,#0

START: MOV CNT_A,#00H ;程序初始化

MOV CNT_B,#00H

MOV KEY_CNT,#00H

MOV LINE,#00H

MOV ROW,#00H

MOV VAL,#00H

SETB P1.0

SETB P1.1

MOV LED_BIT_1,#40H ;段码存储区清0

MOV LED_BIT_2,#40H

MOV LED_BIT_3,#40H

MOV LED_BIT_4,#40H

MOV LED_BIT_5,#40H

MOV LED_BIT_6,#40H

MOV LED_BIT_7,#79H

MOV LED_BIT_8,#73H

MOV KEY_1,#00H ;输入密码存储区清0

MOV KEY_2,#00H

MOV KEY_3,#00H

MOV KEY_4,#00H

MOV KEY_5,#00H

MOV KEY_6,#00H

MOV WORD_1,#6 ;设置初始密码为"123456"

MOV WORD_2,#5

MOV WORD_3,#4

MOV WORD_4,#3

MOV WORD_5,#2

MOV WORD_6,#1

MOV TMOD,#01H

MOV TH0,#(65536-700)/256

MOV TL0,#(65536-700)MOD 256

MOV IE,#82H

A0: LCALL DISP

;*********************************************************** ;以下为键盘扫描程序,计算键值并存入VAL

LSCAN: MOV P3,#0F0H ;扫描行码

L1: JNB P3.0,L2

LCALL DLY_S

JNB P3.0,L2

MOV LINE,#00H

LJMP RSCAN

L2: JNB P3.1,L3

LCALL DLY_S

JNB P3.1,L3

MOV LINE,#01H

LJMP RSCAN

L3: JNB P3.2,L4

LCALL DLY_S

JNB P3.2,L4

MOV LINE,#02H

LJMP RSCAN

L4: JNB P3.3,A0

LCALL DLY_S

JNB P3.3,A0

MOV LINE,#03H

RSCAN: MOV P3,#0FH ;扫描列码

C1: JNB P3.4,C2

MOV ROW,#00H

LJMP CALCU

C2: JNB P3.5,C3

MOV ROW,#01H

LJMP CALCU

C3: JNB P3.6,C1

MOV ROW,#02H

CALCU: MOV A,LINE ;计算键值

MOV B,#03H

MUL AB

ADD A,ROW

MOV VAL,A

;************************************************** ;以下为按键处理程序,对不同的按键作出响应

CJNE A,#0AH,J1 ;是否为"CLR"键

MOV R1,KEY_CNT

CJNE R1,#00H,J2

相关文档
最新文档