单片机课程设计报告完美版

单片机课程设计报告完美版
单片机课程设计报告完美版

课程设计

题目:单片机控制步进电机的设计

姓名:

专业:电气自动化技术

学号:

2011 年10 月27日

一、设计题目的背景

1.步进电机的原理

步进电机的驱动原理是通过它每相线圈的电流的顺序切换来使电机作步进式旋转,驱动电路由脉冲来控制,所以调节脉冲的频率便可改变步进电机的转速,微控制器最适合控制步进电机。另外,由于电机的转动惯量的存在,其转动速度还受驱动功率的影响,当脉冲的频率大于某一值(本实验为f.>100hz)时,电机便不再转动。

实验电机共有四个相位(A,B,C,D),按转动步骤可分单4拍(A->B->C->D->A),双4拍(AB->BC->CD->DA->AB)和单双8拍(A->AB->B->BC->C->CD->D->DA->A).

2.应用领域

⑴、步进电机主要用于一些有定位要求的场合。例如:线切割的工作台拖动,植毛机工作台(毛孔定位),包装机(定长度)。基本上涉及到定位的场合都用得到。

⑵、广泛应用于ATM机、喷绘机、刻字机、写真机、喷涂设备、医疗仪器及设备、计算机外设及海量存储设备、精密仪器、工业控制系统、办公自动化、机器人等领域。特别适合要求运行平稳、低噪音、响应快、使用寿命长、高输出扭矩的应用场合。3.步进电机在电脑绣花机等纺织机械设备中有着广泛的应用,这类步进电机的特点是保持转矩不高,频繁启动反应速度快、运转噪音低、运行平稳、控制性能好、整机成本低。目前用于电脑绣花机的步进电机多数为五相混合式步进电机,目的是通过采用高相数的步进电机来减小步矩角和提高控制精度,但是采用该种方式获得的性能上的提高是有限的.而且成本也相对较高。采用细分驱动技术可以大大改善步进电机的运行品质,减少转矩波动,抑制振荡,降低噪音,提高步矩分辨率。若采用反应式步进电机,在性能明显提高的同时还能大大降低产品的成本。

⑶、凡需要对转角进行精确控制的情况下,使用步进电机最为理想。

二、设计原理

1.设计的目的

⑴、了解步进电机的基本原理,掌握步进电机的转动编程方法。

⑵、了结影响电机转速的因素有哪些。

三、电路设计

1.单片机型号的选择

8031片内不带程序存储器ROM,使用时用户需外接程序存储器和一片逻辑电路373,外接的程序存储器多为EPROM的2764系列,用户若想对写入到EPROM的程序进行修改,必须使用一种特殊的紫外线灯将其照射擦除,之后再写入,写入到程序存储器的程序代码没有什么保密性可言。

51的优点是有乘法和除法指令,给变成带来了方便,其内部的硬件到软件有一套完整的布尔处理器,51系列在片内RAM区开辟了一个双重功能的地址区间16个字节,单元地址20H~2FH,即可做字节处理又可做位处理,使用极为灵活。51单片机价格更便宜。市场上51系列单片机种类较多。

综上,所以选择80C51单片机。

2.硬件电路设计

⑴、实验原理图如下:

DS3

R747012

JP3VCC

GND 8VCC 9

I11O116I22O215I33O314I44O413I55O512I66O611I77

O710

U6ULN2003A

U7C SN74HC04N

U7D SN74HC04N U7E SN74HC04N U7F SN74HC04N

P1.3

P1.0

P1.1

P1.2

⑵、8279键盘∕LED 控制器

O UT A027O UT B031O UT A126O UT B130O UT A225O UT B229O UT A324O UT B3

28D B012B D 23D B113D B214SL 032D B315SL 133D B416SL 234D B517SL 335D B618D B719

R L038R L139IRQ 4R L21R L32C S 22R L45R D 10

R L56W R 11R L67A 021R L78C LK 3SH IFT 36R ESE T 9

C NT L/S

37

U 37

8279

A 1V CC

16B 2C

3Y 014Y 1

13O E16Y 212O E2A 4Y 311O E2B 5

Y 4

10Y 510Y 6

9G ND 8

Y 7

7

U 39

SN 74LS138N

O E11V CC 20

O E2

19A 12Y 118A 24Y 216A 36Y 314A 48Y 412A 511Y 59A 613Y 67A 715Y 75A 817Y 8

3

G ND

10

U 40 S N74LS 240P O E11V CC

20

O E2

19

A 1

