文档库 最新最全的文档下载
当前位置:文档库 › 8位密码锁单片机课程设计

8位密码锁单片机课程设计

8位密码锁单片机课程设计
8位密码锁单片机课程设计

单片机原理及系统课程设计

专业:自动化

班级:自动化

姓名:

学号:

指导教师:

2012 年 7月 1日

1 引言

电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。它的种类很多,有简易的电路产品,也有基于芯片的性价比较高的产品。现在应用较广的电子密码锁是以芯片为核心,通过编程来实现的。其性能和安全性已大大超过了机械锁。其在生活的各个方面均有应用,前景十分广阔。其特点如下:

(1)保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零;

(2)密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的更替而使锁的密级下降;

(3)误码输入保护,当输入密码多次错误时,报警系统自动启动;

(4)无活动零件,不会磨损,寿命长;

(5)使用灵活性好,不像机械锁必须佩带钥匙才能开锁。

2 设计方案及原理

2.1 本设计所要实现的目标

设计一种单片机控制的密码锁,具有按键有效指示、解码有效指示、控制开锁电平、控制报警、密码修改等功能。8位十进制密码共一亿组不重复,保密性强。该密码锁要实现一下功能:

(1) 锁的初始状态为“锁合”指示灯亮。输入初始密码“0、1、2、3、4、5、6、7”,每输入一位,“按键有效”指示灯亮约半秒钟,输完8位按确认键,锁打开,“锁开”指示灯亮;

(2) 按“上锁”键,锁又重新上锁,“锁合”指示灯亮;

(3) “锁开”状态下,可输入新密码,可重复修改密码;

(4) 如果输入密码错误,“错误指示”灯亮约半秒钟。可重新输入密码;

(5) 输入密码错误超过3次,蜂鸣器启动发出报警,同时“错误”指示灯常亮。

2.2 设计思路

对于电子密码锁的设计,需要解决几个问题:键盘输入、数码管显示、单片机电路、密码比较、修改密码等。其中最主要的就是解决掉电保存以及修改密码的问题。先写一个循环写入8个初始密码到芯片内部EEPROM程序,先下载程序写入初始密码,此时EEPROM已存有初始密码,再把密码锁程序下载到单片机,运行电子密码锁。

本设计主要由单片机、矩阵键盘、液晶显示器和密码存储等部分组成。其中

矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,实际使用的是单片机P1.2和P1.1来控制锁合和锁开LED灯的状态,P0口用于电子显示屏来显示提示语句和密码输入按键。

本系统共有两部分构成,即硬件部分与软件部分。

3 硬件设计

硬件部分由键盘输入部分、密码存储部分、复位部分、晶振部分、显示部分、报警部分、开锁部分组成。

3.1 键盘扫描电路

键盘接成4*4的矩阵键盘,行线为LD0-LD3分别接P2口的P0.0-P0.3,列线为HD0-HD3分别接P2口的P0.7-P0.4。当哪一行的有键按下,则相应行的“按键有效”指示灯亮一下,其余行所对应的灯不亮。P2初始时P2口第四位为低电平,高四位为高电平,当哪一行有键按下,则所对应的行和列对应的口变为低电平,将改为扫描到单片机中。键盘扫描电路如图3.1所示。

图3.1 键盘扫描电路

3.2 晶振电路

80C31引脚XTAL1和XTAL2与晶体振荡器及电容C2/C1按图3.2所示方式连接。晶振、电容C1/C2振荡器,振荡信号频率与晶振频率及电容C1/C2的容量有关,但主要由晶振频率决定,范围在0~33MHz之间,电容C1/C2取值范围在5~30pF之间。根据实际情况,本设计中采用1MHZ做为系统的外部晶振。电容取值为30pF。晶振电路如图3.2所示。

图3.2晶振电路

3.3 复位电路

上电复位电路如图3.3所示。

图3.3 复位电路

3.4 显示部分

显示电路是利用LM016L系列的LCD显示屏,可以双行显示。其D0-D7与P0口相接,并且给P0口外接上拉电阻。LCD显示电路如图3.4所示。

图3.5报警电路

3.6 电路总体结构及布局

该设计的电路总体结构及布局如图3.6所示。

图3.6电路总体结构及布局

4 软件设计

软件部分由主程序、初始化程序、LCD显示程序、键盘扫描程序、功能程序、密码设置程序、EEPROM读写程序和延时程序等组成。总流程图如图4.1所示。

具体程序见附录。

5 Proteus 仿真结果

当开启开始仿真时,LCD 显示屏会显示“选择A 为设置密码,选择B 为开锁”,同时“锁合”指示灯(红灯D1)闪烁。开始仿真图如图5.1所示。

19

18

19

18

122133144

122133144

L D 3

L D 2

L D 1L D 0

H D 0

H D 1

H D 2

H D 3

LD0LD1LD2LD3HD3HD2HD1HD0XTAL2

18

XTAL1

19ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C31

Q1

NPN

LS1SPEAKER D1

锁合

D2

错误

R3

220

R1

560

Q2

NPN

D3

锁开

R2

220

C1

20u

R4

100

R5

10k

X1

CRYSTAL C2

33p

C3

33p

D 7

14

D 613D 512D 411D 310D 29D 18D 0

7

E 6R W 5R S

4V S S

1

V D D 2V E E 3LCD1

LM016L

R610k R710k R810k R910k R1010k R1110k R1210k R13

10k

147A 23

F

56

89

0B

D4按键有效

D5

LED-BLUE D6

LED-BLUE D7

LED-BLUE

当按下A 或B 时会提示输入密码,按下每一个键都会输出“*”提示。其仿真结果如图5.2所示。

19

18

19

18

122133144

122133144

L D 3

L D 2

L D 1L D 0

H D 0

H D 1

H D 2

H D 3

LD0LD1LD2LD3HD3HD2HD1HD0XTAL2

18

XTAL1

19ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C31

Q1

NPN

LS1SPEAKER D1

锁合

D2

错误

R3

220

R1

560

Q2

NPN

D3

锁开

R2

220

C1

20u

R4

100

R5

10k

X1

CRYSTAL C2

33p

C3

33p

D 7

14

D 613D 512D 411D 310D 29D 18D 0

7

E 6R W 5R S

4V S S

1

V D D 2V E E 3LCD1

LM016L

R610k R710k R810k R910k R1010k R1110k R1210k R13

10k

147A 23

F

56

89

0B

D4按键有效

D5

LED-BLUE D6

LED-BLUE D7

LED-BLUE

当输入密码正确时会显示“PASSWORD OK!!!”字样,同时“错误”指示灯(绿灯D3亮)。其仿真图如图5.3所示。

19

18

19

18

122133144

122133144

L D 3

L D 2

L D 1L D 0

H D 0

H D 1

H D 2

H D 3

