单片机课程设计说明书内容及格式要求图文.docx

上传人:b****6 文档编号:7581147 上传时间:2023-01-25 格式:DOCX 页数:9 大小:341.16KB
下载 相关 举报
单片机课程设计说明书内容及格式要求图文.docx_第1页
第1页 / 共9页
单片机课程设计说明书内容及格式要求图文.docx_第2页
第2页 / 共9页
单片机课程设计说明书内容及格式要求图文.docx_第3页
第3页 / 共9页
单片机课程设计说明书内容及格式要求图文.docx_第4页
第4页 / 共9页
单片机课程设计说明书内容及格式要求图文.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

单片机课程设计说明书内容及格式要求图文.docx

《单片机课程设计说明书内容及格式要求图文.docx》由会员分享,可在线阅读,更多相关《单片机课程设计说明书内容及格式要求图文.docx(9页珍藏版)》请在冰豆网上搜索。

单片机课程设计说明书内容及格式要求图文.docx

单片机课程设计说明书内容及格式要求图文

1绪论

随着人们生活水平的提高,如何实现防盗这一问题也变的尤其突出,传统的机械锁由于其构造的简单,被撬的事件屡见不鲜。

电子所由于其保密性高,使用灵活性好,安全系数高,受到了广大人民的喜爱。

锁是置于可启闭的器物上,用以关注某个确定的空间范围或某种器具的,必须以钥匙或暗码打开的扣件。

锁具发展到现在已有若千年的历史了,人们对他的结构,机理也研究的很透彻,因此,不用钥匙打开的方式也层出不穷。

现代人类文明社会里,由于各种矛盾冲突十分激烈,人们的思想道德观念,价值观,文化修养水平等差异,群众中良莠不齐,善良的人们能够自觉规范自己的行为,“非礼不为”,虽无钥匙亦不会乱闯。

然而,那些毫无道德观念的盗贼却想法设法利用高科技设备撬开门锁,使广大居民防不胜防。

所以更为现在的锁具需要需要革命。

1.1电子密码锁的背景及工作原理

随着社会科技的进步,锁已经发展到了密码锁。

电子锁,激光锁,声控锁等等。