2Y 118A 24Y 216A 36Y 314A 48Y 412A 511Y 59A 613Y 67A 715Y 75A 817Y 8

3G ND

10

U 40 SN 74L S240P 123

45678

B JP78V C

C V CC

1234

5678

C JP77123

45678

A JP6212345678

D

JP93

a b c d

V CC 87654321

R 12310K V CC

V CC C \S \A 0C LK INT e f g d p D 0D 1D 2D 3D 4D 5D 6D 7

a b c d e f g d p

⑶键盘&LED

416111213152

5112

42

22

32

a b f c g d

e

DPY a b c d e f g dp

dp

G ND 4123

45678

JP47A 12345

678JP92D a b f c g d

e

DPY a b c d e f g dp

dp

D S29

a b f c g d

e

DPY a b c d e f g dp

dp

LG 4041A H G ND 2

a b f c g d e DPY a b c d e f g dp

dp G ND 3G ND 1a b f c g d

e

DPY a b c d e f g dp

dp

G ND 2a b f c g d

e

DPY a

b c d e f g dp

dp

G ND 3a

b

f c

g d

e

DPY a

b c

d

e f

g dp

dp

D S30

G ND 4

1174211053

a b f c g d

e

DPY a b c d e f g dp

dp

C

G ND 1

SE GA 11SE GB 7SE GC 4SE GD 2SE GE 1SE GF 10SE GG 5SE GH 312345678

JP41SE GA SE GB SE GC SE GD SE GE SE GF SE GG SE GH 72

62

817182

12

9

8

6

12

9

8

6

12345678JP42

B

⑷80C51单片机控制

P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST 9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR 16P3.7/RD 17XTAL218XTAL119GND 20

VCC 40P0.039P0.138P0.237P0.336P0.435P0.534P0.633P0.732/EA 31ALE 30/PSEN 29P2.728P2.627P2.526P2.425P2.324P2.223P2.122P2.021

U3

SN

CRYSTAL

CAP

CAP

CAP VCC

R?RES2

AP1.0BP1.1CP1.2DP1.3

D 03 D 14 D 27 D 38 D 413 D 514 D 617 D 718O

E 1

LE 11OUT 02OUT 15OUT 26OUT 39OUT 412OUT 515OUT 616OUT 7

19

U?

RES2

A0

VCC

四、软件设计 1.程序框图

N

Y N

Y N N

N

N

0->需要刷新显示标志 1->步进电机未转动过标志 1->转动方向标志(1:表示顺时针方向)

33H->下次送给步进电机值 5->步进电机转速

初始化8255(PC 口输出)

初始化8253(计数器T0设置在模式2状态,BCD 码计数,CLK0/210)

初始化8259(允许8253中断) 初始化8253中断向量

初始化显示缓冲区:

(数码管第8位:0,顺时针方向;5、7位消隐;6位:转速; 1、2、3、4位:0,表示连续转动,其他值表示需要转动的步数)

调用显示子程序

有键按下

需要刷新显示标志=1

0->需要刷新显示标志 调用步数调整子程序

关中断(终止步进电机转动)

数码管的1、2、3位->2、3、4位 键值送给数码管的第一位 调用改变转向子程序

键值>9

键值=0AH

调用增速子程序

调用减速子程序

调用启动步进电机子程序

Y

键值=0BH

键值=0CH

键值=0DH

开始

Y Y Y

改变方向子程序:

启动步进电机子程序:

增速子程序:

减速子程序:

定时中断程序

Y

Y

N

N

Y

开始

转动方向标志=0

91H->下次送给步进电机值 下次送给步进电机值循环右移二次

1->转动方向标志 0->送给数码管的第7位

步进电机未转动过标志

33H->下次送给步进电机值

下次送给步进电机值循环左移二次

0->转动方向标志 1->送给数码管的第7位

步进电机未转动过标志

返回

Y

N

Y

开始

0->步进电机未转动过标志

取转动步数

取转速对应的延时值(转速延时)

初始转速延时1=初始转速延时

转速延时< 50

初始转速延时=50

返回

开中断

初始转速延时=转速延时

N

Y

开始

转速=0

转速-1

转速送给数码管第5位

返回

Y

N

开始

转速=11

转速+1

转速送给数码管第5位

返回

2.完整程序

;EXTRN CODE(INIT8279,SCAN_KEY,Display8) MAIN_CODE SEGMENT CODE MAIN_BIT SEGMENT BIT MAIN_DATA SEGMENT DATA STACK SEGMENT IDATA