LD0LD1LD2LD3HD3HD2HD1HD0XTAL2

18

XTAL1

19ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C31

Q1

NPN

LS1SPEAKER D1

锁合

D2

错误

R3

220

R1

560

Q2

NPN

D3

锁开

R2

220

C1

20u

R4

100

R5

10k

X1

CRYSTAL C2

33p

C3

33p

D 7

14

D 613D 512D 411D 310D 29D 18D 0

7

E 6R W 5R S

4V S S

1

V D D 2V E E 3LCD1

LM016L

R610k R710k R810k R910k R1010k R1110k R1210k R13

10k

147A 23

F

56

89

0B

D4按键有效

D5

LED-BLUE D6

LED-BLUE D7

LED-BLUE

当输入密码错误时,LCD 显示屏会显示“PASSWORD ERROR!”。其仿真图如图5.4所示。

19

18

19

18

122133144

122133144

L D 3

L D 2

L D 1L D 0

H D 0

H D 1

H D 2

H D 3

LD0LD1LD2LD3HD3HD2HD1HD0XTAL2

18

XTAL1

19ALE 30EA

31

PSEN 29RST

9

P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78

P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD

17

P3.6/WR 16P3.5/T115U1

80C31

Q1

NPN

LS1SPEAKER D1

锁合

D2

错误

R3

220

R1

560

Q2

NPN

D3

锁开

R2

220

C1

20u

R4

100

R5

10k

X1

CRYSTAL C2

33p

C3

33p

D 7

14

D 613D 512D 411D 310D 29D 18D 0

7

E 6R W 5R S

4V S S

1

V D D 2V E E 3LCD1

LM016L

R610k R710k R810k R910k R1010k R1110k R1210k R13

10k

147A 23

F

56

89

0B

D4按键有效

D5

LED-BLUE D6

LED-BLUE D7

LED-BLUE

6 总结

本设计是基于单片机的多功能密码锁设计。在设计过程中,首先是确立要设计的目标及电子密码锁要实现的功能,该如何通过软硬件来实现。接下来是根据目标来搭建电路图,设计各功能模块要实现的功能,比如报警,LED灯的显示控制,4*4矩阵键盘的搭建。接着就要通过编程来实现各模块功能,比如输入密码,输出显示,键盘扫描程序,存储程序等等。最后就是调试改错,下载仿真。

本设计最后实现了上面所提到的基本功能外,另外增加了LCD显示屏,开始时有提示选择,问执行什么功能,到底是设置密码呢还是开锁。当进入任何一个界面都会出现提示信息,比如‘PASSWORD OK!!!’,‘INPUT AGAIN!’,‘SET PASSWORD’等等。当每次输入时都会显示“*”提示。当输入密码错误超过三次时就会直接锁死,即使按下功能复位键也不会开锁,这样直接降低了盗窃的几率。另外,在修改密码时会提示先输入原密码,再输两次新密码,防止用户该密码是按错键,极大地提高了密码锁的可靠性。本设计输入的密码是8位的,共有一亿组不重复密码,增加了密码的安全性。

本设计还存在一些不足之处,开锁延时一段时间后没有自动上锁功能,应该在用户开锁之后若不操作机器时,延时30秒就自动上锁,减小因疏忽而给用户带来的不便。

参考文献

[1] 李华,王思明,张金敏.单片机原理及应用[M].兰州:兰州大学出版社,2001:11-120.

[2] 顾滨.单片微计算机原理开发与应用[M].北京:高等教育出版社,2000:67-81.

[3] 李广弟.单片机基础[M].北京:北京航空航天大学出版社,1994:45-56.

附录源程序

EN BIT P3.0

RW BIT P3.1

RS BIT P3.2

DISPLAY EQU P0

SOUNDER BIT P1.1

LED BIT P1.2

OPEN BIT P1.1

RETURNBIT BIT 20H.1

ORG 0000H

LJMP START

ORG 000BH

LJMP INTERMIT_T0

ORG 001BH

LJMP INTERMIT_T1

ORG 0030H

START: MOV SP,#60H

LCALL SYS_INITIAL

;主程序

MAIN0: LCALL STRAT_DISPLAY

MAIN: MOV 52H,#0 ;判断输入错误次数储存地址SETB LED

SETB TR0

LCALL KEY

CJNE A,#'A',NEXT1

LJMP CHANGE_KEY

NEXT1: CJNE A,#'B',NEXT2

LJMP INPUT_KEY

NEXT2: AJMP MAIN

;系统初始化

SYS_INITIAl:

CLR LED

CLR OPEN

CLR SOUNDER

MOV 32H,#'0'

MOV 33H,#'1'

MOV 34H,#'2'

MOV 35H,#'3'

MOV 36H,#'4'

MOV 37H,#'5'

MOV 38H,#'6'

MOV r7,#16

MOV r0,#40H

LOOP: MOV @R0,#10H

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 R5,#10

MOV TMOD,#11H

MOV TH0,#3CH

MOV TL0,#0B0H

SETB EA

SETB ET0

RET

INTERMIT_T0:

PUSH ACC

PUSH PSW

MOV TH0,#3CH

MOV TL0,#0B0H

DJNZ R5,RETURN

CPL LED

MOV R5,#10

RETURN:

POP PSW

POP ACC

RETI

INTERMIT_T1:

PUSH ACC

PUSH PSW

MOV TH1,#9EH

MOV TL1,#58H

DJNZ R5,RETURN_T1

CPL LED

CPL SOUNDER

MOV R5,#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 ACC.4,L1

MOV A,#0

LJMP LK

L1: JB ACC.5,L2

MOV A,#4

LJMP LK

L2: JB ACC.6,L3

MOV A,#8

LJMP LK

L3: JB ACC.7,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 ACC.7,KEY

RL A

MOV R2,A

JMP K3

KS: MOV P2,#0F0H

MOV A,P2

XRL A,#0F0H

RET

;修改密码程序

CHANGE_KEY:

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE4

CALL INPUT_HINT

MOV R0,#40H

CALL CHANGE

JBC RETURNBIT,CHANGE_KEY ;先输入原密码完毕

MOV R4,#8

MOV R0,#40H

MOV R1,#32H

INPUT_COMPERE:

MOV A,@R0

XRL A,@R1

JNZ INPUT_ERROR

INC R0

INC R1

NOP

NOP

DJNZ R4,INPUT_COMPERE

;验证输入密码完毕

JMP CHANGE_KEY0

INPUT_ERROR:

SETB SOUNDER

SETB LED

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE5

CALL INPUT_HINT

CALL DELAY1_15S

CLR SOUNDER

CLR LED

INC 52H

MOV A,52H

CJNE A,#3,CHANGE_KEY

SJMP $

;输入密码错误次数超过3次,锁死CHANGE_KEY0:

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE2

CALL INPUT_HINT

MOV R0,#40H

