简易数字钟的单片机课程设计

简易数字钟的单片机课程设计
简易数字钟的单片机课程设计

1系统设计

1.1框图设计

基于AT89S51单片机数字钟由电源电路、单片机主控电路、按键控制电路和蜂鸣器等几部分组成,系统框图如下:

1.2 知识点

本项目需要通过学习和查阅资料,了解和掌握以下知识。

1.+5V电源原理及设计。

2.单片机复位电路工作原理及设计。

3.单片机晶振电路工作原理及设计。

4.按键电路的设计。

5.驱动电路74LS04的特性及使用。

6.蜂鸣器及其驱动电路的设计。

7.数码管的特性及其使用。

8.AT89S51单片机引脚。

9.单片机汇编语言及程序设计。

2 硬件设计

2.1 电路原理

基于AT89S51单片机数字钟电路原理图如附录所示。按下P1.0口按键,若按下时间小于1S,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。当再按下P1.0口按键时,若按键时间小于0.5S,则时间加1min;若按下时间大于0.5S,则进入小时调整状态。按下P1.1按键时,可进行减1调整。在小时调整状态下,当按键按下的时间大于0.5S时,退出时间调整状态,时钟从0S开始计时。

在正常时钟状态下,若按下P1.1口按键,则进行时钟/秒表功能的转换,秒表中断计时程序启动,显示地址改为60H,LED将显示秒表计时单元60H-65H中的数据。按下P1.2口的按键开关,可实现秒表清零、秒表启动、秒表暂停功能;当再按下P1.1口按键时,关闭T1秒表中断计时,显示首址又改为70H,恢复正常时间的显示功能。

2.2 元件清单

基于AT89S51单片机数字钟的元件清单如下表。

3 软件设计

3.1 程序流程图

1.主程序流程图如图1-1所示。

2.秒计时程序。秒计时由定时器T0完成,流程图如图1-2所示。

3.秒表、调时指示程序。秒表、调时由定时器T1完成,其流程图如图1-3所

示。

3.2程序清单

DISBEG EQU 30H

CALB EQU P1.7

TIMCON EQU 2FH

ORG 0000H

LJMP MAIN

ORG 0003H

RETI

ORG 000BH

LJMP INTT0

ORG 0013H

RETI

ORG 001BH

LJMP INTT1

ORG 0023H

RETI

TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH I_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DLY1M: MOV R6,#14H

DL_LOOP: MOV R7,#19H

DL_LOOP1:DJNZ R7,DL_LOOP1

DJNZ R6,DL_LOOP

RET

DLY20M:CLR CALB

LCALL D_II_PLAY

LCALL D_II_PLAY

LCALL D_II_PLAY

SETB CALB

RET

DL_LOOPS:LCALL DL05S

LCALL DL05S

RET

DL05S: MOV R3,#20H

DL05S1: LCALL D_II_PLAY

DJNZ R3,DL05S1

RET

CTIME: MOV A,#10H /整点报时MOV B,79H

MUL AB

ADD A,78H

MOV TIMCON,A

CLOOP: LCALL DLY20M

LCALL DL_LOOPS

LCALL DL_LOOPS

LCALL DL_LOOPS

DJNZ TIMCON,CLOOP

CLR 08H

MAIN: MOV R0,#00H /主程序 MOV R7,#80H

MLOOP: MOV @R0,#00H

INC R0

DJNZ R7,MLOOP

MOV 20H,#00H

MOV 7AH,#0AH

MOV TMOD,#11H

MOV TL0,#0B0H

MOV TH0,#3CH

MOV TL1,#0B0H

MOV TH1,#3CH

SETB EA

SETB ET0

SETB TR0

MOV R4,#14H

MOV DISBEG,#70H

MLOOP1:LCALL D_II_PLAY

JNB P1.0,T_SETSC

JNB P1.1,DLY5

JNB P1.2,FUNBT

JNB P1.3,TSET

JB 08H,CTIME

AJMP MLOOP1

FUNBT: LJMP DLY6

TSET: LCALL DLY20M /闹铃时间设定程序,按P1.3进入设定JB P1.3,MLOOP1

TS_LOOP:JNB P1.3,TS_LOOP

JB 05H,CLRBELL

MOV DISBEG,#50H

MOV 50H,#0CH

MOV 51H,#0AH

MINCHG:SETB EA

LCALL D_II_PLAY

JNB P1.2,DLY1

JNB P1.0,DLY3

JNB P1.3,DLY

AJMP MINCHG

CLRBELL:CLR 05H

CLR CALB

AJMP MLOOP1

DLY:LCALL DLY20M

JB P1.3,MINCHG

LJMP DLY8

T_SETSC:LJMP R_SETTIM

DLY1:LCALL DLY20M

JB P1.2,MINCHG

DLY2: LCALL D_II_PLAY

JNB P1.2,DLY2

CLR EA

MOV R0,#53H

LCALL ADD_1

MOV A,R3

CLR C

CJNE A,#60H,ADD_M