;PUBLIC INIT8279,SCAN_KEY,Display8 CMD_8279 XDATA 0bF01H DATA_8279 XDATA 0bF00H

RSEG MAIN_DATA StepControl: DS 1

N

N Y

N

N

N

Y

Y

N

Y

初始转速延时1=转速延时

初始转速延时 -1=0

初始转速延时1 - 1 初始转速延时=初始转速延时1

转动方向标志=0

下次送给步进电机值循环右移一次

转动步数=0

1->需要刷新显示标志转动步数减一

转动步数=0

关中断

清中断标志

开始

下次送给步进电机值循环左移一次

返回

下次送给步进电机值->8255的PC 口(控制步进电机转动一步)

Y

buffer: DS 8

SpeedNo: DS 1

StepDelay: DS 1 StartStepDelay: DS 1 StartStepDelay1: DS 1

RSEG MAIN_BIT

bFirst: DBIT 1 bClockwise: DBIT 1 bNeedDisplay: DBIT 1 RSEG STACK

DS 20H

CSEG AT 0000H

LJMP STAR

CSEG AT 000BH

LJMP TIMER0

RSEG MAIN_CODE

STAR: MOV SP,#STACK-1

ACALL INIT8279

SETB bFirst

SETB bClockwise

MOV StepControl,#33H

MOV SpeedNo,#5

MOV TMOD,#02H

MOV TH0,#55

MOV TL0,#55

MOV IE,#82H

MOV Buffer+7,#0

MOV buffer+6,#0

MOV buffer+5,#0

MOV buffer+4,#0

MOV buffer+3,#10H

MOV buffer+2,SpeedNo

MOV buffer+1,#10H

MOV buffer,#0

STAR2: MOV R0,#buffer

ACALL Display8

STAR3: ACALL Scan_Key

JC STAR5

JNB bNeedDisplay,STAR3

CLR bNeedDisplay

ACALL Step_SUB_1

SJMP STAR2

STAR5: CLR TR0

CJNE A,#10,$+3

JNC STAR1

MOV buffer+4,buffer+5

MOV buffer+5,buffer+6

MOV buffer+6,buffer+7

MOV Buffer+7,A

SJMP STAR2

STAR1: CJNE A,#14,$+3

JNC STAR3

MOV DPTR,#DriverTab

CLR C

SUBB A,#10

RL A

JMP @A+DPTR

DriverTab: SJMP Direction

SJMP Speed_up

SJMP Speed_Down

SJMP Exec

Direction: CPL bClockwise

JB bClockwise,Clockwise

MOV buffer,#1

AntiClockwise: JNB bFirst,AntiClockwise1 MOV StepControl,#91H

SJMP Direction1

AntiClockwise1: MOV A,StepControl

RR A

RR A

MOV StepControl,A

SJMP Direction1

Clockwise: MOV buffer,#0

JNB bFirst,Clockwise1

MOV StepControl,#33H

SJMP Direction1

Clockwise1: MOV A,StepControl

RL A

RL A

MOV StepControl,A

Direction1: SJMP STAR2 Speed_up: MOV A,SpeedNo

CJNE A,#11,Speed_up1

SJMP speed_up2

Speed_up1: INC SpeedNo

MOV buffer+2,SpeedNo

Speed_up2: SJMP STAR2

Speed_Down: MOV A,SpeedNo

JZ Speed_Down1

DEC SpeedNo

MOV buffer+2,SpeedNo

Speed_Down1: SJMP STAR2

Exec: CLR bFirst

ACALL TakeStepCount

MOV DPTR,#StepDelayTab

MOV A,SpeedNo

MOVC A,@A+DPTR

MOV StepDelay,A

CJNE A,#50,$+3

JNC Exec1

MOV A,#50

Exec1: MOV StartStepDelay,A

MOV StartStepDelay1,A

SETB TR0

AJMP STAR2

StepDelayTab: DB 250,125,83,62,50,42,36,32,28,25,22,21 TIMER0: PUSH ACC

DJNZ StartStepDelay,TIMER0_1

MOV A,StartStepDelay1

CJNE A,StepDelay,TIMER0_5

SJMP TIMER0_2

TIMER0_5: DEC A

MOV StartStepDelay1,A

TIMER0_2: MOV StartStepDelay,A

MOV A,StepControl

CPL A

MOV P1,A

CPL A

JB bClockwise,TIMER0_3

RR A

SJMP TIMER0_4

TIMER0_3: RL A

TIMER0_4: MOV StepControl,A

MOV A,R6

ORL A,R7

JZ TIMER0_1

SETB bNeedDisplay