CALL CHANGE

JBC RETURNBIT,CHANGE_KEY ;第一次输入新密码完毕

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE3

CALL INPUT_HINT

CALL DELAY1_15S ;显示再次输入新密码完毕

MOV DPTR,#TABLE4

CALL INPUT_HINT

MOV R0,#48H

CALL CHANGE

JBC RETURNBIT,CHANGE_KEY ;第二次输入新密码完毕

MOV R4,#7

MOV R0,#40H

MOV R1,#48H

SET_COMPERE:

MOV A,@R0

XRL A,@R1

JNZ SET_ERROR

INC R0

INC R1

DJNZ R4,SET_COMPERE

MOV 32H,40H

MOV 33H,41H

MOV 34H,42H

MOV 35H,43H

MOV 36H,44H

MOV 37H,45H

MOV 38H,46H ;存入新密码完毕

JMP MAIN0 ;设置新密码成功,返回主程序SET_ERROR:

SETB SOUNDER

SETB LED

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE5

CALL INPUT_HINT

CALL DELAY1_15S

CLR SOUNDER

CLR LED

LJMP CHANGE_KEY0 ;设置新密码成功,返回主程序INPUT_KEY: ;输入密码开锁程序

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE4

CALL INPUT_HINT

MOV R0,#40H

CALL CHANGE

JBC RETURNBIT,INPUT_KEY ;设置新密码成功,返回主程序

MOV R4,#8

MOV R0,#40H

MOV R1,#32H

INPUT_COMPERE0:

MOV A,@R0

XRL A,@R1

JNZ INPUT_ERROR22

INC R0

INC R1

NOP

NOP

DJNZ R4,INPUT_COMPERE0 ;验证输入密码完毕

JMP DISPLAY_RIGHT

INPUT_ERROR22:

SETB SOUNDER

SETB LED

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE5

CALL INPUT_HINT

CALL DELAY1_15S

CLR SOUNDER

CLR LED

INC 52H

MOV A,52H

CJNE A,#3,INPUT_KEY

SJMP $ ;输入密码错误超过3次,锁死DISPLAY_RIGHT:

CALL CLEAR_DISPLAY

MOV DPTR,#TABLE6

CALL INPUT_HINT ;显示输入密码正确提示完毕

SETB OPEN ;开锁

NEXT_KEY1:

CALL KEY

NOP

NOP

CJNE A,#'F' ,NEXT_KEY1

CLR OPEN ;按下关锁键关锁

JMP MAIN0 ;返回主程序

STRAT_DISPLAY:

MOV P0,#80H

CALL WRITE_INSTRUCTION

MOV DPTR,#TABLE1

CALL INPUT_HINT

MOV P0,#0C0H

CALL WRITE_INSTRUCTION

MOV DPTR,#TABLE11

CALL INPUT_HINT

RET

CLEAR_DISPLAY: ;清屏MOV DISPLAY,#01H

CALL WRITE_INSTRUCTION

MOV P0,#06H

CALL WRITE_INSTRUCTION

RET

INPUT_HINT:

MOV R4,#16

MOV A,#00H

ALL_OR_NOT:

MOVC A,@A+DPTR

MOV DISPLAY,A

CALL WRITEDATA

INC DPTR

CLR A

NOP

NOP

DJNZ R4,ALL_OR_NOT

RET

CHANGE:

MOV R4,#8

MOV R1,#0C0H

MOV A,R1

MOV P0,A

CALL WRITE_INSTRUCTION

LOOP1:

CALL KEY

NOP

NOP

CJNE A,#'C',NEXT_TO

SETB RETURNBIT

JMP ENDT

NEXT_TO:

MOV A,50H

MOV @R0,A

MOV DISPLAY,#'*'

CALL WRITEDATA

INC R1

INC R0

DJNZ R4,LOOP1

ENDT: RET

WRITEDATA: ;写数据SETB RS

CLR RW

CLR EN

SETB EN

NOP

NOP

CLR EN

SETB EN

NOP

NOP

CLR EN

CALL DELAY

RET

WRITE_INSTRUCTION: ;写指令CLR RS

CLR RW

CLR EN

SETB EN

NOP

NOP

CLR EN

CALL DELAY

RET

DELAY1_15S: ;延时程序PUSH 77H

PUSH 72H

PUSH 73H

MOV R7,#15

DEL22S:

MOV R3,#0

DEL11S:

MOV R2,#0

DJNZ R2,$

DJNZ R3,DEL11S

POP 03H

POP 02H

POP 07H

RET

DELAY0_1S:

PUSH 02H

PUSH 03H

MOV R3,#0

DEL21S:

MOV R2,#0

NOP

NOP

DJNZ R2,$

DJNZ R3,DEL21S

POP 03H

POP 02H

RET

DELAY:PUSH 07H

PUSH 06H

MOV R7,#10

D1: MOV R6,#248

NOP

NOP

DJNZ R6,$

DJNZ R7,D1

POP 06H

POP 07H

RET

TABLE0:DB 'C','B','0','A';

DB 'D','9','8','7';

DB 'E','6','5','4';

DB 'F','3','2','1';

TABLE1: DB 'PASSWORD: A SET '; TABLE11: DB ' B OPEN'; TABLE 2: DB 'SET PASSWORD: '; TABLE 3: DB 'INPUT AGAIN! '; TABLE4: DB 'INPUT PASSWROD: '; TABLE5: DB 'PASSWORD ERROR! '; TABLE6: DB 'PASSWORD OK!!! '; END

单片机课程设计 简易计算器的设计

目录 摘要 (1) 绪论 (1) 1.设计要求及功能分析 (1) 1.1 设计要求 (1) 1.2 基本功能 (2) 2.设计方案 (2) 2.1 硬件部分设计方案 (2) 2.1.1 单片机部分 (2) 2.1.2 按键部分 (2) 2.1.3 显示部分 (2) 2.2 软件部分设计方案 (2) 3.系统的硬件总体设计 (4) 3.1 系统的总体硬件设计 (4) 3.2 键盘连接电路 (4) 3.3 显示屏连接电路 (5) 3.4 单片机芯片AT89C51 (6) 3.5 外接电路 (7) 4.系统的软件总体设计 (8) 4.1 键盘识别程序设计 (8) 4.2 显示程序 (11) 4.3 运算程序 (11) 5.元器件清单及程序清单 (12) 5.1 元器件清单 (12) 5.2 程序清单 (12) 6.软件仿真 (18) 6.1 仿真验证 (18) 6.2 性能分析 (20) 6.3 出现故障及其原因 (20) 6.4 解决方法 (20) 结论 (20) 参考文献 (21) 致谢 (21) 附录PCB图 (22)