ADD_M:JC MINCHG

ACALL CLR_H

AJMP MINCHG

DLY3:LCALL DLY20M

JB P1.0,MINCHG

DLY4:LCALL D_II_PLAY

JNB P1.0,DLY4

CLR EA

MOV R0,#53H

LCALL SUB_M

LJMP MINCHG

DLY5:LCALL DLY20M /秒表功能/时钟转换程序,按P1.1进行功能转换JB P1.1,T_MLOOP1

JNB P1.1,$

CPL 03H

JNB 03H,DIS_SET

MOV DISBEG,#60H

MOV 60H,#00H

MOV 61H,#00H

MOV 62H,#00H

MOV 63H,#00H

MOV 64H,#00H

MOV 65H,#00H

MOV TL1,#0F0H

MOV TH1,#0D8H

SETB TR1

SETB ET1

T_MLOOP1:LJMP MLOOP1

DIS_SET:MOV DISBEG,#70H

CLR ET1

CLR TR1

T_MLOOP11:LJMP MLOOP1

DLY6:LCALL DLY20M /秒表暂停/清零功能程序,按P1.2暂停或清零,JB P1.2,T_MLOOP11 P1.1退出秒表,回到时钟计时

T_EST11:JNB P1.2,T_EST11

CLR ET1

CLR TR1

T_EST22:JNB P1.1,DLY5

JB P1.2,T_EST21

LCALL DLY20M

JB P1.2,T_EST22

T_EST55:JNB P1.2,T_EST51

MOV 60H,#00H

MOV 61H,#00H

MOV 62H,#00H

MOV 63H,#00H

MOV 64H,#00H

MOV 65H,#00H

T_EST33:JNB P1.1,DLY5

JB P1.2,T_EST31

LCALL DLY20M

JB P1.2,T_EST33

T_EST44:JNB P1.2,T_EST41

SETB ET1

SETB TR1

AJMP MLOOP1

T_EST411:LCALL D_II_PLAY /以下为键等待释放时显示不会熄灭用 AJMP T_EST11

T_EST21:LCALL D_II_PLAY

AJMP T_EST22

T_EST31:LCALL D_II_PLAY

AJMP T_EST33

T_EST41:LCALL D_II_PLAY

AJMP T_EST44

T_EST51:LCALL D_II_PLAY

AJMP T_EST55

INTT0:PUSH ACC /1S计时程序;T0中断服务程序

PUSH PSW

CLR ET0

CLR TR0

MOV A,#0B7H

ADD A,TL0

MOV TL0,A

MOV A,#3CH

ADDC A,TH0

MOV TH0,A

SETB TR0

DJNZ R4,I_INT0

A_DDS:MOV R4,#14H

CPL 07H

MOV R0,#71H

ACALL ADD_1

MOV A,R3

CLR C

CJNE A,#60H,A_DDM

A_DDM:JC I_INT0

ACALL CLR_H

MOV R0,#77H

ACALL ADD_1

MOV A,R3

CLR C

CJNE A,#60H,A_DDH

A_DDH:JC I_INT0

ACALL CLR_H

LCALL DLY20M

SETB 08H

MOV R0,#79H

ACALL ADD_1

MOV A,R3

CLR C

CJNE A,#24H,RSTART

RSTART:JC I_INT0

ACALL CLR_H

I_INT0:MOV 72H,76H

MOV 73H,77H

MOV 74H,78H

MOV 75H,79H

LCALL BELL

POP PSW

POP ACC

SETB ET0

RETI

INTT1:PUSH ACC /闪动调试程序/秒表从能程序;T1中断服务程序 PUSH PSW

JB 03H,R_ADDS

MOV TL1,#0B0H

MOV TH1,#3CH

DJNZ R2,I_INT1

MOV R2,#06H

CPL 02H

JB 02H,FLASH0 MOV 72H,76H

MOV 73H,77H

MOV 74H,78H

MOV 75H,79H

I_INT1:POP PSW

POP ACC

RETI

FLASH0:JB 01H,FLASH1 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP I_INT1 FLASH1:MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP I_INT1

R_ADDS:CLR TR1

MOV A,#0F7H ADD A,TL1

MOV TL1,A

MOV A,#0D8H ADDC A,TH1

MOV TH1,A

SETB TR1

MOV R0,#61H ACALL ADD_1 CLR C

MOV A,R3

JZ R_ADDM

AJMP I_INT01 R_ADDM:ACALL CLR_H MOV R0,#63H

ACALL ADD_1

MOV A,R3

CLR C

CJNE A,#60H,R_ADDH

R_ADDH:JC I_INT01

LCALL CLR_H

MOV R0,#65H

ACALL ADD_1

I_INT01:POP PSW

POP ACC

RETI

ADD_1:MOV A,@R0 /加1子程序DEC R0

SWAP A

ORL A,@R0

ADD A,#01H

DA A

MOV R3,A

ANL A,#0FH

MOV @R0,A

MOV A,R3

INC R0

SWAP A

ANL A,#0FH