DJNZ R7,TIMER0_1

DJNZ R6,TIMER0_1

CLR TR0

TIMER0_1: POP ACC

RETI

Step_SUB_1: MOV R5,#4

MOV R0,#buffer+7

Step_SUB_1_1: MOV A,@R0

DEC @R0

JNZ Step_SUB_1_2

MOV @R0,#9

DEC R0

DJNZ R5,Step_SUB_1_1

Step_SUB_1_2: RET

TakeStepCount: MOV A,buffer+4

MOV B,#10

MUL AB

ADD A,buffer+5

MOV B,#10

MUL AB

ADD A,buffer+6

MOV R7,A

MOV A,B

ADDC A,#0

MOV B,#10

MUL AB

XCH A,R7

MOV B,#10

MUL AB

XCH A,B

ADD A,R7

XCH A,B

ADD A,buffer+7

MOV R7,A

MOV A,B

ADDC A,#0

MOV R6,A

CJNE R7,#0,TakeStepCount1

RET

TakeStepCount1: INC R6

RET

INIT8279: MOV A,#34H

MOVX @DPTR,A

CLR A

MOV DPTR,#CMD_8279

MOVX @DPTR,A

INIT8279_1: CALL CLEAR

MOV A,#90H

MOVX @DPTR,A

RET

CLEAR: MOV A,#0DEH

MOV DPTR,#CMD_8279

MOVX @DPTR,A

WAIT1: MOVX A,@DPTR

JB ACC.7,WAIT1

RET

SCAN_KEY: MOV DPTR,#CMD_8279

MOVX A,@DPTR

READ_FIFO: ANL A,#7

JZ NO_KEY

READ: MOV A,#40H

MOVX @DPTR,A

MOV DPTR,#DATA_8279

MOVX A,@DPTR

ACALL KEY_NUM

SETB C

SCAN_KEY1: RET

NO_KEY: CLR C

SJMP SCAN_KEY1

KEY_NUM: ANL A,#3FH

RET

WRITE_DATA: MOV DPTR,#DATA_8279

MOVX @DPTR,A

RET

LED_TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H DB 080H,90H,88H,83H,0C6H,0A1H,86H,8EH,0FFH

RET

Display8: PUSH 07H

MOV DPTR,#LED_TAB

MOV P2,#HIGH(CMD_8279)

MOV R1,#LOW(CMD_8279)

MOV A,#90H

MOVX @R1,A ;第一位开始显示

MOV R1,#LOW(DATA_8279)

MOV R7,#8

Display81: MOV A,@R0

MOVC A,@A+DPTR

MOVX @R1,A

INC R0

DJNZ R7,Display81

POP 07H

RET

END

五、结语

1、运行情况:首次运行时电机不会旋转,在加入子程序时,电机只能做单方向简单

旋转,当加入子程序(INIT8279:到LED_TAB:)电机才能做正反转方向的转动,且能加减速。

2、改进建议:但运行时,键盘操作指示灯不亮,加入bNeedDisplay:子程序,且能正常运转时,为单片机控制步进电机的最佳状态。

3、感想:通过本次课程设计,让我进一步了解了单片机的实际应用,随着科技的发展,步进电机会运用的越来越多,掌握好单片机会实现我们的自身价值。

六、参考文献

[1] 王君. 单片机原理及控制技术机械工业出版社,北京,2010

[2] 张永枫. 单片机应用实训教程机械工业出版社,北京,2009

[3] 林春景. 单片机原理与应用机械工业出版社,北京,2009

[4] 杨居义. 单片机课程设计指导清华大学出版社, 北京, 2009

[5] 张小林、崔洗. 51单片机常用模块设计查询手册, 清华大学出版社, 2010

51单片机课程设计

课程设计说明书
课程设计名称






学生姓名
指导教师
单片机原理及应用课程设计 电子信息工程 140405 20141329 李延琦 胡黄水
2016 年 12 月 26 日