简易计算器的设计 学生:李飞马鹏超舒宏超 指导老师:王孝俭 摘要:单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行总线,还有和硬盘作用相同的存储器件,不同的是它的这些部件性能都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可,用它来做一些控制电器一类不是很复杂的工作足矣了。我们现在用的全自动滚筒洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影!它主要是作为控制部分的核心部件。它是一种在线式实时控制计算机,在线式就是现场控制,需要的是有较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。 关键词:单片机、计算器、控制电路、仿真。 绪论 设计要求掌握数码管移位动态扫描显示的编程方法,掌握矩阵扫描的编程方法,掌握数据在内部运算的编程方法。设计任务实现最大8位正整数加、减、乘、除,具备清零、等于功能,16个按键功能依次为:数字0、数字1、数字2、数字3、数字4、数字5、数字6、数字7、数字8、数字9、清零、等于、加、减、乘、除。 1.设计要求及功能分析 1.1设计要求: 本次单片微型计算机与接口技术课程设计做的是利用C51单片机为主体的计算器,实现了简单的加、减、乘、除功能。采取的是键盘输入和液晶显示屏的输出结果显示。主要硬件构成部分由四个,一个AT89C51单片机芯片,一个液晶显示屏,一个4*4键盘和一个排阻(10K)做P0口的上拉电阻,可以实现16位的数值操作计算。 1.2基本功能: 首先,计算器可现实8位数字,开机运行时,只有数码管最低位显示为“0”,其他位全部不显示;

基于51单片机红外感应家用小夜灯的设计概要

本科毕业论文(设计) 题目: 基于51单片机红外感应家用小 夜灯的设计 院系:物理与电子信息科学系 专业:电子信息科学与技术 姓名: 学号: 指导教师:周鸿武 教师职称:讲师 填写日期:2011年5 月 10 日

摘要 本系统采用了热释电红外传感器,它的制作简单、成本低、安装比较方便,而且性能比较稳定,抗干扰能力强、灵敏度高、安全可靠。 人体都有恒定的体温,一般在37度左右,所以会发出特定波长的红外线,人体辐射的红外线的中心波长为9~10um,而热释电红外传感器的波长灵敏度在0.2~20um范围内几乎稳定不变,所以实际系统中常采用的是热释电红外传感器。热释电传感器主要是以非接触的形式对人体辐射的红外线进行检测,将检测到的红外光谱转变成微弱的电信号,然后通过放大电路将微弱的电信号放大,最后经单片机处理以达到驱动电路从而使感应灯发光的效果。 本设计主要包括硬件和软件设计两个部分。硬件部分包括单片机控制电路、红外探头电路、驱动执行发光电路、发光器控制电路等部分组成。软件部分主要是延时程序的设计,处理器采用51系列单片机AT89C51,整个系统是在系统软件的控制下工作的。 关键词:单片机;红外传感器;数据采集;发光电路

Abstract This system uses a pyroelectric infrared sensor, its make simple, low cost, installation are more convenient and more stable performance, strong anti-jamming capability, high sensitivity, safe and reliable. The human body has a constant temperature, be in commonly 37 degrees or so, so will issue certain wavelengths of infrared radiation infrared center for 9 ~ 10um wavelength, and pyroelectric infrared sensor sensitivity in the wavelength of 0.2 ~ 20um range almost constant, so actual system often USES is pyroelectric infrared sensors. Pyroelectric non-contact sensor is mainly by the form of human radiation of infrared testing, detect the infrared spectrum into a weak signal, and then by amplifying circuit will weak signal amplifier, finally SCM processing to achieve driving circuit is thus make induction lamp glow effect. This design includes two parts and the design of hardware and software. Hardware part includes single-chip microcomputer control circuit, infrared sensor circuit, drive execution shine circuit, lighter control circuit components. Software part mainly delay program design, the processor by 51 series microcontroller AT89C51, the whole system is under control work in the system software. Keywords: PIC, Infrared sensor, Data acquisition, Luminous circuit

单片机课程设计完整版样本

课程设计( 论文) 课程名称单片机 题目名称简易密码锁的设计学院高等技术学院 专业班级高1 1 0 9 学号3869 学生姓名刘欢 指导教师胡立强 11月28 日 目录

一,任务目的 (3) 二,任务要求 (3) 三,电路与元器件 (4) 四,程序设计 (5) 五,程序运行测试 (6) 六,任务小结 (7) 七,心得体会 (8) 八,参考文献 (9) 1.任务目的

经过对具有四个按键输入和一个数码管显示的简易密码锁的设计与制作, 让读者理解C语言中数组的基本概念和应用技术, 并初步了解单片机与键盘和LED数码管的接口电路设计及编程控制方法。 2.任务要求 在一些智能门控管理系统, 需要输入正确的密码才能开锁。基于单片机控制的密码锁硬件电路包括三部分: 按键、数码显示和电控开锁驱动电路, 三者的对应关系如图表3.16所示。 表3.16 简易密码锁状态 简易密码锁的基本功能如下: 4个按键, 分别代表数字0,1,2,3: 密码在程序中事先设定, 为0-3之间的一个数字; 上电复位后, 密码锁初始状态为关闭, 密码管显示符号”—”; 当按下数字键后, 若与事先设定的密码相同, 则数码管显示字符”P”, 打开锁, 3秒后恢复锁定状态, 等待下一次密码的输入, 否则显示字符”E”持续3秒, 保持锁定状态并等待下次输入。 3.电路与元器件 根据任务要求, 用一位LED数码管作为显示器件, 显示密码锁的状态信息, 数码管采用静态连接方式; 4个按键连接到P0口的低四位

P0.0-P0.3引脚, 设P0.0连接数字”0”按键、P0.1连接数字”1”按键, 依次类推; 锁的开、关电路用P3.0控制的一个发光二极管代替, 发光二极管点亮表示锁打开, 熄灭表示锁定。根据以上分析, 采用如图3.21所示的连接电路。 图3.21 简易密码锁电路 简易密码锁电路所需元器件清单如表3.17所示。 元器件名称参数数量元器件名 称 参数数量 插座DIP40 1 电阻103 1 单片机AT89SC51 1 电解电容22UF 1

单片机课程设计计算器

课程设计说明书 课程设计名称:单片机课程设计 课程设计题目:四位数加法计算器的设计学院名称:电气信息学院 专业班级: 学生学号:

学生姓名: 学生成绩: 指导教师: 课程设计时间:至

格式说明(打印版格式,手写版不做要求) (1)任务书三项的内容用小四号宋体,倍行距。 (2)目录(黑体,四号,居中,中间空四格),内容自动生成,宋体小四号。 (3)章的标题用四号黑体加粗(居中排)。 (4)章以下的标题用小四号宋体加粗(顶格排)。 (5)正文用小四号宋体,倍行距;段落两端对齐,每个段落首行缩进两个字。 (6)图和表中文字用五号宋体,图名和表名分别置于图的下方和表的上方,用五号宋体(居中排)。(7)页眉中的文字采用五号宋体,居中排。页眉统一为:武汉工程大学本科课程设计。 (8)页码:封面、扉页不占页码;目录采用希腊字母Ⅰ、Ⅱ、Ⅲ…排列,正文采用阿拉伯数字1、2、3…排列;页码位于页脚,居中位置。 (9)标题编号应统一,如:第一章,1,,……;论文中的表、图和公式按章编号,如:表、表……;图、图……;公式()、公式()。