MOV @R0,A

RET

SUB_M:MOV A,@R0 /分减1子程序DEC R0

SWAP A

ORL A,@R0

JZ SUB_M1

DEC A

SUB_M11:MOV R3,A

ANL A,#0FH

CLR C

SUBB A,#0AH

SUB_M111:JC SUB_M110

MOV @R0,#09H

SUB_M10:MOV A,R3

INC R0

SWAP A

ANL A,#0FH

MOV @R0,A

RET

SUB_M1:MOV A,#59H

AJMP SUB_M11

SUB_M110:MOV A,R3

SUB_H:MOV A,@R0 /时减1子程序

DEC R0

SWAP A

ORL A,@R0

JZ SUB_H1

DEC A

SUB_H11:MOV R3,A

ANL A,#0FH

CLR C

SUBB A,#0AH

SUB_H111:JC SUB_H110

MOV @R0,#09H

SUB_H10:MOV A,R3

INC R0

SWAP A

ANL A,#0FH

MOV @R0,A

RET

SUB_H1:MOV A,#23H

AJMP SUB_H11

SUB_H110:MOV A,R3

CLR_H:CLR A /清零程序;对即使单元复零用MOV @R0,A

DEC R0

MOV @R0,A

RET

R_SETTIM:CLR ET0 /时钟时间调整程序CLR TR0

LCALL DL_LOOPS

LCALL DLY20M

JB P1.0,SLEEP

MOV R2,#06H

MOV 70H,#00H

MOV 71H,#00H

SETB ET1

SETB TR1

SET_2:JNB P1.0,SET_1

SETB 00H

SET_4:JB P1.0,SET_3

LCALL DL05S

LCALL DLY20M

JNB P1.0,R_SETHH

MOV R0,#77H

LCALL ADD_1

MOV A,R3

CLR C

CJNE A,#60H,SET_LOOP

SET_LOOP:JC SET_4

LCALL CLR_H

CLR C

AJMP SET_4

SLEEP:SETB ET0

SETB TR0

SET_LOOP1:JB P1.0,SET_LOOP1

LCALL DLY20M

JB P1.0,SET_LOOP1

SET_LOOP2:JNB P1.0,SET_LOOP2

LJMP MLOOP1

R_SETHH:CLR 00H

SETB 01H

SET_LOOP3:JNB P1.0,SET_5

SET_6:JB P1.0,SET_7

LCALL DL05S

LCALL DLY20M

JNB P1.0,STOP

MOV R0,#79H

LCALL ADD_1

MOV A,R3

CLR C

CJNE A,#24H,C_YHH

C_YHH:JC SET_6

LCALL CLR_H

AJMP SET_6

STOP:JNB P1.0,STOP1

LCALL DLY20M

JNB P1.0,STOP

CLR 01H

CLR 00H

CLR 02H

CLR TR1

CLR ET1

SETB TR0

SETB ET0

LJMP MLOOP1

SET_1:LCALL D_II_PLAY

AJMP SET_2

SET_3:LCALL D_II_PLAY

JNB P1.1,DLY7

AJMP SET_4

SET_5:LCALL D_II_PLAY

AJMP SET_LOOP3

SET_7:LCALL D_II_PLAY

JNB P1.1,DLY7B

AJMP SET_6

STOP1:LCALL D_II_PLAY

AJMP STOP

DLY7:LCALL DLY20M /分减1程序JB P1.1,SET_41

DLY7_M:JNB P1.1,DLY7_M

MOV R0,#77H

LCALL SUB_M

LJMP SET_4

SET_41:LJMP SET_4

DLY7B:LCALL DLY20M /时减1程序

JB P1.1,SET_61

DLY7_H:JNB P1.1,DLY7_H

MOV R0,#79H

LCALL SUB_H

LJMP SET_6

SET_61:LJMP SET_6

D_II_PLAY:MOV R1,DISBEG /显示程序MOV R5,#0FEH

PLAY:MOV A,R5

MOV P2,A

MOV A,@R1

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P0,A

MOV A,R5

JB ACC.2,D_LOOP

CLR P0.7

D_LOOP:JB ACC.4,D_LOOP1

CLR P0.7

D_LOOP1:LCALL DLY1M

INC R1

MOV A,R5

JNB ACC.5,CLOSE

RL A

MOV R5,A

MOV P0,#0FFH

AJMP PLAY

CLOSE:MOV P2,#0FFH

MOV P0,#0FFH

RET

SD_II_PLAY:MOV R1,DISBEG /上电显示子程序MOV R5,#0FEH

I_PLAY:MOV A,R5

MOV P2,A

MOV A,@R1

MOV DPTR,#I_TAB

MOVC A,@A+DPTR

MOV P0,A

MOV A,R5

LCALL DLY1M

INC R1

MOV A,R5

JNB ACC.5,CLOSES

RL A

MOV R5,A

AJMP I_PLAY

CLOSES:MOV P2,#0FFH

MOV P0,#0FFH

RET