课程设计任务书
课程设计 题目
酒精测试仪
起止日期
2016 年 12 月 26 日— 2017 年 1 月 6 日
设计地点
计算机科学与工程学 院单片机实验室 3409
设计任务及日程安排: 设计任务:分两部分: (一)、设计实现类:进行软、硬件设计,并上机编程、联线、调试、 实现; 1.电子钟的设计 2.交通灯的设计 3.温度计的设计 4.点阵显示 5.电机调速 6.电子音乐发声(自己选曲) 7.键盘液晶显示系统 (二)、应用系统设计类:不须上机,查资料完成软、硬件设计画图。 查资料选定题目。 说明:第 1--7 题任选其二即可。(二)里题目自拟。 日程安排: 本次设计共二周时间,日程安排如下: 第 1 天:查阅资料,确定题目。 第 2--4 天:进实验室做实验,连接硬件并编写程序作相关的模块实验。 第 5--7 天:编写程序,并调试通过。观察及总结硬件实验现象和结果。 第 8--9 天:整理资料,撰写课程设计报告,准备答辩。 第 10 天:上交课程设计报告,答辩。 设计报告要求:
1. 设计报告里有两个内容,自选题目内容+附录(实验内容),每 位同学独立完成。 2. 自选题目不须上机实现,要求能正确完成硬件电路和软件程序 设计。内容包括: 1) 设计题目、任务与要求 2)硬件框图与电路图 3) 软件及流程图 (a)主要模块流程图 (b)源程序清单与注释 4) 总结 5) 参考资料 6)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

基于-89C51单片机的秒表课程设计汇本

《单片机技术》 课程设计报告 题目:基于MCU-51单片机的秒表设计班级: 学号: 姓名: 同组人员: 指导教师:王瑞瑛、汪淳 2014年6月17日

目录 1课程设计的目的 (3) 2 课程设计题目描述和要求 (3) 2.1实验题目 (4) 2.2设计指标 (4) 2.3设计要求 (4) 2.4增加功能 (4) 2.5课程设计的难点 (4) 2.6课程设计容提要 (4) 3 课程设计报告容 (5) 3.1设计思路 (5) 3.2设计过程 (6) 3.3 程序流程及实验效果 (7) 3.4 实验效果 (16) 4 心得体会 (17)

基于MCS-51单片机的秒表设计 摘要:单片机控制秒表是集于单片机技术、模拟电子技术、数字技术为一体的机电一体化高科技产品,具有功耗低,安全性高,使用方便等优点。本次设计容为以8051 单片机为核心的秒表,它采用键盘输入,单片机技术控制。设计容以硬件电路设计,软件设计和PCB 板制作三部分来设计。利用单片机的定时器/计数器定时和计数的原理,用集成电路芯片、LED 数码管以及按键来设计计时器。将软、硬件有机地结合起来,使他拥有正确的计时、暂停、清零、并同时可以用数码管显示,在现实生中应用广泛。 关键词:秒表;8051;定时器;计数器 1 课程设计的目的 《单片机应用基础》课程设计是学好本门课程的又一重要实践性教学环节,课程设计的目的就是配合本课程的教学和平时实验,以达到巩固消化课程的容,进一步加强综合应用能力及单片机应用系统开发和设计能力的训练,启发创新思维,使之具有独立单片机产品和科研的基本技能,是以培养学生综合运用所学知识的过程,是知识转化为能力和能力转化为工程素质的重要阶段。 2 课程设计题目描述和要求

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

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 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 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

单片机课程设计——基于51单片机的温度监控系统设计

单片机课程设计报告 题目:温度监控系统设计 学院:能源与动力工程学院 专业:测控技术与仪器专业 班级: 2班 成员:魏振杰 二〇一五年十二月

一、引言 温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。对于不同场所、不同工艺、所需温度高低范围不同、精度不同,则采用的测温元件、测方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。 随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用。利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。 作为获取信息的手段——传感器技术得到了显著的进步,其应用领域较广泛。传感器技术已成为衡量一个国家科学技术发展水平的重要标志之一。因此,了解并掌握各类传感器的基本结构、工作原理及特性是非常重要的。 为了提高对传感器的认识和了解,尤其是对温度传感器的深入研究以及其用法与用途,基于实用、广泛和典型的原则而设计了本系统。本系统利用传感器与单片机相结合,应用性比较强,本系统可以作为仓库温度监控系统,如果稍微改装可以做热水器温度调节系统、实验室温度监控系统,以及构成智能电饭煲等等。课题主要任务是完成环境温度监测,利用单片机实现温度监测并通过报警信号提示温度异常。本设计具有操作方便,控制灵活等优点。 本设计系统包括单片机,温度采集模块,显示模块,按键控制模块,报警和指示模块五个部分。文中对每个部分功能、实现过程作了详细介绍。整个系统的核心是进行温度监控,完成了课题所有要求。 二、实验目的和要求 2.1学习DS18B20温度传感芯片的结构和工作原理。 2.2掌握LED数码管显示的原理及编程方法。 2.3掌握独立式键盘的原理及使用方法。 2.4掌握51系列单片机数据采集及处理的方法。 三、方案设计