课程设计任务书 一、课程设计的任务和基本要求 (一)设计任务(从“单片机课程设计题目”汇总文档中任选1题,根 据所选课题的具体设计要求来填写此栏) 1. 系统通过4x4的矩阵键盘输入数字及运算符。 2. 可以进行4位十进制数以内的加法运算,如果计算结果超过4位十进制数,则屏幕显示E。 3. 可以进行加法以外的计算(乘、除、减)。 4. 创新部分:使用LCD1602液晶显示屏进行显示,有开机欢迎界面,计算数据与结果分两行显示,支持小数运算。 (二)基本要求 1.有硬件结构图、电路图及文字说明; 2.有程序设计的分析、思路说明; 3.有程序流程框图、程序代码及注释说明; 4.完成系统调试(硬件系统可以借助实验装置实现,也可在Proteus 软件中仿真模拟); 5.有程序运行结果的截屏图片。

基于单片机的声光控制灯

基于单片机的声光控制模拟路灯 (程序部分) 前言:单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。本次我们采用at89c51单片机设计一种基于单片机控制的声光控制模拟路灯。该灯有声控,光控,声光同时控制楼道灯三种模式,经过调查,现在绝大多数小区的楼道灯都是纯电路形式实现声光控制的,这较之智能控制缺乏功能多样性,稳定性,而未来肯定是智能化的天下,所以我们用单片机模拟这一个多功能灯的系统。 关键字:单片机,at89c51,智能社区,楼道灯 目录: 一、设计目的 (2) 二、总体设计 (2) 方案选择: (2) 三、硬件设计 (3) 原理说明: (3) 四、软件设计 (3) 主要程序清单: (3) 程序框图: (5) 五、实验结果 (6) 六、总结 (6)

通过此次设计,主要是为了巩固我们的单片机相关知识及对单片机的相关应用,培养电子系统设计与实践的能力,学会设计使用简易的声、光传感器,并能用这些传感器设计一个声光控制的路灯(楼道灯)。 完成功能: 1)、声控灯模式。当传感器接收到声音信号时,单片机控制灯亮,并在5秒后灯自动熄灭。 2)、光控等模式。当光电传感器接收到为暗光时,灯自动点亮,接收到为亮光时,等自动熄灭。 3)、楼道灯模式。声光控制结合,即模拟当天暗并且楼道里有人走过的时候灯自动点亮5秒后熄灭。 二、总体设计 此次设计的声光控制灯包括三个基本模块,即声音处理模块、光处理模块、单片机小系统。总体设计框图如下: 图1、总体设计框图 方案选择: 1)、单片机部分。由于此次设计对单片机的要求较低,所以我们选择最为常用的at89c51单片机作控制部分。 2)、声控部分 一:选择专用的声音传感器模块来完成,能得到正确的波形、电压、频率等参数,且设计电路简单省事,但成本较高。 二:用驻极体话筒通过相应的信号处理电路对声音信号进行处理,成本较低,但电路设计麻烦。 综上所述:我们选择方案二,因为此次设计对声音信号的波形等参数要求较小,只要单片机接收到并能判断为高电平即可。 3)、光控部分 一:用光敏二极管作光电元件,光敏二极管对光转换为相应的电流。 二:用光敏电阻作光电元件,光敏电阻对光转换为相应的电阻。 综上所述:我们选用光敏电阻作光控部分的核心元件,因为光敏二极管转换成的是电流,而我们需要判断的是电压信号,将电流转换为电压信号的电路较复杂。

单片机电子密码锁课程设计

单片机技术及应用综合训练 (设计报告)

前言 随着人们生活水平的提高,如何实现家庭防盗这一问题也变得尤为突出。在科学技术不断发展的今天,电子密码防盗锁作为防盗卫士的作用显得日趋重要。 本文从经济实用的角度出发,系统由STC89C52与低功耗CMOS型E2PROM AT24C02作为主控芯片与数据存储器单元,结合外围的键盘输入、LCD显示、报警、开锁等电路模块。它能完成以下功能:正确输入密码前提下,开锁;错误输入密码情况下,报警;密码可以根据用户需要更改。用C语言编写的主控芯片控制程序与EEPROM AT24C02读写程序相结合,并用Keil软件进行编译,设计了一款可以多次更改密码,具有报警功能的电子密码控制系统。 本密码锁具有设计方法合理,简单易行,成本低,安全实用,保密性强,灵活性高等特点,具有一定的推广价值。 关键词:电子密码锁、报警、液晶显示

目录 一、选题要求 (1) 二、硬件电路设计 (1) 2.1 51单片机 (2) 2.2 键盘电路 (2) 2.3 液晶显示电路 (2) 2.4 警报电路 (3) 2.5 密码储存电路 (3) 2.6 晶振、复位及关锁 (3) 三、软件设计 (4) 四、软硬件调试结果 (9) 4.1 电路总原理图 (9) 4.2 调试结果 (10) 五、总结 (11)

一、选题要求 本文从经济实用的角度出发,设计采用单片机为主控芯片,结合外围电路,组成电子密码控制系统,密码锁共6位密码,每位的取值范围为0~9,用户可以自行设定和修改密码。用户想要打开锁,必先通过提供的键盘输入正确的密码才可以,密码输入错误有提示,为了提高安全性,当密码输入错误三次将报警,期间输入密码无效,以防窃贼多次试探密码。6位密码同时输入正确,锁才能打开。锁内有备用电池,只有内部上电复位时才能设置或修改密码,因此,仅在门外按键是不能修改或设置密码的,因此保密性强、灵活性高。其特点如下: 1) 保密性好,编码量多,远远大于弹子锁。随机开锁成功率几乎为零。 2) 密码可变,用户可以随时更改密码,防止密码被盗,同时也可以避免因人员的 更替而使锁的密级下降。 3) 误码输入保护,当输入密码多次错误时,报警系统自动启动。 4) 无活动零件,不会磨损,寿命长。 5) 使用灵活性好,不像机械锁必须佩带钥匙才能开锁。 6) 电子密码锁操作简单易行,一学即会。 二、硬件电路设计 下面是整个设计的流程图:

单片机课程设计报告电子密码锁完整版

单片机课程设计报告电 子密码锁 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