DLY8:LCALL D_II_PLAY /闹铃时间设定程序中的时调整程序JNB P1.3,DLY8

MOV 50H,#0AH

MOV 51H,#0CH

R_BTIM:SETB EA

LCALL D_II_PLAY

JNB P1.2,DLY12

JNB P1.0,DLY14

JNB P1.3,DLY9

JNB P1.1,DLY10

AJMP R_BTIM

DLY9:LCALL DLY20M

JB P1.3,R_BTIM

DLY8M:LCALL D_II_PLAY

JNB P1.3,DLY8M

MOV DISBEG,#70H

LJMP MLOOP1

DLY10:LCALL DLY20M

JB P1.1,R_BTIM

DLY11:LCALL D_II_PLAY

JNB P1.1,DLY11

CPL 05H

JNB 05H,R_BTIM11

MOV 50H,#00H

AJMP R_BTIM

R_BTIM11:MOV 50H,#0AH

AJMP R_BTIM

DLY12:LCALL DLY20M

JB P1.2,R_BTIM

DLY13:LCALL D_II_PLAY

JNB P1.2,DLY13

CLR EA

MOV R0,#55H

LCALL ADD_1

MOV A,R3

CLR C

CJNE A,#24H,A_DDH33N

A_DDH33N:JC R_BTIM

ACALL CLR_H

AJMP R_BTIM

DLY14:LCALL DLY20M

JB P1.0,R_BTIM

DLY15:LCALL D_II_PLAY

JNB P1.0,DLY15

CLR EA

MOV R0,#55H

LCALL SUB_H

LJMP R_BTIM

BELL:JNB 05H,BBELL /闹铃判断子程序MOV A,79H

CJNE A,55H,BBELL

MOV A,78H

CLR C

BELL_1:CJNE A,54H,BBELL

MOV A,77H

CLR C

CJNE A,53H,BBELL

MOV A,76H

CLR C

BELL_2:CJNE A,52H,BBELL JNB 07H,BBELL

CLR CALB

RET

BBELL:SETB CALB

RET

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”,其他位全部不显示;

单片机课程设计 秒表计时器(DOC)

课程设计名称:单片机原理及接口技术 题目:基于单片机的秒表计时器设计 学期:2014-2015学年第一学期 专业:电气技术 班级: 姓名: 学号: 指导教师:

辽宁工程技术大学 课程设计成绩评定表

课程设计任务书 一、设计题目 秒表计时器 二、设计任务 本课题以单片机为核心,设计和制作一个秒表计时器。 三、设计计划 课程设计一周 第1天:查找资料,方案论证。 第2天:各部分方案设计。 第3天:各部分方案设计。 第4天:撰写设计说明书。 第5天:校订修改,上交说明书。 四、设计要求 1、绘制软件流程图并利用汇编语言编写软件程序; 2、绘制系统硬件原理图; 3、形成设计报告。 指导教师: 教研室主任: 2014年5月26 日

本设计利用89C51单片机设计秒表计时器,通过LED显示秒十位和个位,在设计过程中用一个存储单元作为秒计数单元,当一秒到来时,就让秒计数单元加一,通过控制使单片机秒表计时,暂停,归零。设计任务包括控制系统硬件设计和应用程序设计。 关键词:51单片机;74HC573;LED数码管

综述 (1) 1 程序方案 (2) 1.1方案论证 (2) 1.2总体方案 (2) 2部分设计 (3) 2.1 89C51单片机 (3) 2.2晶体振荡电路 (4) 2.3硬件复位电路 (5) 2.4显示电路 (6) 2.5整体电路图 (7) 3程序设计 (8) 3.1程序流程框图 (8) 3.2显示程序流程图 (9) 3.3汇编源程序 (10) 4调试说明 (13) 4.1概述 (13) 4.2电路原理图 (13) 心得体会 (15) 参考文献 (16)

单片机课程设计报告模板资料

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 2015年10月14日

1、例举设计过程中遇到的问题及其解决方法(至少两例)。答:(1)问题说明: 解决方法: (2)问题说明: 解决方法: 2、教师现场提的问题记录在此(不少于2个问题)。

目录 1 设计任务 (1) 2设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1时钟电路设计 (3) 3.2复位电路设计 (3) 3.3 灯控制电路设计 (3) 3.4 倒计时显示电路设计 (4) 3.5 按键控制电路设计 (5) 4 系统软件设计 (6) 4.1 1S定时 (6) 4.2 定时程序流程 (6) 4.3交通灯的设计流程图 (6) 4.4定时器0 及中断响应 (7) 5仿真与性能分析 (8) 6心得体会 (9) 参考文献 (10) 附录1 系统原理图 .......................................................................错误!未定义书签。附录2 系统PCB图 .....................................................................错误!未定义书签。附录3 程序清单 .. (11) II

1 设计任务 支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图1.1所示。设东西向为主干道,南北为支干道。 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒,支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。

单片机课程设计-电子钟

中北大学 单片机课程设计说明书 数字钟设计 1 设计任务与要求 (1)