基于51单片机课程设计

基于51单片机课程设计报告 院系:电子通信工程 团组:电子设计大赛1组 姓名: 指导老师:

目录 一、摘要 (3) 二、系统方案的设计 (3) 三、硬件资源 (5) 四、硬件总体电路搭建 (13) 五、程序流程图 (14) 六、设计感想 (14) 七、参考文献 (16) 附录 (17) 附录 1 程序代码 (17)

一、摘要 本设计以STC89C51单片机为核心的温度控制系统的工作原理和设计方法。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机。文中介绍了该控制系统的硬件部分,包括:温度检测电路、温度控制电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、led控制程序、超温报警程序。 关键词:STC89C51单片机 DS18B20温度芯片温度控制 ,LED报警提示. 二、系统方案的设计 1、设计要求 基本功能: 不加热时实时显示时间,并可手动设置时间; 设定加热水温功能。人工设定热水器烧水的温度,范围在20~70度之间,打开开关后,根据设定温度与水温确定是否加热,及何时停止加热,可实时显示温度; 设定加热时间功能。限定烧水时间,加热时间内超过温度上限或低于温度下限报警,并可实时显示温度。 2、系统设计的框架

本课题设计的是一种以STC89C51单片机为主控制单元,以DS18B20为温度传感器的温度控制系统。该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度测量及调理电路、键盘、数码管显示、指示灯、报警、继电器及单片机最小系统。 图1 系统设计框架 3 工作原理 温度传感器 DS18B20 从设备环境的不同位置采集温度,单片机STC8951获取采集的温度值,经处理后得到当前环境中一个比较稳定的温度值,再根据当前设定的温度上下限值,通过加热和降温对当前温度进行调整。当采集的温度经处理后超过设定温度的上限时,单片机通过三极管驱动继电器开启降温设备(压缩制冷器) ,当采集的温度经处理后低于设定温度的下时 , 单片机通过三极管驱动继电器开启升温设备 (加热器) ,这里采用通过LED1和LED2取代!!! 当由于环境温度变化太剧烈或由于加热或降温设备出现故障,或者温度传感头出现故障导致在一段时间内不能将环境温度调整到规定的温度限内的时候,单片机通过三极管驱动扬声器发出警笛声,这里采用HLLED提示。

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

题目: 智能小车设计 打开命令行终端的快捷方式: 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 ..

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

单片机课程设计报告电 子密码锁 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 个按键的矩阵键盘。 在这种行列式矩阵键盘编码的单片机系统中,键盘处理程序首先执行等待按键并确

单片机课程设计题目..(DOC)

单片机课程设计题目 1 基于单片机的数字电压表设计 2 基于单片机的智能电压表设计(温度检测器) 3 基于单片机的智能船模设计 4 基于单片机的电梯控制模型设计 5 基于单片机的水位控制系统设计(STC89—51型) 6 基于单片机的多路数据采集系统设计 7 基于单片机的8路抢答器设计 9 基于单片机的数字温度计设计 10 基于单片机的智能小车设计 11 基于单片机的数字温度计设计 12 基于单片机的遥控器设计 13 基于单片机的串行通信发射机设计 14 基于单片机的简易智能电动车设计 15 基于单片机的太阳能热水器控制器设计 16 基于单片机的太阳能热水器控制器设计 17 MCS-51单片机温度控制系统的设计 18 直流电动机的转速检测与脉宽调速 19 基于单片机的智能机器人的设计 20 基于单片机的简易无线竞赛系统的设计 21 基于单片机的车辆闯红灯监控系统设计(89C51) 22 基于单片机控制的井下瓦斯监控系统设计 23 基于单片机的煤气泄漏检测报警装置设计 24 基于单片机的井式渗碳炉控制系统设计 25 基于单片机的蔬菜大棚温湿度智能控制系统设计 26 基于单片机的电子钟设计 27 基于单片机的电力线载波节电群控设计 28 基于单片机的液位控制器设计

