单片机课程设计Word文档下载推荐.docx

上传人:b****5 文档编号:19900306 上传时间:2023-01-12 格式:DOCX 页数:15 大小:154.27KB
下载 相关 举报
单片机课程设计Word文档下载推荐.docx_第1页
第1页 / 共15页
单片机课程设计Word文档下载推荐.docx_第2页
第2页 / 共15页
单片机课程设计Word文档下载推荐.docx_第3页
第3页 / 共15页
单片机课程设计Word文档下载推荐.docx_第4页
第4页 / 共15页
单片机课程设计Word文档下载推荐.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

单片机课程设计Word文档下载推荐.docx

《单片机课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《单片机课程设计Word文档下载推荐.docx(15页珍藏版)》请在冰豆网上搜索。

单片机课程设计Word文档下载推荐.docx

MicroprocessorICs

8051Family

CAP

Capacitors

Generic

CAP-ELEC

CRYSTAL

Miscellaneous

-----

RES

Resistors

7SEG-MPX8-CC-BLUE

Optoetectronics

7-SegmentDisplay

74LS245

TTL74LSseries

Transceivers

BUTTON

Switches&

Relays

Switches

SONDER

Speakers&

Sounders

LED-YELLOW

LEDS

 

3.2硬件连接电路

图3.1处理器及显示模块

图3.2键盘矩阵模块

3.3设计框图

图3.3电子锁的设计框图

4程序设计

4.1程序流程图

4.2源程序

;

*******************************************************

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

LED_BIT_1EQU30H

LED_BIT_2EQU31H

LED_BIT_3EQU32H

LED_BIT_4EQU33H

LED_BIT_5EQU34H

LED_BIT_6EQU35H

LED_BIT_7EQU36H

LED_BIT_8EQU37H

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

WORD_1EQU38H

WORD_2EQU39H

WORD_3EQU3AH

WORD_4EQU3BH

WORD_5EQU3CH

WORD_6EQU3DH

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

KEY_1EQU3EH

KEY_2EQU3FH

KEY_3EQU40H

KEY_4EQU41H

KEY_5EQU42H

KEY_6EQU43H

******************************************************

CNT_AEQU44H

CNT_BEQU45H

KEY_CNTEQU46H;

已输出的密码位数

LINEEQU47H;

按键行号

ROWEQU48H;

按键列号

VALEQU49H;

键值

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

ORG00H

SJMPSTART

ORG0BH

LJMPINT_T0

START:

MOVCNT_A,#00H;

程序初始化

MOVCNT_B,#00H

MOVKEY_CNT,#00H

MOVLINE,#00H

MOVROW,#00H

MOVVAL,#00H

SETBP1.0

MOVLED_BIT_1,#00H;

段码存储区清0

MOVLED_BIT_2,#00H

MOVLED_BIT_3,#00H

MOVLED_BIT_4,#00H

MOVLED_BIT_5,#00H

MOVLED_BIT_6,#00H

MOVLED_BIT_7,#79H

MOVLED_BIT_8,#73H

MOVKEY_1,#00H;

输入密码存储区清0

MOVKEY_2,#00H

MOVKEY_3,#00H

MOVKEY_4,#00H

MOVKEY_5,#00H

MOVKEY_6,#00H

MOVWORD_1,#6;

设置初始密码为"

123456"

MOVWORD_2,#5

MOVWORD_3,#4

MOVWORD_4,#3

MOVWORD_5,#2

MOVWORD_6,#1

MOVTMOD,#01H

MOVTH0,#(65536-700)/256

MOVTL0,#(65536-700)MOD256

MOVIE,#82H

A0:

LCALLDISP

***********************************************************

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

LSCAN:

MOVP3,#0F0H;

扫描行码

L1:

JNBP3.0,L2

LCALLDLY_S

JNBP3.0,L2

LJMPRSCAN

L2:

JNBP3.1,L3

JNBP3.1,L3

MOVLINE,#01H

L3:

JNBP3.2,L4

JNBP3.2,L4

MOVLINE,#02H

L4:

JNBP3.3,A0

JNBP3.3,A0

MOVLINE,#03H

RSCAN:

MOVP3,#0FH;

扫描列码

C1:

JNBP3.4,C2

LJMPCALCU

C2:

JNBP3.5,C3

MOVROW,#01H

C3:

JNBP3.6,C1

MOVROW,#02H

CALCU:

MOVA,LINE;

计算键值

MOVB,#03H

MULAB

ADDA,ROW

MOVVAL,A

**************************************************

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

CJNEA,#0AH,J1;

是否为"

CLR"

MOVR1,KEY_CNT

CJNER1,#00H,J2

LCALLALARM_1

LJMPSTART

J2:

LCALLSHIFTR

DECKEY_CNT

W00:

LCALLDISP;

等待按键抬起

MOVA,P3

CJNEA,#0FH,W01

LJMPA0

W01:

MOVA,P3