山东交通学院 单片机原理与应用课程设计院(部):轨道交通学院 班级:自动化121 学生姓名: 学号: 指导教师: 时间:— 课程设计任务书 题目电子密码锁设计 系 (部) 轨道交通学院 专业班级自动化121 学生姓名 学号 06 月 01 日至 06 月 12 日共 2 周 指导教师(签字) 系主任(签字) 年月日

目录 3.总体设计 (2)

4 密码比较模块 (6) (6) (8) (9) 附录 (10)

摘要 设计运用了ATMEL公司的AT89S52芯片系统,将微处理器、总线、蜂鸣器、矩阵键盘、存储器和I/O口等硬件集中一块电路板上,通过读取键盘输入的数据(密码)并储存到ATMEL912 24C08存储器中,然后判断之后键盘输入的数据与已存储的数据是否相同来决定打开密码箱或锁键盘或报警。在keil4软件中编程,系统可实现6位密码的处理,并通过控制步进电机控制密码箱门的电子锁,同时还可以修改改密码。利用单片机系统制作的密码箱安全性能更高,更易操作且体积小。 关键词:单片机、密码锁、修改密码 1.设计要求 本实验将实现六位数的电子密码锁。要求使用4X4 行列式键盘作为输入,并用LCD 实时显示。具体要求如下:1. 开机时LCD显示“welcome to use”,初始化密码为“123456”,密码可以更改。 2. 按下“10”,开始则显示“Enter Please:”。3. 随时可以输入数值,并在LCD上实时显示‘*’。当键入数值时,为了保密按从左到右依次显示‘*’,可键入值为0~9。 4. 按下“13”键,则表示确定键按下,进行密码对比。如相符则在LCD第一行显示“Open the door!”,同时指示灯亮起并且步进电机旋转一定的角度;如不符,则LCD第一行显示“Wrong password!”,并且蜂鸣器同时提示一下。如果密码连续三次错误则蜂鸣器连续响5下,并且持续5秒不能进行任何操作 5.在开锁状态下按下“12”键,进入修改密码状态,LCD同时提示“Enter new code!”。为删除按键,出入之后可以进行删除。按键为关闭按键,只有在打开状态下才可以关闭,按下之后LCD显示“Close the door!”。 2.功能概述 此设计分为四个功能模块。 第一模块:按键输入模块,用于密码的输入以及其他的密码操作按键。 第二模块:LCD模块,是与使用者交流的界面,用于显示各种状态下的内容。 第三模块:步进电机模块,用于控制密码锁的打开与关闭。 第四模块:24C08模块,用于储存输入的密码并读出来。 3.总体设计 本次设计作品的主要构成部分包括80C51单片机、LCD1602、24C08、矩阵按键、LED 等、蜂鸣器。如图1总体仿真图,图2实物图。 图1 总体电路图 图2 密码锁实物图 4.硬件设计 矩阵按键设计 如图3所示矩阵按键由P1口控制,了加强密码的保密性,采用一个4×4的矩阵式键盘可以任意设置用户密码(1-16位长度),从而提高了密码的保密性,同时也能减少与单片机接口时所占用的I/O口线的数目,节省了单片机的宝贵资源,在按键比较多的时候,通常采用这种方法。 每一行与每一列的交叉处不相同,而是通过一个按键来连通,利用这种行列式矩阵结构只需要N根行线与M根列线,即可组成具有N × M 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

AT89C51单片机C实现简易计算器

AT89C51单片机简易计算器的设计 一、总体设计 根据功能和指标要求,本系统选用MCS-51系列单片机为主控机。通过扩展必要的外围接口电路,实现对计算器的设计。具体设计如下:(1)由于要设计的是简单的计算器,可以进行四则运算,为了得到较好的显示效果,采用LCD 显示数据和结果。 (2)另外键盘包括数字键(0~9)、符号键(+、-、×、÷)、清除键和等号键,故只需要16 个按键即可,设计中采用集成的计算键盘。 (3)执行过程:开机显示零,等待键入数值,当键入数字,通过LCD显示出来,当键入+、-、*、/运算符,计算器在内部执行数值转换和存储,并等待再次键入数值,当再键入数值后将显示键入的数值,按等号就会在LCD上输出运算结果。 (4)错误提示:当计算器执行过程中有错误时,会在LCD上显示相应的提示,如:当输入的数值或计算得到的结果大于计算器的表示范围时,计算器会在LCD上提示溢出;当除数为0时,计算器会在LCD 上提示错误。 系统模块图:

二、硬件设计 (一)、总体硬件设计 本设计选用AT89C51单片机为主控单元。显示部分:采用LCD 静态显示。按键部分:采用4*4键盘;利用MM74C922为4*4的键盘扫描IC,读取输入的键值。 总体设计效果如下图:

(二)、键盘接口电路 计算器输入数字和其他功能按键要用到很多按键,如果采用独立按键的方式,在这种情况下,编程会很简单,但是会占用大量的I/O 口资源,因此在很多情况下都不采用这种方式,而是采用矩阵键盘的方案。矩阵键盘采用四条I/O 线作为行线,四条I/O 线作为列线组成键盘,在行线和列线的每个交叉点上设置一个按键。这样键盘上按键的个数就为4×4个。这种行列式键盘结构能有效地提高单片机系统中I/O 口的利用率。 矩阵键盘的工作原理: 计算器的键盘布局如图2所示:一般有16个键组成,在单片机中正好可以用一个P口实现16个按键功能,这种形式在单片机系统中也最常用。 图 2 矩阵键盘布局图 矩阵键盘内部电路图如图3所示:

电子密码锁单片机课程设计

电子密码锁单片机课程设计

单片机原理与应用技术课程设计报告 电子密码锁设计 专业班级:电气 124 姓名: 时间:2015年1月2日 指导教师:秦国庆 2015年1月2日

电子密码锁课程设计任务书 1.设计目的与要求 设计出一个电子密码锁。准确地理解有关要求,独立完成系统设计,要求所设计的电路具有以下功能: (1)状态显示功能:锁定状态时系统用3位数码管显示OFF, 用3位码管显示成功开锁次 数;成功开锁时用3位数码管 显示888,用3位数码管显示 成功开锁次数。 (2)密码设定功能:通过一个4×4的矩阵式键盘可以任意设 置用户密码(1-26位长度), 同时系统掉电后能自动记忆 和存储密码在系统中。(3)报警和加锁功能:密码的输入

时间超过12秒或者连续3次 输入失败,声音报警同时锁定 系统,不让再次输入密码。此 时只有使用管理员密码方能 对系统解锁。 2.设计内容 (1)画出电路原理图,正确使用逻辑关系; (2)确定元器件及元件参数; (3)进行电路模拟仿真; (4)SCH文件生成与打印输出; 3.编写设计报告 写出设计的全过程,附上有关资料和图纸,有心得体会。 4.答辩 在规定时间内,完成叙述并回答问题。 1