29 基于单片机的串行通信发射机设计 30 基于单片机的智能八路抢答器设计 32 基于单片机的水位监控器设计(STC12C2052AD) 32 基于单片机的点阵电子显示屏设计 33 基于单片机的智能温度控制系统设计 34 基于单片机的智能时钟控制器设计 35 基于单片机的智能温控系统设计 36 基于单片机的智能寻迹避障小车设计 37 基于单片机的家用太阳能热水器控制器设计 38 基于单片机的新型抢答计分器设计 39 基于单片机的热敏电阻测温系统设计 40 基于单片机的林火监测系统-飞艇姿态控制系统设计 41 基于单片机的人性化时钟控制器设计 42 基于单片机的智能型电话远程遥控器设计 43 基于单片机的远程通讯控制器设计 45 基于单片机的智能水位控制器设计 46 基于单片机的水位控制系统设计 47 基于单片机的智能电动小车设计 48 基于单片机的数码电子时钟设计 49 -基于单片机的数控直流电源设计 50 基于单片机的交通灯控制器设计 51 基于单片机的数字温度计设计(STC89C51) 52 基于单片机的智能小车设计 53 基于单片机的温度控制器设计 54 基于单片机的串行通信发射机设计(版本3) 55 基于单片机的温度控制系统设计(版本1) 56 基于单片机的交通灯控制系统设计 D58-基于单片机的电子万年历设计 D59-基于单片机的水位控制器设计 D60-基于单片机的水位控制系统设计(版本2)

单片机课程设计报告

课程设计报告 课程名称单片机原理及应用 设计题目电子琴的设计 专业班级自动化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.提交设计报告。

单片机课程设计完整版《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) 对直流电机转速的控制即可采用开环控制,也可采用闭环控制。与开环控制相比,速度控制闭环系统的机械特性有以下优越性:闭环系统的机械特性与开环系统机械特性相比,其性能大大提高;理想空载转速相同时,闭环系统的静差(额定负载时电机转速降落与理想空载转速之比)要小得多;当要求的静差率相同时, 闭环调速系统的调速范

单片机课程设计题目

1.电子秒表设计:设计一个4位LED数码显示“秒表”,显示时间为00.00~99.99秒,每0.01 秒自动加一。另设计一个“开始”按键和一个“复位”按键。(2人) 2.简易4位(0—9999)计算器(+、-、*、/、四种运算)设计:设计一个能实现0-9整数 加法运算的计算器,利用LCD显示。键盘包括0-9及“+、-、*、/”和“=”及“清除” 16个按键。(除法应保留足够的的小数,满足共4位的显示)要有错误显示Err。(2人) 3.频率数显表:设计一个能实现对脉冲频率测量显示的电路。输入频率范围(0-10k),显 示为xxx.xx,用两个指示灯指示显示数字的单位,Hz和KHz两档,根据输入频率自动切换显示档。(脉冲信号是由外部信号发生器提供)(2人) 4.信号灯控制系统:南北线有红黄绿三只信号灯,东西线有红黄绿三只信号灯。 要求:(闪烁3次,每次亮灭时间各1s)时序要求如下(原始状态) 设计一个递增键和一个递减键,用于调节功能键选定的方向的绿灯时间,时间范围(10s-50s),每次以0.5S为增量。(2人) 5.简易电子时钟:用4位LED数码管分别显示小时数分钟和秒数,两个按键,一个为功能 键,用于切换显示界面(两个显示界面,一个是小时分钟,一个是秒数)长按此键3S 进入当前界面的参数修改界面。另一个按键用于参数修改(参数递增或递减),长按此键3s退参数修改,时间要求用单片机自带的定时器得到。(2人) 6.智能电子钟(LCD显示):以A T89C51单片机为核心,制作一个LCD显示的智能电子 钟:(1) 计时:秒、分、时、天、周、月、年。(2) 闰年自动判别。(3) 五路定时输出,可任意关断(最大可到16路)。(4) 时间、月、日交替显示。(5) 自定任意时刻自动开/关屏。(6) 计时精度:误差≤1秒/月(具有微调设置)。(7) 键盘采用动态扫描方式查询。所有的查询、设置功能均由功能键K1、K2完成。采用时钟芯片DS1302进行制作 7.多路报警器设计。用AT89C51单片机设计报警系统,用16个开关模拟报警点,当有 开关闭合时,用P1.0产生方波信号驱动蜂鸣器作为报警信号,同时用2位数码管显示报警点(即是第几个开关)。(2人) 8.简易数字电压表设计。利用单片机AT89S51与AD设计一个数字电压表,能够测量0- 36V之间的直流电压值,用LCE显示(根据测量精度,自定显示的位数)。(2人) 9.波形发生器。三种信号:正弦波、方波、三角波。利用DA转换器设计一波形发生器,

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

单片机课程设计报告模板

单片机系统课程设计报告 专业:自动化 学生姓名: 学号: 指导教师: 完成日期: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) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速, 就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。 南 北 东 西

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

单片机课程设计题目11级1