1.1设计任务 (1) 1.2设计要求 (1) 2单片机简介 (2) 2.1单片机的发展历程 (2) 3系统设计思路和方案 (3) 3.1系统总体方案 (3) 3.2硬件简介 (3) 3.2.1硬件选择 (3) 3.2.2 51单片机的构成 (4) 3.2.3 STC89C52RC引脚功能说明 (5) 3.2.4 LED简介 (6) 3.3 Keil调试 (7) 4、系统实物图 (9) 5、课程设计体会 (9) 参考文献 (10) 附录A (11) 附录B (13) 附录C (14)

1 设计任务与要求 1.1设计任务 本课题应完成以下设计内容: 1)硬件设计 设计数字钟的电路原理图,用PROTEL绘制硬件电路。制作实物。 2)软件设计 (1)时、分、秒的设置及显示; (2)画出程序框图; (3)调试与分析。用PROTEUS仿真。 3)课程设计说明书 1.2设计要求 本课程设计的基本要求是使学生全面掌握单片机控制系统设计的基本理论,熟悉掌握MCS-51 系列单片机的编程方法,具体要求:本例利用AT89C51的定时器和6位7段数码管,设计一个电子时钟。显示格式为“XX XX XX”,由左向右分别是:时、分、秒。

2单片机简介 2.1单片机的发展历程 单片机是微型计算机的一个重要分支,也是一种非常活跃和颇具生命力的机种,特别适用于工业控制领域。1971年微处理器研制成功不久,就出现了单片机,但最早的单片机是1位的,处理能力有限。单片机的发展共分四个阶段:第一阶段是初级阶段,功能非常简单;第二阶段是低性能阶段, 16位定时器/计数器,片内ROM、RAM容量加大,直到现在仍被广泛应用,是目前应用数量较多的单片机。、32位单片机推出阶段,以满足不同的用户需要。纵观单片机几十年的发展历程,单片机的今后发展方向将向多功能、高性能、高速度、低功耗、低价格、外围电路内装化以及内存储器容量增加和FLASH存储器化方向发展。 2.2实用价值与理论意义 在单片机模块里比较常见,数字时钟是一种用0数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更高的使用寿命,新词得到了广泛的应用。 数字时钟是采用数字电路实现对时、分、秒数字显示的计时装置,广泛用于个人家庭、车站、码头、办公室等公用场所,成为人们日常生活中不可少的必需品,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们的生产生活带来了极大的方便,而且大大地扩展了钟表原先的报时功能。因此研究数字时钟及扩大其应用有着非常现实的意义。

单片机课程设计计算器

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

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