在传统钥匙的基础上,加了一组或多组密码,不同声音,不同磁场,不同光束,光波,不同图像(指纹,脸部等来控制锁的开启。

从而大大提高了锁的安全性,使不法之徒无从下手,人们也就能对自身财产安全有了更多的保障。

当今安全信息系统越来越广泛,特别是保护机密,维护隐私和财产保护方面起到重要作用,而基于电子密码锁的安全系统是其中的组成部分,因此研究它具有重大的现实意义。

电子密码锁是以51系列单片机(AT89C51为核心,配以相应硬件电路,完成密码的识别和显示、驱动电磁执行器并检测其驱动电流值。

单片机接收键入的代码,并与存贮在EEPROM中的密码进行比较,如果密码正确,则驱动电磁执行器开锁;如果密码不正确,则允许操作人员重新输入密码,单片机将每次开锁操作和此时电磁执行器的驱动电流值作为状态信息发送给智能监控器,同时将接收来自传感器接口的报警信息也发送给智能监控器,作为智能化分析的依据。

2设计要求

用4*4的矩阵键盘组成0至9及确认键和清除键;提示信息的显示电路用8

位数码管组成显示,初始化时显示器显示“EF”,当输入密码时,只显示“-”,当密码位数输入完毕按下确认键时,对输入的密码与设定的密码进行比较,若密码输入正确,则锁开,即LED发光二极管发光;若密码输入不正确,则蜂鸣器一直发出“嘀”、“嘀”的报警声,直到复位。

在输入密码的后按“ENTER”键,进行密码比较然后给出相应信息。

若输入密码错误,可以利用“CLR”键删除刚才输入的错误的数字。

3硬件设计

3.1元件清单

原件名称所属类所属子类AT89C51MicroprocessorICs8051family

CAPCapacitorsGeneric

CAP-ELECCapacitorsGeneric

CRYSTALMiscellameous-------

RESResistorsGeneric

7SEG-MPX8-CC-BLUEOptoelectronics6-SegmengDisplays

74LS245TTL74LSseriesTransceivers

BUTTONSwitches&RelaysSwitches

SOUNDERSpeakers&Sounder-------

LED-YELLOWOptoelectronicsLEDs

元件全部添加完后,在ProteusISIS的编辑区域中按下图所示的原理图连接硬件电路。

原理图

电路元件说明及原理图

3.3.1LED数码显示器

LED显示块是由发光显示二极管显示字段的显示器件。

它实际上是由8个发光二极管,其中7个发光二极管构成七笔字形“8”,另一个发光二极管构成小数点。

七段显示块与单片机接口非常容易。

只要将一个8位并行输出与显示块的发光二极管引脚相连即可。

8位并行输出口输出不同的字节数据即可获得不同的数字或字符,

通常将控制发光二极管的8位字节数据称为段选码。

LED数码显示器内部有两种不同的形式:

共阳极显示和共阴极显示,此设计采用共阴极显示。

LED数码显示字形(段码表如下:

显示字形字形码(共阳极字形码(共阴极

0C0H3FH

1F9H06H

2A4H5BH

3B0H4FH

499H66H

592H6DH

682H7DH

7F8H07H

880H7FH

990H6FH

A88H77H

B83H7CH

CC6H39H

DA1H5EH

E86H79H

F8EH71H

3.3.2复位电路

复位电路有上电自动复位和手动复位,此设计用的是上电复位,电路图如上。

pin9:

RESET/VPD复位信号复位脚,当8951通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统及初始复位。

3.3.3时钟电路

89C51芯片内部有一个高增益反相放大器,用于构成振荡器。

反相放大器的输入端为XTAL1,输出端为XTAL,两端跨接石英晶体及两个电容就可以构成稳定的自激振荡器。

电容

器C1和C2通常取30PF,可稳定频率并对振荡频率有微调作用。

此振荡脉冲频率为12MHZ。

单片机时钟电路振荡脉冲可以由内部方式和外部方式产生,XTAL1(19引脚XTAL2(18引脚即为单片机的两个时钟引脚。

3.3.4矩阵键盘

矩阵式键盘又称行列式键盘,往往用于按键个数多的场合,矩阵式键盘的按键于行、列的交叉点上,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接,列线通过上拉电阻接电源,将行线所得单片机的I/O口作为输出端,列线所接的I/0口为输入端,编程所有行线输出低电平,列线输出高电平,当没有键被按下时,所有输出端为高电平,表示无键按下,一旦有键按下,则出现输入端被拉低变为低电平。

这样,通过读入列线的状态即可知道是否有键按下。

3.3.574LS245说明

74LS45芯片常来驱动LED或者其它设备,它是8路同相三态双向总线收发器,可双向传输数据。

当单片机的PO口总线负载达到或者超过PO最大负载能力是,必须接入74LS245等总线驱动器。

3.3.6单片机引脚说明

Pin20:

接地脚。

pin40:

正电源脚,工作时,接+5v电源。

pin19:

时钟XTAL1引脚,片内振荡电路的输入端。

pin18:

时钟XTAL2脚,片内振荡电路的输出端。

4程序存储器和数据存储器的单元分配

4.1程序存储器和数据存储器的单元分配

存储器是单片机的一个重要组成部分,每个存储单元对应一个地址,每个个单元共有1个地址,用两位16进制数表示,即存储器的地址(00H~FFH。

存储器中每个存储单元可存放一个八位二进制信息,通常用两位16进制数来表示,这就是存储器的内容。

4.1.1程序存储器

在单片机处理问题之前必须事先将编好的程序、表格、常数汇编成机器代码后存入单片机的存储器中,该存储器称为程序存储器。

程序存储器可以放在片内或片外,亦可片内片外同时设置。

由于PC程序计数器为16位,使得程序存储器可用16位二进制地址,因此,内外存储器的地址最大可从0000H到FFFFH。

4.1.2数据存储器

单片机的数据存储器由读写存储器RAM组成。

其最大容量可扩展到64k,用于存储实时输入的数据。

8051内部有256个单元的内部数据存储器,其中00H~7FH为内部随机存储器RAM,80H~FFH为专用寄存器区。

4.1.3特殊功能寄存器

特殊功能寄存器(SFR的地址范围为80H~FFH。

在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。

MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。

其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能。

5程序设计

8位数码显示,初始化时,显示“EF”,接着输入最大6位数的密码,当密码输入完毕后,按下“ENTER”键,与密码初始值进行比较,若发光二极管发光,则说明密码正确;如果蜂鸣器发出报警声,则说明密码错误。

在输入密码过程中,显示器只显示“-”,当输入密码位数超过6个数字时,蜂鸣器会发出报警声。

在输入

密码过程中,若输入错误,则可以通过清零键“CLR”删除输入错误的数字,接着可以继续输入数字。

5.1程序流程

5.2源程序

LED_BIT1EQU30H

LED_BIT2EQU31H

LED_BIT3EQU32H

LED_BIT4EQU33H

LED_BIT5EQU34H

LED_BIT6EQU35H

LED_BIT7EQU36H是CLR键?

是ENTER存键值

已输6位段码,密码

左移

等待输入计算键值

首次按键?

段码,密码右移计数值减1比较报警密码正确

开锁

计数值加1

初始化,设

置初始密码

是否

LED_BIT8EQU37H

WORD_1EQU38H

WORD_2EQU39H

WORD_3EQU3AH

WORD_4EQU3BH

WORD_5EQU3CH

WORD_6EQU3DH

KEY_1EQU3EH

KEY_2EQU3FH

KEY_3EQU40H

KEY_4EQU41H

KEY_5EQU42H

KEY_6EQU43H

KEY_CNTEQU46H

LINEEQU47H

ROWEQU48H

VALEQU49H

ORG0000H

SJMPSTARTSTART:

MOVCNT_A,#00HMOVCNT_B,#00HMOVKEY_CNT,#00HMOVLINE,#00HMOVROW,#00HMOVVAL,#00H

CLRP1.0

CLRP1.7

MOVLED_BIT1,#00HMOVLED_BIT2,#00HMOVLED_BIT3,#00HMOVLED_BIT4,#00HMOVLED_BIT5,#00HMOVLED_BIT6,#00HMOVLED_BIT7,#79HMOVLED_BIT8,#73H

MOVKEY_1,#00HMOVKEY_2,#00HMOVKEY_3,#00HMOVKEY_4,#00HMOVKEY_5,#00HMOVKEY_6,#00H

MOVWORD_1,#6MOVWORD_2,#5MOVWORD_3,#4MOVWORD_4,#3MOVWORD_5,#2MOVWORD_6,#1

A0:

LCALLDISPLSCAN:

MOVP3,#0F0H

L1:

JNBP3.0,L2LCALLDLY_SJNBP3.0,L2MOVLINE,#00HLJMPRSCANL2:

JNBP3.1,L3LCALLDLY_SJNBP3.1,L3MOVLINE,#01HLJMPRSCANL3:

JNBP3.2,L4LCALLDLY_SJNBP3.2,L4MOVLINE,#02HLJMPRSCANL4:

JNBP3.3,A0LCALLDLY_SJNBP3.3,A0MOVLINE,#03H

RSCAN:

MOVP3,#0FHC1:

JNBP3.4,C2MOVROW,#00HLJMPCALCUC2:

JNBP3.5,C3MOVROW,#01HLJMPCALCUC3:

JNBP3.6,C1MOVROW,#02H

CALCU:

MOVA,LINEMOVB,#03HMULAB

ADDA,ROWMOVVAL,ACJNEA,#0AH,J1MOVR1,KEY_CNTCJNER1,#00H,J2LCALLALARM_2LJMPSTARTJ2:

DECKEY_CNTLCALLSHIFTRW00:

LCALLDISP

MOVA,P3

CJNEA,#0FH,W01LJMPA0W01:

MOVA,P3

CJNEA,#0F0H,W02LJMPA0W02:

SJMPW00

J1:

MOVA,VALCJNEA,#0BH,J3MOVR1,KEY_CNTCJNER1,#06H,J4MOVA,WORD_1CJNEA,3EH,J5MOVA,WORD_2CJNEA,3FH,J5

MOVA,WORD_3CJNEA,40H,J5MOVA,WORD_4CJNEA,41H,J5MOVA,WORD_5CJNEA,42H,J5MOVA,WORD_6CJNEA,43H,J5SETBP1.0LCALLDLY_LLJMPFINIJ5:

LCALLALARM_2LJMPSTARTJ4:

LCALLALARM_2LJMPSTARTJ3:

INCKEY_CNTMOVA,KEY_CNTCJNEA,#07H,K1LCALLALARM_2W10:

LCALLDISPMOVA,P3CJNEA,#0FH,W11LJMPSTARTW11:

MOVA,P3CJNEA,#0FH,W12LJMPSTARTW12:

SJMPW10

LJMPSTARTK1:

LCALLSHIFTL

W20:

LCALLDISP

MOVA,P3

CJNEA,#0FH,W21

LJMPA0

W21:

MOVA,P3

CJNEA,#0F0H,W22LJMPA0

W22:

SJMPW20

LJMPA0

ALARM_2:

SETBP1.7

LCALLDLY_L

SHIFTL:

MOVLED_BIT6,LED_BIT5MOVLED_BIT5,LED_BIT4MOVLED_BIT4,LED_BIT3MOVLED_BIT3,LED_BIT2MOVLED_BIT2,LED_BIT1MOVLED_BIT1,#40H

MOVKEY_6,KEY_5MOVKEY_5,KEY_4MOVKEY_4,KEY_3MOVKEY_3,KEY_2MOVKEY_2,KEY_1MOVKEY_1,VAL

RET

SHIFTR:

MOVLED_BIT1,LED_BIT2MOVLED_BIT2,LED_BIT3

MOVLED_BIT3,LED_BIT4MOVLED_BIT4,LED_BIT5MOVLED_BIT5,LED_BIT6MOVLED_BIT6,#00HMOVKEY_1,KEY_2MOVKEY_2,KEY_3MOVKEY_3,KEY_4MOVKEY_4,KEY_5MOVKEY_5,KEY_6MOVKEY_6,#00H

RET

DISP:

CLRP2.7

MOVP0,LED_BIT8LCALLDLY_S

SETBP2.7

CLRP2.6

MOVP0,LED_BIT7LCALLDLY_S

SETBP2.6

CLRP2.5

MOVP0,LED_BIT6LCALLDLY_S

SETBP2.5

CLRP2.4

MOVP0,LED_BIT5LCALLDLY_S

SETBP2.4

CLRP2.3

MOVP0,LED_BIT4LCALLDLY_SSETBP2.3

CLRP2.2

MOVP0,LED_BIT3LCALLDLY_SSETBP2.2

CLRP2.1

MOVP0,LED_BIT2LCALLDLY_SSETBP2.1

CLRP2.0

MOVP0,LED_BIT1LCALLDLY_SSETBP2.0

RET

DLY_S:

MOVR6,#10D1:

MOVR7,#250DJNZR7,$

DJNZR6,D1RET

DLY_L:

MOVR5,#100D2:

MOVR6,#100D3:

MOVR7,#248DJNZR7,$

DJNZR6,D3DJNZR5,D2RET

中北大学信息商务学院单片机课程设计说明书FINI:

NOP6运行结果按下Play键,显示器显示字母“EF”,输入密码后,按“ENTER”键,密码正确,二极管发光,密码不正确,发出警报声。

若操作错误也会发出警报声。

7总结及体会在这次课程设计中,我们运用到了以前所学的专业课知识,如:

protel99制图、汇编语言等。

虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。

最后,要做好一个课程设计,就必须做到:

在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,一个程序的完美与否不仅仅是实现功能,而应该让人一看就能明白你的思路,这样也为资料第16页共17页

中北大学信息商务学院单片机课程设计说明书的保存和交流提供了方便;在设计课程过程中遇到问题是很正常德,但我们应该将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题。

另外,这次课程设计让我感到了团队合作的重要性。

在团队中,我们互帮互助,对整个课程设计来说,这是至关重要的,缺少每一个人都会对我们的设计产生影响。

还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。

参考文献[1]周润景张丽娜丁莉.基于PROTEUS的电路及单片机设计与仿真(第二版).北京航天航空大学出版社2009.12[2]李朝清.单片机原理及接口技术(第三版).北京航天航空大学出版社.2006.12[3]周兴华.手把手教你学单片机.北京航天航空大学出版社.2006.12[4]张文利.微机原理及单片机接口技术.中国科学技术大学出版社2007.7第17页共17页

中北大学信息商务学院单片机课程设计说明书第18页共17页

中北大学信息商务学院单片机课程设计说明书第19页共17页

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

当前位置:首页 > 成人教育 > 成考

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

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