基于89c51的电子密码锁设计汇编的程序内容摘要:
开机时的界面。 当在输入数字时,不小心输入数字错误,可以按下菜单键“ F”,返回到初始将要输入数字的状态。 本机设置了密码保护功能, 当输入三次密码不正确后,密码锁锁死,不能再开锁,同时蜂鸣器发出响声警告。 只有在复位情况下或断电关机后重新开机才可以输入密码、开锁或设置密码。 当输入密码错误的时,显示出密码错误提示, 发光二极管亮,蜂鸣器发出长警告声,系统自动返回输入密码状态后,红色发光二极管灭,蜂鸣器停止响,系统显示输入密码提示。 附录 1 元件清单 元器件名称 大小和型号 数量 芯片 (加底座 ) AT89S52 各 1 EEPROM(加底座) AT24C02 各 1 三端稳压管 7805 1 LCD 显示器 1620 液晶 1 继电 器 5V、 6 脚 1 蜂鸣器 BELL 1 晶振 12MHZ 1 三极管 9014 2 电源座 带插头 1 电位器 10K 1 电阻 10K 4 1K 4 200 1 10k 排阻 1 11 电容 30p 2 1 100μ电解电容 1 22μ电解电容 1 发光二极管 2 3 单排针 20 口 2 按键 4 脚 17 拨动开关 5 脚 1 附录 2 程序清单 EN BIT。 RW BIT。 RS BIT。 DISPLAY EQU P0。 SPEAKER BIT。 LED BIT。 OPEN BIT。 RETURNBIT BIT。 密码缓冲区 PS1 EQU 46H PS2 EQU 47H PS3 EQU 48H PS4 EQU 49H PS5 EQU 4AH PS6 EQU 4BH。 AT24C02 读取缓冲区 REDY AT1 EQU 34H AT2 EQU 35H AT3 EQU 36H AT4 EQU 37H AT5 EQU 38H AT6 EQU 39H SDA BIT。 定义串口数据端 SCL BIT ORG 0000H。 LJMP START。 ORG 000BH。 LJMP INTERMIT_T0。 ORG 001BH。 LJMP INTERMIT_T1。 ORG 0030H。 START: MOV SP,60H。 LCALL SYS_INITIALIZATION。 主程序 MAIN0: LCALL STRAT_DISPLAY。 MAIN: MOV 52H,0。 52H 判断输入错误次数储存地址 SETB LED。 SETB TR0。 LCALL KEY。 CJNE A,39。 A39。 ,NEXT1。 LJMP SET_PASSWORD。 NEXT1: CJNE A,39。 B39。 ,NEXT2。 LJMP INPUT_PASSWORD。 NEXT2: AJMP MAIN。 系统初始化 SYS_INITIALIZATION: CLR LED。 CLR OPEN。 CLR SPEAKER。 LCALL AT_RADE。 MOV A,34H。 CJNE A,31H,LIKE。 AJMP LIKE。 MOV 34H,39。 139。 MOV 35H,39。 239。 MOV 36H,39。 339。 MOV 37H,39。 439。 MOV 38H,39。 539。 MOV 39H,39。 639。 MOV 46H,34H。 MOV 47H,35H。 MOV 48H,36H。 MOV 49H,37H。 MOV 4AH,38H。 13 MOV 4BH,39H。 LCALL AT_WR。 存放初始密码 LIKE: MOV R7,12。 MOV R0,40H。 LOOP: MOV @R0,00H。 INC R0。 DJNZ R7,LOOP。 密码键值存放区清零完毕 LCALL DELAY0_1S。 MOV P0,03H。 CALL WRITE_INSTRUCTION。 液晶软复位 MOV P0,01H。 CALL WRITE_INSTRUCTION。 MOV P0,3FH。 CALL WRITE_INSTRUCTION。 MOV P0,0FH。 CALL WRITE_INSTRUCTION。 MOV P0,06H。 CALL WRITE_INSTRUCTION。 液晶初始化完毕 MOV R4,10。 MOV TMOD,11H。 MOV TH0,3CH。 MOV TL0,0B0H。 SETB EA。 SETB ET0。 定时器 T0, 定时中断初始化完毕 RET。 系统初始化完毕。 中断服务程序 INTERMIT_T0: PUSH ACC。 PUSH PSW。 MOV TH0,3CH。 MOV TL0,0B0H。 DJNZ R4,RETURN。 CPL LED。 MOV R4,10。 RETURN: POP PSW。 POP ACC。 RETI。 INTERMIT_T1: PUSH ACC。 PUSH PSW。 MOV TH1,9EH。 MOV TL1,58H。 DJNZ R4,RETURN_T1。 CPL LED。 CPL SPEAKER。 MOV R4,10。 RETURN_T1:POP PSW。 POP ACC。 RETI。 键盘扫描 KEY: CALL KS。 JNZ K1。 JMP KEY。 K1: CALL DELAY。 CALL KS。 JNZ K2。 JMP KEY。 K2: CLR TR0。 CLR LED。 MOV R2,0FEH。 MOV R6,00H。 K3: MOV A,R2。 MOV P2,A。 MOV A,P2。 JB ,L1。 MOV A,0。 LJMP LK。 L1: JB ,L2。 MOV A,4。 LJMP LK。 L2: JB ,L3。 MOV A,8。 LJMP LK。 L3: JB ,NEXT_KEY。 MOV A,12。 LK: ADD A,R6。 MOV R6,A。 K4: CALL KS。 JNZ K4。 MOV A,R6。 MOV DPTR,TABLE0。 MOVC A,@A+DPTR。 MOV 50H,A。 查表取值存入 50H,保护键值 RET。 NEXT_KEY: INC R6。 MOV A,R2。 JNB ,KEY。 RL A。 14 MOV R2,A。 JMP K3。 KS: MOV P2,0F0H。 MOV A,P2。 XRL A,0F0H。 RET。 设置密码程序 SET_PASSWORD: CALL CLEAR_DISPLAY。 MOV DPTR,TABLE4。 CALL INPUT_HINT。 MOV R0,40H。 CALL PASSWORD。 JBC RETURNBIT,SET_PASSWORD。 先输入原密码完毕 MOV R5,6。 MOV R0,40H。 MOV R1,34。基于89c51的电子密码锁设计汇编的程序
相关推荐
ad_byte() { RST=1。 for(i=8。 i0。 i) { ACC7=IO。 SCLK=1。 SCLK=0。 ACC=ACC1。 } return(ACC)。 } void write_1302(uchar add,uchar dat) { RST=0。 SCLK=0。 RST=1。 write_byte(add)。 write_byte(dat)。 SCLK=1。 RST=0。
BH AJMP T1INT ORG 0040H MAIN: MOV R1,30。 初设抢答时间为 30s MOV R2,60。 初设答题时间为 60s MOV TMOD,11H。 设置未定时器 /模式 1 MOV TH0,0F0H MOV TL0,0FFH。 越高发声频率越高 ,越尖 MOV TH1,3CH MOV TL1,0B0H。 50ms 为一次溢出中断 SETB EA SETB ET0
RES2 R? RES2 D? LED S? SWPB U? GND R? RES2 D? LED R? RES2 D? LED R? RES2 S? SWPB U? GND R? RES2 S? SWPB U? GND R? RES2 R? RES2 D? LED D? LED R? RES2 S? SWPB U? GND R? RES2 S? SWPB U? GND R? RES2 D?
程;栏目 3 品牌风格诠释。 ) → 公告栏:展示学校的最新活动与通告。 → 新闻动态:展示学校的学校新闻与国内外同行咨询等。 → 项目培训:主要概括学校的培训服务与培训科目以及优惠套餐。 → 招生简章:主要展示学校的招生情况与历来招生的生源、招生对象等等。 → 课程安排: 主要概述学校的课程安排流程与课程优惠价格套餐等等。 → 教学资料:展示教
30pF 之间,对外接电容的值没有严格的要求,但电容的大小会影响振荡器频率的高低、振荡器的稳定性和起振的快速性。 由于单片机要进行串行通信,为了获得准确的波特率,选择晶振的频率为 12MHz。 图 时钟电路 10 LCD1602 的 结构及工作原理 LCD1602 可以显示 2 行 16 个字符,有 8 位数据总线 D0D7,和 RS、 R/W、EN 三个控制端口,工作电压为 5V
当加强广告的宣传力度,适当在报纸、电视等媒体进行品牌、招生宣传,进一步提高学校的知名度,获得更多的生源,谋求发展。 人事管理制度上,要采取措施调动人员工作的积极性,要客观、公正的对待每一位教师及员工,对于一些小思想、小报告不能偏听偏信,坚持以人的能力为主,以积极的工作态度为主。 虽然有时一些工作人员有这样或那样的错误,但是管理人员可用正 面的积极引导,帮助他们解决问题