CJNEA,#0F0H,W02

W02:

SJMPW00

J1:

MOVA,VAL

CJNEA,#0BH,J3;

判断是否为"

ENTER"

CJNER1,#06H,J4

MOVA,WORD_1;

比较密码

CJNEA,3EH,J5

MOVA,WORD_2

CJNEA,3FH,J5

MOVA,WORD_3

CJNEA,40H,J5

MOVA,WORD_4

CJNEA,41H,J5

MOVA,WORD_5

CJNEA,42H,J5

MOVA,WORD_6

CJNEA,43H,J5

CLRP1.0

LCALLDLY_L

LJMPFINI

J5:

LCALLALARM_2

J4:

LCALLALARM_1

J3:

INCKEY_CNT;

按下数字键

MOVA,KEY_CNT

CJNEA,#07H,K1

W10:

CJNEA,#0FH,W11

W11:

CJNEA,#0F0H,W12

W12:

SJMPW10

K1:

LCALLSHIFTL

W20:

CJNEA,#0FH,W21

W21:

CJNEA,#0F0H,W22

W22:

SJMPW20

ALARM_1:

SETBTR0;

操作错误报警

JBTR0,$

RET

ALARM_2:

密码错误报警

定时器中断服务程序,用于声音报警

INT_T0:

CPLP1.7

MOVTL0,#(65536-700)MOD256

INCCNT_A

MOVR1,CNT_A

CJNER1,#30,RETUNE

MOVCNT_A,#00H

INCCNT_B

MOVR1,CNT_B

CJNER1,#20,RETUNE

CLRTR0

RETUNE:

RETI

段码,输入密码左移子程序

SHIFTL:

MOVLED_BIT_6,LED_BIT_5

MOVLED_BIT_5,LED_BIT_4

MOVLED_BIT_4,LED_BIT_3

MOVLED_BIT_3,LED_BIT_2

MOVLED_BIT_2,LED_BIT_1

MOVLED_BIT_1,#40H

MOVKEY_6,KEY_5

MOVKEY_5,KEY_4

MOVKEY_4,KEY_3

MOVKEY_3,KEY_2

MOVKEY_2,KEY_1

MOVKEY_1,VAL

段码,输入密码右移子程序

SHIFTR:

MOVLED_BIT_1,LED_BIT_2

MOVLED_BIT_2,LED_BIT_3

MOVLED_BIT_3,LED_BIT_4

MOVLED_BIT_4,LED_BIT_5

MOVLED_BIT_5,LED_BIT_6

MOVKEY_1,KEY_2

MOVKEY_2,KEY_3

MOVKEY_3,KEY_4

MOVKEY_4,KEY_5

MOVKEY_5,KEY_6

以下为数码显示子程序

DISP:

CLRP2.7

MOVP0,LED_BIT_8

SETBP2.7

CLRP2.6

MOVP0,LED_BIT_7

SETBP2.6

CLRP2.5

MOVP0,LED_BIT_6

SETBP2.5

CLRP2.4

MOVP0,LED_BIT_5

SETBP2.4

CLRP2.3

MOVP0,LED_BIT_4

SETBP2.3

CLRP2.2

MOVP0,LED_BIT_3

SETBP2.2

CLRP2.1

MOVP0,LED_BIT_2

SETBP2.1

CLRP2.0

MOVP0,LED_BIT_1

SETBP2.0

**********************************************

DLY_S:

MOVR6,#10

D1:

MOVR7,#250

DJNZR7,$

DJNZR6,D1

DLY_L:

MOVR5,#100

D2:

MOVR6,#100

D3:

MOVR7,#248

DJNZR6,D3

DJNZR5,D2

FINI:

NOP

END

4.3程序运行结果

5结论

这次单片机课程设计,虽然短暂但是让我得到多方面的提高:

1、提高了我们的逻辑思维能力,使我们在汇编语言的分析与设计上有了很大的进步。

加深了我们对汇编语言的认识。

另外,我们还更加充分的认识到,单片机原理及应用这门课程在科学发展中的至关重要性2,查阅参考书的独立思考的能力以及培养非常重要,我们在设计电路时,遇到很多不理解的东西,有的我们通过查阅参考书弄明白,有的通过网络查到,但由于时间和资料有限我们更多的还是独立思考。

3,相互讨论共同研究也是很重要的,经常出现一些问题,比如电路设计中的键盘电路的设计,开始并不理解键盘电路的原理,但是和其他的专业同学讨论后,理解了分键盘电路的基本原理后,很快的设计了电路原理图。

附录A:

89C51管脚图

参考文献

[1]孙涵芳.MCS-51/96系列单片机原理及应用(修订版).北京航空航天大学出版社.1994

[2]李朝青.单片机原理及接口技术(第3版).北京航空航天大学出版社.2005

[3]周润景、袁伟亭、景晓松.Proteus在MCS-51&

ARM7系统中的应用百例.电子工业出版社.2006

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动态背景

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1