电子密码锁 电气124 赵政权 摘要:电子密码锁是一种通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务的电子产品。本设计利用51单片机编程控制原理,采用矩阵键盘、数码管显示、数据存储器和报警系统构成电子密码锁的设计成品。其中数码管使用两组三位一体共阳数码管,数据存储器使用AT24C04芯片通过IIC协议实现数据的传输,矩阵键盘用执行效率极高的代码扫描控制。使用Keil4.6编写程序代码,用Proteus进行仿真,无误后使用Altium制图,最终做成能使用的成品。 关键词: 51单片机 IIC协议矩阵键盘动态显示 Keil Proteus Altium 2

单片机课程设计完整版《PWM直流电动机调速控制系统》

单片机原理及应用课程设计报告设计题目: 学院: 专业: 班级: 学号: 学生姓名: 指导教师: 年月日 目录

设计题目:PWM直流电机调速系统 本文设计的PWM直流电机调速系统,主要由51单片机、电源、H桥驱动电路、LED 液晶显示器、霍尔测速电路以及独立按键组成的电子产品。电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过51单片机改变占空比实现。通过独立按键实现对电机的启停、调速、转向的人工控制,LED实现对测量数据(速度)的显示。电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。 关键词:直流电机调速;定时中断;电动机;波形;LED显示器;51单片机 1 设计要求及主要技术指标: 基于MCS-51系列单片机AT89C52,设计一个单片机控制的直流电动机PWM调速控制装置。 设计要求 (1)在系统中扩展直流电动机控制驱动电路L298,驱动直流测速电动机。 (2)使用定时器产生可控的PWM波,通过按键改变PWM占空比,控制直流电动机的转速。 (3)设计一个4个按键的键盘。 K1:“启动/停止”。 K2:“正转/反转”。 K3:“加速”。 K4:“减速”。 (4)手动控制。在键盘上设置两个按键----直流电动机加速和直流电动机减速键。在

手动状态下,每按一次键,电动机的转速按照约定的速率改变。 (5)*测量并在LED显示器上显示电动机转速(rpm). (6)实现数字PID调速功能。 主要技术指标 (1)参考L298说明书,在系统中扩展直流电动机控制驱动电路。 (2)使用定时器产生可控PWM波,定时时间建议为250us。 (3)编写键盘控制程序,实现转向控制,并通过调整PWM波占空比,实现调速; (4)参考Protuse仿真效果图:图(1) 图(1) 2 设计过程 本文设计的直流PWM调速系统采用的是调压调速。系统主电路采用大功率GTR为开关器件、H桥单极式电路为功率放大电路的结构。PWM调制部分是在单片机开发平台之上,运用汇编语言编程控制。由定时器来产生宽度可调的矩形波。通过调节波形的宽度来控制H电路中的GTR通断时间,以达到调节电机速度的目的。增加了系统的灵活性和精确性,使整个PWM脉冲的产生过程得到了大大的简化。 本设计以控制驱动电路L298为核心,L298是SGS公司的产品,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。可驱动2个电机,OUTl、OUT2和OUT3、OUT4之间分别接2个电动机。5、7、10、12脚接输入控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。 本设计以AT89C52单片机为核心,如下图(2),AT89C52是一个低电压,高性能 8位,片内含8k bytes的可反复擦写的只读程序存储器和256 bytes的随机存取数据存储器(),器件采用的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 图(2) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

单片机课程设计——基于C51简易计算器

单片机双字节十六进制减法实验设计 摘要 本设计是基于51系列的单片机进行的双字节十六进制减法设计,可以完成计 算器的键盘输入,进行加、减、3位无符号数字的简单运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用5个键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus 仿真。 引言 十六进制减法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阴极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单.................................. 一、设计任务和要求

51单片机课程设计 声控灯

课程设计报告 华中师范大学武汉传媒学院 传媒技术学院 电子信息工程2011 仅发布百度文库,版权所有.

单片机课程设计 一、设计题目、要求 题目:声控灯设计 要求:A.使用单片机实现声控灯 B.当说话声音大于一定程度时,发光二极管显示,延时大于1秒 二、设计框图 1、硬件框图 三、方案设计 如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1~P1.7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。 四、硬件原图设计

五、程序流程图 六、仿真图 仿真结果如下:当S2关闭

当S3关闭 七、制作

八、调试 流水灯制作完成后,我们对它进行了调试,一开始灯不停地闪,无法接受到声音信号。后来,我们对PCB进行了检查,发现有放大电路的集电极连接线断路了,导致声音信号没法被芯片接收到。我们迅速的电路进行了修复。修复后,电路能够顺利的进行工作了。 九、心得体会 回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。在今后社会的发展和学习实践过程中,一定要不懈努力,不能遇到问题就想到要退缩,一定要不厌其烦的发现问题所在,然后一一进行解决,只有这样,才能成功。 在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。比如在调试的时候,程序老是不稳定中断服务程序有时执行一次,有时又执行两次,开始我以为是板子受环境影响。后来在网上百度才知道是软件问题,是我忘了在执行中断服务程序时候把相应的中断关了,导致在执行中断服务程序时易受影响执行两次或两次以上。在这个发现问题之后,我在中断服务程序中关了相应的外中断之后。问题就解决了,下载程序到板子之后,运行就正常了。

单片机课程设计——基于C51简易计算器

单片机十进制加法计算器设计 摘要 本设计是基于51系列的单片机进行的十进制计算器系统设计,可以完成计 算器的键盘输入,进行加、减、乘、除3位无符号数字的简单四则运算,并在LED上相应的显示结果。 设计过程在硬件与软件方面进行同步设计。硬件方面从功能考虑,首先选择内部存储资源丰富的AT89C51单片机,输入采用4×4矩阵键盘。显示采用3位7段共阴极LED动态显示。软件方面从分析计算器功能、流程图设计,再到程序的编写进行系统设计。编程语言方面从程序总体设计以及高效性和功能性对C 语言和汇编语言进行比较分析,针对计算器四则运算算法特别是乘法和除法运算的实现,最终选用全球编译效率最高的KEIL公司的μVision3软件,采用汇编语言进行编程,并用proteus仿真。 引言 十进制加法计算器的原理与设计是单片机课程设计课题中的一个。在完成理论学习和必要的实验后,我们掌握了单片机的基本原理以及编程和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。 单片机课程设计既要让学生巩固课本学到的理论,还要让学生学习单片机硬件电路设计和用户程序设计,使所学的知识更深一层的理解,十进制加法计算器原理与硬软件的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试,最后仿真用户程序,来加深对单片机的认识,充分发挥学生的个人创新能力,并提高学生对单片机的兴趣,同时学习查阅资料、参考资料的方法。 关键词:单片机、计算器、AT89C51芯片、汇编语言、数码管、加减乘除