题目1 电子时钟(LCD显示) 设计要求 以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: ●使用字符型LCD显示器显示当前时间。 ●显示格式为“时时:分分:秒秒”。 ●用4个功能键操作来设置当前时间,4个功能键接在P1.0~P1.3引 脚上。 功能键K1~K4功能如下。 ●K1—进入设置现在的时间。 ●K2—设置小时。 ●K3—设置分钟。 ●K4—确认完成设置。 程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。 题目2 基于数字温度传感器的数字温度计 设计要求 利用数字温度传感器DS18B20与单片机结合来测量温度。利用数字温度传感器DS18B20测量温度信号,计算后在LED数码管上显示相应的温度值。其温度测量范围为?55℃~125℃,精确到0.5℃。所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20,用3位共阳极LED数码管以串口传送数据,实现温度显示。 题目3 十字路口交通灯控制 设计要求 设计一个十字路口交通灯控制器。用单片机控制LED模拟交通灯。东西

向通行时间为80s,南北向通行时间为60s,缓冲时间为3s。 本项目为典型的LED显示和中断定时电路。利用定时器T0产生每10ms 一次的中断,每100次中断为1s。对两个方向分别显示红、绿、黄灯,并显示相应的剩余时间。值得注意的是,A方向红灯时间=B方向绿灯时间+黄灯缓冲时间。 题目4 节日彩灯控制器的设计 设计要求 以单片机为核心,设计一个LED显示的节日彩灯控制器,P1.2~P1.5引脚上接有4个按键,4个按键的各自的功能如下: ●P1.2—开始键,按此键则灯开始流动(由上而下)。 ●P1.3—停止键,按此键则停止流动,所有灯为暗。 ●P1.4—上,按此键则灯由上向下流动。 ●P1.5—下,按此键则灯由下向上流动。 本题目本质上是由按键控制功能的流水灯,LED工作的方式通过键盘的扫描实现。其中的LED采取共阳极接法,通过依次向连接LED的I/O口送出低电平,即可实现所要求的功能。 题目5 数字音乐盒的设计 设计要求 以单片机为核心,设计一个数字音乐盒: 利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演奏乐曲(最少3首乐曲,每首不少于30s)。采用LCD显示信息。开机时有英文欢迎提示字符,播放时显示歌曲序号(或名称)。可通过功能键选择乐曲、暂停、播放。 题目6 单片机控制步进电机 设计要求

单片机课程设计电阻测量(完整版)

课程设计报告课程名称:单片机课程设计 设计题目:电阻测量 院系:通信与控制工程系 专业:通信工程 班级: 学生姓名: 学号: 08409212 起止日期: 指导教师: 教研室主任:

摘要 本设计电阻测量是利用A/D转换原理,将被测模拟量转换成数字量,并用数字方式显示测量结果的电子测量仪表。通常测量电阻都采用大规模的A/D转换集成电路,测量精度高,读数方便,在体积、重量、耗电、稳定性及可靠性等方面性能指标均明显优于指针式万用表。其中,A/D转换器将输入的模拟量转换成数字量,逻辑控制电路产生控制信号,按规定的时序将A/D转换器中各组模拟开关接通或断开,保证A/D 转换正常进行。A/D转换结果通过计数译码电路变换成BCD码,最后驱动显示器显示相应的数值。本系统以单片机AT89C52为系统的控制核心,结合A/D转换芯片ADC0809设计一个电阻测量表,能够测量一定数值之间的电阻值,通过四位数码显示。具有读数据准确,测量方便的特点。 关键词:单片机(AT89C52);电压;A/D转换;ADC0809

目录 设计要求 (1) 1、方案论证与对比 (1) 1.1方案一 (1) 1.2方案二 (1) 1.3方案对比与比较................................... 错误!未定义书签。 2、系统硬件电路的设计 (2) 2.1振荡电路模块 (2) 2.2A/D转换电路模块 (3) 2.2.1主要性能 (3) 2.2.2 ADC0809芯片的组成原理 (4) 2.2.3 ADC0809引脚功能 (4) 2.3主控芯片AT89C52模块 (5) 2.3.1主要功能特性 (6) 2.3.2 主要引脚功能 (6) 2.4显示控制电路的设计及原理 (8) 3、程序设计 (9) 3.1初始化程序 (9) 3.2主程序 (10) 3.3显示子程序 (10) 3.4A/D转换测量子程序 (11) 4、调试及性能分析 (11) 4.1调试与测试 (11) 4.2性能分析 (12) 5、元件清单 (13) 6、总结与思考及致谢............................... 错误!未定义书签。参考文献. (13)

相关文档
最新文档