格式说明(打印版格式,手写版不做要求) (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.有程序运行结果的截屏图片。

推荐-单片机课程设计多功能定时器 精品 精品

单片机课程设计 多功能定时器 一、设计目的: 1、在理论学习的基础上,通过完成一个涉及MCS-51单片机多种资源应用并具 有综合功能的小系统目标板的设计与编程应用; 2、能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识, 在软件编程、排错调试、相关仪器设备的使用技能等方面得到较全面的锻炼和提高; 3、使学生增进对单片机的感性认识,加深对单片机理论方面的理解。使学生掌 握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通信等; 4、使学生了解和掌握单片机应用系统的软硬件设计过程、方法及实现,为以后 设计和实现单片机应用系统打下良好基础。 二、设计功能说明 数字钟是采用数字电路实现对时,分,秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,本设计可实现如下功能: 1、使用实时时钟芯片写入及读取时间 2、用LCD显示,可显示年、月、日、时、分、秒、星期、农历日期、节日 3、选择蜂鸣器电路,实现两个闹钟设置和事件提示功能 4、实现时钟校正功能,12小时/24小时切换功能 5、显示当前时间为上午时间或下午时间 6、整点报时功能 按键功能如下: 1、对显示时间的设置 按键0:进入设置模式,实现秒(S)、分(M)、时(H)、年(Y)、月(m)、日(D)、星期(W)设置的切换,并在LCD右下角显示所设置的项目,当各项目设置完毕后,再按下按键0则返回主界面正常显示时间; 按键1:每按一次按键1,对所设置的时间加1,当设置的时间超过它的最大值时,该项自动为0,例如:当设置秒为59时,秒自动清零; 按键2:每按一次按键:2,对所设置的时间减1,当设置的时间小于0时,该项自动为它的最大值; 按键3:设置完成后的确认键并可按此键中途退出设置,时间按用户设置值正常计时;

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

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所示:

单片机课程设计定时器控制4只LED滚动闪烁系统解析

目录

1设计目的 1.1设计目的 1、通过单片机课程设计,熟练掌握单片机C语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力。 2、通过定时器控制两个LED显示器显示10秒秒表系统的设计,掌握定时/计数器和LED显示器的使用方法,同时掌握简单程序的编写,最终提高我们的逻辑抽象能力。 1.2设计内容和要求 内容:设计一个能够控制两个LED显示器显示10秒秒表的模拟系统。 要求:利用单片机的定时器定时,控制LED显示器显示。 1.3 设计思路 1.先熟悉实验原理,了解4只LED滚动闪烁系统灯的工作过程,组成滚动闪烁系统需要的组件。 2.了解各个硬件的工作原理, 3.绘制电路原理图,编写程序,并进行仿真,基本实现LED滚动闪烁系统灯的功能。

2设计原理分析 2.1十秒秒表的系统设计 通过编写程序,实现对发光二极管的控制,来4只LED 滚动闪烁灯的管理。每延时一段时间,灯的显示情况都会按LED 灯的显示规律进行状态转换。采用单片机内部的I/O 口上的P0口中的4个引脚即可来控制4个LED 灯。 2.2十秒秒表的功能要求 本设计能模拟基本的LED 滚动闪烁系统,是用中断的方式定时控制LED 定的闪烁及滚动。 2.2.1计时显示 定时/计数器工作方式寄存器,定时器采用T0定时器0工作于模式2 位数:8位计数范围:0-255 具有自动加载功能 2.2.2中断设置 每累计若干次定时器中断才执行一次闪烁。 2.3定时器控制4只LED 滚动闪烁制系统的基本构成及原理 单片机设LED 灯闪烁系统,可用单片机直接控制信号灯的状态变化可以广泛的应用到商业和工业的流程控制测电路当中。 图2.1 系统的总体框图 据此,本设计系统以单片机为控制核心,连接成最小系统。系统的总体框图如上所示。因为它能够准确地划分成时钟频率,与UART(通用异步接收器/发送器)量常见的波特率相关。特别是较高的波特率(19600,19200),不管多么古怪的值,这些晶振都是准确,常被使用的。当定时器1被用作波特率发生器时,波特率工作于方式1和方式3是由定时器1 的溢出率和SMOD 的值(PCON.7------双倍速波特率)决定:

单片机课程设计报告

课程设计报告 课程名称单片机原理及应用 设计题目电子琴的设计 专业班级自动化1142 姓名周太永 学号1104421242 指导教师蔡长青张卓 起止时间2014.6.23-2014.7.11 成绩评定 考核内容设计 表现 设计 报告 答辩 综合 评定 成绩 电气与信息学院

2013/2014学年第二学期 《单片机控制系统设计与调试》课程设计任务书 指导教师:蔡长青班级:自动化1141、2班 地点:机房、单片机实验室(实训中心415) 课程设计题目:基于单片机原理的电子琴设计 一、课程设计目的 1.灵活运用单片机的基础知识,依据课程设计内容,能够完成从硬件电路图设计, 到PCB制版,再到软件编程及系统调试实现系统功能,完成课程设计,加深对单片机基础知识的理解,并灵活运用,将各门知识综合应用。 2.能够上网查询器件资料,培养对新知识新技术的独立的学习能力和应用能力。 3.独立完成一个小的系统设计,从硬件设计到软件设计,增强分析问题、解决问 题的能力,为日后的毕业设计及科研工作奠定良好的基础。 二、课程设计内容(包括技术指标) 1.焊接。认真、仔细,避免缺焊、漏焊。 2.频率计算。会计算脉冲值与频率的关系。 3.工作过程。开机时,第一步是对定时器T0进行初始化,设定它的工作状态(对 于本系统将T0设定为工作方式0);然后判断是否有键按下,如果没有按键按下,继续判断,如果有按键按下,则判断是哪个键按下;再根据按键的功能将计数初值装入定时器T0中中并启动T0,当T0定时完毕后,重新装入计数初值继续定时并将P3.3取反,再次定时完毕后再一次的装入计数初值 继续定时并将P3.3取反,一直循环此操作直到按键释放为止,按键释放后 停止T0工作并再次判断是否又有按键按下,并继续执行以前的过程。 三、时间安排 1.布置任务、查资料1天 2.硬件电路图设计及PCB制版3天 3.硬件电路图及PCB制版验收、电路板焊接1天 4.软件编程设计3天 5.系统调试3天 6.调试验收1天 7.完成设计报告3天 四、基本要求 1.画出硬件电路图,完成PCB制版; 2.画出软件流程图,编写程序(C51语言/汇编语言); 3.完成系统调试; 4.提交设计报告。

单片机课程设计--数字钟

单片机课程设计--数字钟 一、设计目的及意义 (1)巩固、加深和扩大51系列单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力; (2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力; (3)对课题设计方案的分析、选择、比较、熟悉用51单片机做系统开发、研制的过程,软硬件设计的方法、内容及步骤 二、原理图设计中简要说明设计目的 (1)功能:24小时制时间显示,可随时进行时间校对调整,整点报时及闹钟功能。 (2)原理图中所使用的元器件功能在图中的作用 1.主要元件AT89C51 P3.2 /INT0(外部中断0) 定时器/计数器0溢出中断 2.LED及按键开关 用于时间的显示和设定 (3)各器件的工作过程及顺序 计时状态,AT89C51通过P1口持续向LED发送信号,使LED扫描显示刚前时分秒,当出现定时器/计数器0溢出中断时,时间加多1秒,AT89C51从P1口向LED输出新的时间;只按住SET UP键时,进入外部中断0,时间计数停止,通过点击按键H,M,S对时分秒进行调整,新的时间值送给了计时程序,松开SET UP键退出中断,回到计时状态; 按住SET UP键和ALARM键时,进入外部中断0,时间计数停止,通过点击按键H,M对时分进行闹钟定时,AT89C51记忆时分值,退出时先松开SET UP键再松开ALARM; 闹铃:当时间值和设定闹铃值一样时,进行闹铃一分钟。

(3)流程图 Y Y 按下设定键 N (4)程序清单 #include #define uint unsigned int #define uchar unsigned char sbit wela1=P2^0; sbit wela2=P2^1; sbit wela3=P2^2; sbit wela4=P2^3; sbit wela5=P2^4; sbit wela6=P2^5; sbit dp= P1^7; sbit c0= P0^0; sbit c1= P0^1; sbit c2= P0^2; sbit c3= P0^3; sbit c4= P0^4; sbit c5= P0^5; 定时器溢出中断0 LED 扫描显示 初始设定 时间加1秒 外部中断0 按下闹钟? 时间调整 闹钟定时 时间相同? 闹铃

单片机课程设计——基于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 程序清单.................................. 一、设计任务和要求

单片机的课程设计_30秒定时器

目录 一、篮球计时器作用 (1) 二、设计的具体实现 (1) 1.系统概述 (1) 1.1总体设计思路及方案 (1) 1.2流程图 (3) 1.3计数原理 (3) 1.4定时器工作方式 (4) 2.单元电路设计 (6) 2.1 8051单片机 (6) 2.2两个基本电路 (8) 2.3八段数码管的驱动方式.......................错误!未定义书签。 3.软件程序设计 (9)

单片机的定时器设计 一、篮球计时器的作用 在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就视为犯规。本课程设计的“篮球竞赛24秒定时器”,可用于篮球比赛中对球员持球时间作24秒时间限制。一旦球员的持球时间超过了24秒,它自动报警,从而判定此球员犯规。 二、设计的具体实现 1.系统概述 1.1总体设计思路及方案 图1.1.1 总设计图

流程图:

最小系统,就是最简单的输出/输入构成,并且能实现最基本的运行条件,如应有供电、时钟附属电路等。单片机的最小系统包括晶振电路复位电路和电源,这时最小系统基本组成当然还可以添加矩阵键盘数码管等。 此实验的原理是,利用单片机的最小系统,通过锁存器74HC573控制数码管,来实现30秒定时器的功能。 图1.1.2最小系统 1.2计数原理 80C51单片机部设有两个16位的可编程定时器/计数器。在定时器/计数器中除了有两个16位的计数器之外,还有两个特殊功能寄存器(控制寄存器和方式寄存器)。 1.2.1定时器/计数器的结构 16位的定时/计数器分别由两个8位专用寄存器组成,即:T0由TH0和TL0构成;T1由TH1和TL1构成。每个寄存器均可单独访问。这些寄存器是用于存放定时或计数初值的。此外,其部还有一个8位的定时器方式寄存器TMOD和一个8位的定时控制寄存器TCON。这些寄存器之间是通过部总线和控制逻辑电路

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期:2011 年 3 月17 日

目录 1 设计任务和性能指标 (3) 1.1设计任务............................................................................ 错误!未定义书签。 2 设计方案 (4) 2.1任务分析 (4) 2.2方案设计 (4) 3 系统硬件设计 (5) 3.1时钟的电路设计 (5) 3.2复位电路设计 (5) 3.3灯控电路设计 (5) 3.4倒计时电路设计 (6) 3.5按键控制电路设计 (7) 4 系统软件设计 (8) 4.11秒定时 (8) 4.2定时程序流程 (8) 4.3交通灯的设计流程图 (9) 4.4定时器0与中断响应 (10) 5 仿真及性能分析 (10) 5.1仿真结果图 (11) 5.2仿真结果与分析 (12) 6 心得体会 (13) 参考文献 (14) 附录1 系统原理图 (15) 附录2 系统PCB图 .................................................................. 错误!未定义书签。附录3 程序清单 (17)

1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图5.1所示。设东西向为主干道,南北为支干道。 图5.1 交通灯示意图 1. 基本要求 (1) 主干道处于常允许通行的状态,支干道有车来时才允许通行。主干 道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2) 主、支干道均有车时,两者交替允许通行,主干道每次放行30秒, 支干道每次放行20秒,设立30秒、20秒计时、显示电路。 (3) 在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。 黄灯亮时,原红灯按1Hz 的频率闪烁。 (4) 要求主支干道通行时间及黄灯亮的时间均可在0~99秒内任意设置。 2. 选做 (1) 可设置紧急按钮,在出现紧急情况时可由交警手动实现全路口车辆 禁行而行人通行状态,即主干道和支干道均为红灯亮。 (2) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

单片机课程设计数字电子钟[修改好的]

单片机技术课程设计说明书数字电子钟 院、部:电气与信息工程学院 学生姓名:郭红满 指导教师:王韧职称副教授 专业:通信工程 班级:1102 完成时间:2013-12-20

摘要 电子钟在生活中应用非常广泛,而一种简单方便的数字电子钟则更能受到人们的欢迎。所以设计一个简易数字电子钟很有必要。本电子钟采用ATMEL公司的AT89S52单片机为核心,使用12MHz 晶振与单片机AT89S52 相连接,通过软件编程的方法实现以24小时为一个周期,同时8位7段LED数码管(两个四位一体数码管)显示小时、分钟和秒的要求,并在计时过程中具有定时功能,当时间到达提前定好的时间进行蜂鸣报时。该电子钟设有四个按键K1、K2、K3和K4键,进行相应的操作就可实现校时、定时、复位功能。具有时间显示、整点报时、校正等功能。走时准确、显示直观、运行稳定等优点。具有极高的推广应用价值。 关键词电子钟;AT89S52;硬件设计;软件设计

ABSTRACT Clock is widely used in life, and a simple digital clock is more welcomed by people. So to design a simple digital electronic clock is necessary.The system use a single chip AT89S52 of ATMEL’s as its core to control The crystal oscillator clock,using of E-12MHZ is connected with the microcontroller AT89S52, through the software programming method to achieve a 24-hour cycle, and eight 7-segment LED digital tube (two four in one digital tube) displays hours, minutes and seconds requirements, and in the time course of a timing function, when the time arrived ahead of scheduled time to buzz a good timekeeping. The clock has four buttons K1, K2, K3 and K4 key, and make the appropriate action can be achieved when the school, timing, reset. With a time display, alarm clock settings, timer function, corrective action. Accurate travel time, display and intuitive, precision, stability, and so on. With a high application value. Key words Electronic clock;AT89S52;Hardware Design;Software Design

单片机课程设计——基于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 程序清单..................................

单片机课程设计音乐闹钟定时器

目录: 0、任务书 (2) 1、系统总体设计方案规划与选定 (2) 2、硬件设计 (5) 3、软件设计 (6) 4、调试 (8) 5、新增功能及实现方法 (8) 6、小结与体会 (9) 7、参考文献 (9) 8、附录 (10)

0.任务书 基于51单片机设计一个电子数字钟,显示时、分、秒,且具有闹钟功能。用8255接口实现4*8键盘及8位LED显示。 32个键:0~9共10个键,调时(设置当前时间)键;设定闹钟(定时)键;走时键;光标左右移动各一个键。 要求键复位后,应该最后面的LED上显示H(待命状态)。 1. 系统总体设计方案规划与选定 1.1主控制芯片选择 方案一:采用ARM微处理,做主控芯片,计算速度快,缺点;成本高,控制较复杂,不容易焊接。 方案二:采用80C51单片机做主控制器,由单片机来完成采集和信号处理等底层的核心计算,做主控芯片,成本低,易控制,易实现。 经过以上两个方案比较,在此题方案二明显优于方案一,故采用80C51单片机做主控制器。 1.2定时模块选择 方案一:采用时钟芯片DS1302。 DS1302 可以用于数据记录,特别是对某些具有特殊意义的数据点的记录,能实现数据与出现该数据的时间同时记录,且较单片机计时简单节约硬件资源,但存在时钟精度不高,易受环境影响,出现时钟混乱等缺点。 方案二:采用单片机内部的定时系统,外接晶振进行分频脉冲计数。

此系统采用12MHz晶振。 由于方案二使用简单,比方案一更适用该系统设计,所以选择方案二。 1.3 LED显示及计时模块选择 方案一:74LS192计数器——74LS47七点显示译码器 74LS192芯片是一块可预置数可逆计数芯片,功能强大。将74LS192芯片CPU引脚接高电平可实现减法计数,以倒计时显示。可通过74LS47与LED共阳极数字显示器配合使用。 方案二:使用移位寄存器74HC595与译码器相连 74HC595具有8位移位寄存器和一个存储器,使用时可直接与数字显示器相连。 方案三:使用8255扩展LED显示计时模块 8255是一个可编程并行接口芯片,有一个控制口和三个8位数据口,外设通过数据口与单片机进行数据通信,各数据口的工作方式和数据传送方向是通过用户对控制口写控制字控制的。我们用到了A与B口分别进行对数码显示管的片选和段选,且B口同时作为键盘扫描模块的输入口,与数码显示模块分时复用。故采用方案三 1.4蜂鸣器的选择 方案一:电磁式蜂鸣器 电磁式蜂鸣器主要是利用通电导体会产生磁场的特性,用一个固定的永久磁铁与通电导体产生磁力推动固定在线圈上的鼓膜。电磁式由于音色好,所以多用于语音、音乐等设备。对于不同提示音且考虑实际,此种较好。 方案二: 压电式蜂鸣器

相关文档
最新文档