目录 摘要 (01) 引言 (01) 一、设计任务和要求............................. 1、1 设计要求 1、2 性能指标 1、3 设计方案的确定 二、单片机简要原理............................. 2、1 AT89C51的介绍 2、2 单片机最小系统 2、3 七段共阳极数码管 三、硬件设计................................... 3、1 键盘电路的设计 3、2 显示电路的设计 四、软件设计................................... 4、1 系统设计 4、2 显示电路的设计 五、调试与仿真................................. 5、1 Keil C51单片机软件开发系统 5、2 proteus的操作 六、心得体会.................................... 参考文献......................................... 附录1 系统硬件电路图............................ 附录2 程序清单..................................

基于单片机的楼道内声控灯及报警系统

摘要 本课题设计一款基于单片机的楼道内声控灯及报警系统,主要由声控灯和意外紧急报警两部分组成。声控灯部分是通过声音传感器进行声音检测,然后经单片机进行处理,实现灯的开关智能控制。报警部分主要由蜂鸣器和按键组成,当声控灯出现故障时,通过触动按键实现蜂鸣器报警进行维修提示。硬件电路包括单片机最小系统电路、声音传感器检测模块、按键模块、LED显示模块、蜂鸣器报警电路模块;软件部分主要通过C程序的编程实现等灯的亮灭,然后通过发光二极管显示出来,通过按键操作实现报警功能。设计中结合硬件、软件的分步调试,达到要求的控制效果。当有人走过楼梯通道,发出脚步声或其它声音时,楼道灯会自动点亮,提供照明。当人们进入家门或走出公寓,楼道灯延时几分钟后会自动熄灭。当出现故障时,可触动按钮,进行报警维修。声控延时开关不仅适用于住宅区的楼道,而且也适用于工厂、办公楼、教学楼等公共场所,它具有体积小、外形美观、制作容易、工作可靠等优点。 关键词:单片机;声控灯;报警系统;声音传感器;蜂鸣器

Abstract This project is based on single-chip design a voice-activated light and alarm system in the building, by voice-activated lights and emergency alarm which two key components.V oice-activated light partly through sound sensors for sound detection, and then single-chip processing, realization of intelligent control for the light switch.Alarm part consists mainly of beeper and keys, when voice-activated lights fail, through touches the pressed key realization light buzzer alarms for maintenance tips.The hardware circuit consists of single chip microcomputer minimum system circuit, sound sensors module, keys module, LED display module, a buzzer alarm circuit module;Software part mainly accomplished by programming of C programs such as destroy the light of lights, and then through the led display,Alarm functions are realized by key operation.In the design of combination of hardware and software debugging step by step, meet the requirements of control effect.When people walk through the stairs, when making footsteps or other sound, stair lights will automatically light up and lighting.When people enter the House or get out of the apartment, corridor lamp delay automatically turns off after a few minutes.When a failure occurs, you can touch a button and alarm servicing.V oice-activated inertia switch applies not only to the residential area of the building, but also to factories, office buildings, school buildings and other public places, it is of small size, pleasing in appearance, making easy, reliable and so on. Keywords:microcontroller; voice-activated light and alarm system; sound sensors; buzzer

密码锁-单片机课程设计

1 绪论 随着科技和人们的生活水平的提高,如何实现家庭防盗这一问题也变的尤其的突出,传统机械锁由于构造简单,被撬事件屡见不鲜;电子锁由于其保密性高,使用灵活性好,安全系数高,受到了广大用户的青睐。电子锁可以在日常生活和现代办公中,住宅与办公室的安全防范、单位的文件档案、财务报表以及一些个人资料的保存等多种场合使用。若使用传统的机械式钥匙开锁,人们常需携带多把钥匙, 使用极不方便, 且钥匙丢失后安全性即大打折扣。随着科学技术的不断发展,人们对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性和方便性,用密码代替钥匙的密码锁应运而生。密码锁具有安全性高、成本低、功耗低、易操作等优点随着人们对安全的重视和科技的发展,对日常生活中的安全保险器件的要求越来越高。为满足人们对锁的使用要求,增加其安全性,用密码代替钥匙的密码锁应运而生。具有报警功能的电子密码锁保密性高,使用灵活性好,安全系数高,密码锁设计方法合理,简单易行,成本低,符合住宅、办公室用锁要求,具有推广价值。电子密码锁采取电子电路控制,通过密码输入来控制电路或是芯片工作,从而控制机械开关的闭合,完成开锁、闭锁任务。 本次设计使用AT89S52单片机构成最小系统,接以键盘,报警系统,液晶显示构成人性化的方便易用的电子密码锁。

2 设计任务、功能要求说明及总体方案介绍 2.1 设计目的与任务 本设计采用AT89S52单片机为主控芯片,结合外围电路矩阵键盘、液晶显示器LCD 1602A等部分组成。其中矩阵键盘用于输入数字密码和进行各种功能的实现。由用户通过连接单片机的矩阵键盘输入密码,后经过单片机对用户输入的密码与自己保存的密码进行对比,从而判断密码是否正确,然后控制引脚的高低电平传到开锁电路或者报警电路控制开锁还是报警,组成的电子密码锁系统。 2.2 设计内容及要求 (1)课程设计中,锁体用LED代替(如“绿灯亮”表示开锁,“红灯亮”表示闭锁)。 (2)其密码为方8位十进制代码(代码自设定)。 (3)开锁指令为串行输入码,当开锁密码与存储密码一致时,锁被打开。当开锁密码与存储密码不一致时,电路则报警并实现自锁。(报警动作为响1分钟,停10秒) (4)选择电路方案,完成对确定方案电路的设计。计算电路元件参数与元件选择、并画出总体电路原理图,阐述基本原理。安装调试设计电路,查阅至少5篇参考文献。按《湖南工学院课程设计工作规范》要求撰写设计报告书。全文用A4纸打印,图纸应符合绘图规范。 2.3 设计总体方案及工作原理说明 采用以单片机AT89S52为核心的控制方案,总体框图见图1。 单片机作为本装置的核心器件,在系统中起到控制声光报警、以及数码动态显示的作用。一般来说在选择单片机时下面几个方面考虑:性能、存储器、运行速度、I/O口、定时/计数器、串行接口、模拟电路功能、工作电压、功耗、封装形式、抗干扰性、保密性,除了以上的一些还有一些最基本的比如:中断源的数量和优先级、工作温度范围、有没有低电压检测功能、单片机内有无时钟振荡器、有无上电复位功能等。在开发过程中单片机还受到:开发工具、编程器、开发成本、开发人员的适应性、技术支持和服务等等因素。基于以上因素本设计选用单片机AT89S52作为本设计的核心元件,利用单片机灵活的编程设计和丰富的I/O 端口,以及控制的准确性,实现基本的密码锁功能。在单片机的外围电路外接加

相关文档
相关文档 最新文档