当前位置:文档之家› 单片机综合设计实验

单片机综合设计实验

单片机综合设计实验
单片机综合设计实验

大连理工大学本科设计报告题目:基于PCF8563的时钟系统设计

课程名称:

学院(系):

专业:

班级:

学号:

学生姓名:

成绩:

2014 年7 月10 日

题目:基于PCF8563的时钟系统设计

1 设计要求

实验要求:

(1)显示两位小时、两位分钟和两位秒参数,相互之间有分隔符号;

(2)按住KEY1可显示四位年、两位月、两位日;

(3)具备整点报时功能(模拟广播电台的整点报时从59分55秒开始,每一秒驱动蜂鸣器一次,其中前5次为低频,00秒时为高频驱动);

(4)具备键盘修改时间功能。可修改小时、分钟和秒参数;

(5)修改时间时具备“回显”功能,以方便观察;

(6)输入时间参数时应具有“自动纠错”功能,以免错误数据的输入;

(7)在修改时间参数时具备“参数闪烁”功能,是操作更人性化;

2 设计分析及系统方案设计

(1)主程序算法描述

主程序中定义端口名称、围器件读写地址增强程序的可读性。设置中断服务程序入口地址,将硬件电路连接与之对应。INT_RCTDUI对应INT_0中断服务程序,INT_7290对应INT1的中断服务程序。开始时先对硬件电路进行复位操作。然后设定PCF8563T的时间和命令参数存放在单片机内部的10H~1DH单元,将其写入到8563的00H~0DH单元。使总的中断使能端有效,开INT0和INT1中断,使触发极性为下降沿。等待中断的到来。

(2)INT_RCT中断子程序算法描述

调读数据子程序,将读出的8563中02H~08H单元的内容存放于单片机内部20H~26H单元。判断时、分的数值,当时间在**-59-55至**-59-59时调用低频蜂鸣器BUZZL,当时间为**-00-00时调用高频蜂鸣器BUZZH。实现整点报时。调整时间,将20H-26H单元中内容拆分查表后送到28H~2FH (年,月,日)和38H~3FH(时,分,秒)。使P1.2控制显示内容,当P1.2=1时,显示时,分,秒;当P1.2=0时,显示年,月,日。

(3)蜂鸣器发声子程序(BUZZL和BUZZH)

设置初始值使BUZZL发声频率为500HZ,BUZZH发声频率为1500HZ。

(4)键盘修改子程序

读入进入中断前的数据,将8563的20H单元内容送入单片机内部12H单元(秒);21H单元内容送入单片机内部13H单元(分);22H单元内容送入单片机内部14H单元(时)便于修改后显示。读入输入的键值为0AH时,为A键修改小时参数。设置小时的十位闪烁命令等待按键操作,读入键值判断是否超过三,超过则报警且要求重新输入。输入正确时回显,设置小时的个位闪烁命令等待按键操作,读入键值判断个位不超过9,然后判断小时整个数是否小于24。分和秒的设置与小时类似,不同的是十位不能超过5个位不能超过9。

(5)闪烁子程序

设置入口闪烁参数单元值

3 系统电路图

4 外围接口模块硬件电路功能描述

5 主程序中主要变量定义

6 系统软件中各个子程序的功能描述

8 程序清单

SDA BIT P1.0

SCL BIT P1.1

WSLA_8563 EQU 0A2H ;PCF8563T口地址RSLA_8563 EQU 0A3H

WSLA_7290 EQU 70H ;ZLG7290B口地址RSLA_7290 EQU 71H

ORG 8000H

LJMP 8040H

ORG 8003H

LJMP INT_RCT

ORG 8013H

LJMP INT_7290

ORG 8040H

START: MOV SP,#60H

CLR P1.7 ;ZLG7290复位

LCALL DELAY

SETB P1.7

;**************************************** ;设定pdf8563tde时间和命令参数(参数和控制命令缓冲区10H-1DH)

;**************************************** MOV 10H,#00H ;启动控制字

MOV 11H,#1FH ;设置报警及定时器中断MOV 12H,#50H ;秒单元

MOV 13H,#59H ;分单元

MOV 14H,#08H ;小时单元

MOV 15H,#01H ;日期单元

MOV 16H,#01H ;星期单元

MOV 17H,#01H ;月单元

MOV 18H,#10H ;年单元

MOV 19H,#00H ;设定分报警

MOV 1AH,#00H ;设定小时报警

MOV 1BH,#00H ;设定日报警

MOV 1CH,#00H ;设定星期报警

MOV 1DH,#83H ;设定CLKOUT的频率,1秒周期方波

MOV R7,#0EH ;写入参数个数

MOV R0,#10H ;参数与控制命令缓冲区首地址

MOV R2,#00H ;从器件内部子地址

MOV R3,#WSLA_8563;准备向PCF8563T 写入数据串

LCALL WRNBYT ;写入时间,控制命令到PCF8563T

SETB EA ;启动总中断

SETB EX0 ;启动INT_RCT(INT_0)

SETB IT0 ;定时器0下降沿有效

SETB EX1 ;启动INT_7290(INT_7290)

SETB IT1 ;定时器1下降沿有效

SJMP $ ;等待中断

;**************************************** ;中断服务子程序INT_RCT

;**************************************** INT_RCT:MOV R7,#07H ;数据块字节数

MOV R0,#20H ;内部数据块首地址

MOV R2,#02H ;内部寄存器首地址

MOV R3,#WSLA_8563;向8563写地址

MOV R4,#RSLA_8563;从8563读地址

LCALL RDADD ;调读数据子程序,将读出的数据存放于单片机20H-26H中

MOV A,21H ;判断是否为59分

CJNE A,#59H,NEXT1

MOV A,20H ;判断是否为55秒

CJNE A,#55H,NEXT2

LCALL BUZZL

SJMP NEXT

NEXT2: CJNE A,#56H,NEXT3

LCALL BUZZL

SJMP NEXT

NEXT3: CJNE A,#57H,NEXT4

LCALL BUZZL

SJMP NEXT

NEXT4: CJNE A,#58H,NEXT5

LCALL BUZZL

SJMP NEXT

NEXT5: CJNE A,#59H,NEXT

LCALL BUZZL

SJMP NEXT

NEXT1: CJNE A,#00H,NEXT

MOV A,20H

CJNE A,#00H,NEXT

LCALL BUZZH

NEXT: LCALL ADJUST ;调时间调整子程序LCALL CHAIFEN ;调拆分子程序,将20H-26H中的参数分别存28H-2FH,38H-3FH中MOV R7,#08H

MOV R2,#10H

MOV R3,#WSLA_7290

JNB P1.2,YEARS ;使用P1.2控制显示内容

MOV R0,#38H ;显示时分秒

SJMP DISP

YEARS: MOV R0,#28H ;显示年月日DISP: LCALL WRNBYT ;调7290显示子程序JNB P3.2,$

RETI

;**************************************** ;BUZZ

;**************************************** BUZZL: PUSH 07H

MOV TMOD,#01H ;方式1

MOV TL0,#66H ;低频500HZ

MOV TH0,#0FCH

MOV R7,#50

SETB TR0

LOOPL: JNB TF0,$

CLR TF0

MOV TL0,#66H

MOV TH0,#0FCH

CPL P3.4 ;驱动蜂鸣器

DJNZ R7,LOOPL

SETB P3.4

POP 07H

RET

BUZZH: PUSH 07H

MOV TMOD,#01H

MOV TL0,#0CDH ;高频1500HZ

MOV TH0,#0FEH

MOV R7,#100

SETB TR0

LOOPH: JNB TF0,$

CLR TF0

MOV TL0,#0CDH

MOV TH0,#0FEH

CPL P3.4 ;驱动蜂鸣器

DJNZ R7,LOOPH

SETB P3.4

POP 07H

RET

;**************************************** ;键盘修改中断服务程序INT_7290

;**************************************** INT_7290:PUSH 00H

PUSH 02H

PUSH 03H

PUSH 04H

PUSH 07H

PUSH ACC

PUSH PSW

MOV R7,#07H ;写入参数个数

MOV R0,#20H ;参数和控制命令缓冲区首地址

MOV R2,#02H ;从器件内部从地址

MOV R3,#WSLA_8563;准备向8563写入数据串

MOV R4,#RSLA_8563;准备从8563读取数据串

LCALL RDADD

MOV 12H,20H ;写入秒单元

MOV 13H,21H ;写入分单元

MOV 14H,22H ;写入时单元

RE: JB P3.3,$ ;以查询方式等待下一次按键LCALL RDKEY ;读取键值

CJNE A,#0AH,BKEY;判断是否为A键AKEY: MOV 51H,#80H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#03H,HOUR1;判断键入的数是否满足小时十位的要求

HOUR1: JNC ERROR1;若键值大于2,则报错SW AP A;将键值处理成小时数据的十位

ANL 14H,#0FH

ORL 14H,A ;小时数据的十位生成

LCALL WR8563 ;写入8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3FH,R4 ;回显

MOV R7,#01H

MOV R0,#3FH

MOV R2,#17H

MOV R3,#WSLA_7290

LCALL WRNBYT

LJMP HOUR2

ERROR1: LCALL BUZZH;报错,返回重新键入LJMP AKEY

HOUR2: MOV 51H,#40H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#0AH,STEP1;判断键值是否满足小时个位的要求(小于10)

STEP1:JNC ERROR2

ANL 14H,#0F0H

ORL 14H,A

MOV A,14H

CJNE A,#24H,JJJ;判断小时的值是否满足要求(小于24)

JJJ: JNC ERROR2

LCALL WR8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3EH,R3 ;回显

MOV R7,#01H

MOV R0,#3EH

MOV R2,#16H

MOV R3,#WSLA_7290

LCALL WRNBYT

MOV 51H,#00H ;停止闪烁

LCALL FLASH

LJMP DOWN

ERROR2: LCALL BUZZH

LJMP HOUR2

BKEY: CJNE A,#0BH,CKEY

MOV 51H,#10H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#06H,MIN1

MIN1: JNC ERROR3

SWAP A

ANL 13H,#0FH

ORL 13H,A

LCALL WR8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3CH,R4 ;回显

MOV R7,#01H

MOV R0,#3CH

MOV R2,#14H

MOV R3,#WSLA_7290

LCALL WRNBYT

LJMP MIN2

ERROR3: LCALL BUZZH

LJMP BKEY

MIN2: MOV 51H,#08H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#0AH,STEP2

STEP2: JNC ERROR4

ANL 13H,#0F0H

ORL 13H,A

LCALL WR8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 3BH,R3 ;回显

MOV R7,#01H

MOV R0,#3BH

MOV R2,#13H

MOV R3,#WSLA_7290

LCALL WRNBYT

MOV 51H,#00H

LCALL FLASH

LJMP DOWN

ERROR4: LCALL BUZZH

LJMP MIN2

CKEY: CJNE A,#0CH,ERROR

MOV 51H,#02H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#06H,SEC1

SEC1: JNC ERROR5

SWAP A

ANL 12H,#0FH

ORL 12H,A

LCALL WR8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 39H,R4 ;回显

MOV R7,#01H

MOV R0,#39H

MOV R2,#11H

MOV R3,#WSLA_7290

LCALL WRNBYT

LJMP SEC2

ERROR5: LCALL BUZZH

LJMP CKEY

SEC2: MOV 51H,#01H

LCALL FLASH

JB P3.3,$

LCALL RDKEY

CJNE A,#0AH,STEP3

STEP3: JNC ERROR6

ANL 12H,#0F0H

ORL 12H,A

LCALL WR8563

LCALL CF ;拆分,查表,R4(H),R3(L) MOV 38H,R3 ;回显

MOV R7,#01H

MOV R0,#38H

MOV R2,#10H

MOV R3,#WSLA_7290

LCALL WRNBYT

MOV 51H,#00H

LCALL FLASH

LJMP DOWN

ERROR6: LCALL BUZZH

LJMP SEC2

ERROR: LCALL BUZZH ;若键入数不为A、B、C中的一个,则报错

LCALL DELAY

LCALL BUZZL

DOWN: CLR IE1

CLR IE0

POP PSW

POP ACC

POP 07H

POP 04H

POP 03H

POP 02H

POP 00H

RETI

;**************************************** ;读键值子程序(出口参数累加器A——获取到的键值)

;**************************************** RDKEY: MOV R0,#1FH

MOV R7,#01H

MOV R2,#01H

MOV R3,#WSLA_7290

MOV R4,#RSLA_7290

LCALL RDADD

MOV A,1FH

DEC A

RET

;**************************************** ;向日历芯片写入时间参数子程序

;将RAM的10H-1DH中的时间参数(含控制字)写入芯片的00H-0DH单元

;**************************************** WR8563: MOV R7,#0EH

MOV R0,#10H

MOV R2,#00H

MOV R3,#WSLA_8563

LCALL WRNBYT

RET

;**************************************** ;闪烁子程序

;**************************************** FLASH: PUSH 00H

PUSH 02H

PUSH 03H

PUSH 07H

MOV 50H,#70H

MOV R7,#02H

MOV R0,#50H

MOV R2,#07H

MOV R3,#WSLA_7290

LCALL WRNBYT

POP 07H

POP 03H

POP 02H

POP 00H

RET

;**************************************** ;各子程序

;**************************************** CHAIFEN:PUSH PSW

PUSH ACC

PUSH 03H

PUSH 04H

MOV A,20H

LCALL CF

MOV 38H,R3

MOV 39H,R4

MOV 3AH,#02H

MOV A,21H

LCALL CF

MOV 3BH,R3

MOV 3CH,R4

MOV 3DH,#02H

MOV A,22H

LCALL CF

MOV 3EH,R3

MOV 3FH,R4

MOV A,23H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 28H,R3

MOV 29H,R4

MOV A,25H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 2AH,R3

MOV 2BH,R4

MOV A,26H

LCALL CF

MOV A,R3

ORL A,#01H

MOV R3,A

MOV 2CH,R3

MOV 2DH,R4

MOV 2EH,#0FCH

MOV 2FH,#0DAH

POP 04H

POP 03H

POP ACC

POP PSW

RET

CF: PUSH 02H

PUSH DPH

PUSH DPL

MOV DPTR,#LEDSEG

MOV R2,A

ANL A,#0FH

MOVC A,@A+DPTR

MOV R3,A

MOV A,R2

SWAP A

ANL A,#0FH

MOVC A,@A+DPTR

MOV R4,A

POP DPL

POP DPH

POP 02H

RET

LEDSEG:DB

0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E4H DB

0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,8EH

;**************************************** ;将20H-26H中从PCF8563T中读出的7个字节参数的无关位屏蔽掉

;**************************************** ADJUST: PUSH ACC

MOV A,20H

ANL A,#7FH

MOV 20H,A

MOV A,21H

ANL A,#7FH

MOV 21H,A

MOV A,22H

ANL A,#3FH

MOV 22H,A

MOV A,23H

ANL A,#3FH

MOV 23H,A

MOV A,24H

ANL A,#07H

MOV 24H,A

MOV A,25H

ANL A,#1FH

MOV 25H,A

POP ACC

RET

;**************************************** ;延时子程序

;**************************************** DELAY: PUSH 00H

PUSH 01H

MOV R0,#00H

DELAY1: MOV R1,#01H

DJNZ R1,$

DJNZ R0,DELAY1

POP 01H

POP 00H

RET

;**************************************** ;I2C子程序

;**************************************** END

9 系统调试运行结果说明、分析所出现得问题,设计体会与建议

硬件环境:DP-51PROC单片机综合仿真实验台,TKSMonitor51仿真器。

软件环境:PC及Keil软件。

结果说明:可通过8563日历显示芯片将时间显示在数码管上,按KEY1键可显示日期,按A、B、C键可分别改变时、分、秒,按错键时会有警告音提醒并要求重新输入。可进行整点报时。

调试中出现的问题及解决方法:

(1)显示两位小时、两位分钟和两位秒参数,相互之间有分隔符号功能:在该环节中,利用书上的参考程序,实现每1s进入一次中断实现读取时间参数,并进行拆分显示等操作。最后能够在数码管上显示出初始设置的时间,当按下key1键时可以显示初始设置的日期。

(2)整点报时功能:设置两个驱动蜂鸣器发声的子程序,一个发声频率为500HZ,另外一个为1500HZ。成功实现了当时间为59分55秒~59分59秒时以500HZ的频率发声,时间为整点时以1500HZ的频率发声

(3)键盘修改时间功能:这部分程序是整个程序的难点,修改的过程为从8563读取数据存入单片机,在单片机内修改后存回8563,并写入7290回显。我参照书上的程序写了A键基本的框架,发现修改完成后需要写入8563才能成功在数码管上显示,还需考虑键入值是否符合要求,比如小时十位不能大于2,小时不能大于24等等,能成功键入后,我又相继添加了新的功能,比如输入错误时进行错误提醒,并要求重新输入,原本还想加入确认键,尝试了之后发现特别复杂,而且不加确认键也能很好的实现功能,就放弃了。最后一点是修改时响应位闪烁,修改完成后停止闪烁,退出该中断。

(4)回显功能:将值写入7290回显,参考教材上与之前实验的程序,实现起来没有太大问题。(5)自动纠错功能:自动纠错环节我设置的功能是实现输入错误时间时蜂鸣器报警并要求重新输入。(6)参数闪烁功能:这部分我设置了闪烁子程序,每次调用之前都设置不同的入口参数,实现调整哪一位参数时哪一位的参数的数码闪烁的功能。

6 结论及设计体会

通过本次试验我学会了利用单片机设计时钟日历系统。

参照参考程序,可实现利用8563和7290显示两位小时、两位分钟和两位秒参数,相互之间有分隔符号的功能。我先加入了整点报时功能,在显示子程序中判断时间是否为59-55到00-00,若是,则调用BUZZL或BUZZH。这部分没有太大的难度,但我一开始怎么都运行不了,后来请教老师,老师发现在拆分程序开头我我加了ORG8300H,超出程序范围,修改之后程序立刻就好用了。实现了之后,我开始添加键盘修改时间功能。一开始没有什么思路,一边请教同学,一遍编程序。首先读取键值,判断是否为A、B、C或其他,这是大体方向,接下来具体写A键,首先需要闪烁,然后读取键值,判断是否符合小时十位的要求,若符合,则需处理,这部分可参考示例程序,处理完后需要写入8563,否则修改完后不能显示到数码管上,接着要进行拆分回显、取消闪烁。写完这一段之后,写个位就简单多了,流程大致相同,但是要判断输入个位后小时的大小是否小于24,否则不符合要求。B、C键都类似,差别仅在输入键值后的判断,分、秒的十位都不能大于5,个位都不能大于9。加入闪烁功能也没有太大问题,只要写好7290的闪烁命令字就行了。至此,整个程序大致完成。

本次试验我发现学会调程序非常重要,学会加断点,学会分步调试,很多错误光用看的根本看不出来。比如有时候程序运行不了,分布运行发现到哪一步之后程序就飞了,继续运行不了。比如没有关中断,程序返回不了,需要加断点分布运行,我才能知道哪一步出现了问题。

参考文献

MCS-51单片机应用实验教程,陈育斌著

单片机实验内容

实验一P1口输入输出实验、继电器控制、音频控制 一、实验目的: 1.学习I/O端口的使用方法 2.掌握继电器控制的基本方法,了解用弱点控制强电的工作原理 3.学习单片机汇编语言源程序的编制方法和调试方法,学习延时子程序的编写和使用 4.了解音频发声原理 二、实验要求: 1.P1口做输出口,接8只发光二极管,编写程序使发光二极管循环点亮。 2.P1.0、P1.1作输入口,接两个拨动开关,P1.2、P1.3作输出口接两个发光二极管,编程 读取开关状态,并在二极管上显示出来。 3.利用单片机的端口,输出电平控制继电器的吸合和断开,实现对外部装置的控制。 4.用端口输出不同频率的脉冲,控制喇叭发出不同音调。 5.用P1.0和延时子程序实现占空比可调的PWM电压波形。 三、实验说明: 1. P1口用为输入口时,必须先对它置“1”才能正确读入数据。 2. 继电器可以实现电子电路和电气电路的连接桥梁。其控制电压是5V,控制端为高电平时继电器的工作常开触点吸合,电气线路连接;控制端为低电平时,触点断开,电气线路切断。 3. 声音的频率由端口输出时延时时长来控制,输出的方波经放大滤波后驱动扬声器发声。 4. PWM是脉宽调制电压信号,可以通过占空比(脉冲中高电平与低电平的宽度比)来输出可调模拟电压,是单片机上常用的模拟量输出方法。例如50%(5:5),10%(1:9),90%(9:1)占空比。 四、实验思考题: 将1位十六进制数存放在40H单元中,利用查表法将其转换为相应的ASCII码 实验二外部中断实验 一、实验目的: 1.学习外部中断技术的基本使用方法 2.学习中断处理程序的编程方法 二、实验要求: 1.用单次脉冲申请中断INT0,在中断处理程序中对输出信号进行反转。 2.用单次脉冲申请中断INT1,在中断处理程序中实现8个小灯左移点亮1次。 三、实验思考题: 1. 相应中断请求的条件是什么? 2. 写出同级中断的查询优先次序。

51单片机综合实验交通灯设计报告

51单片机综合实验交通灯设计报告 班级: 学生姓名: 学号: 指导教师:

一实验题目 交通灯控制系统设计 二实验目的 1、学会用8051单片机开发简单的计算机控制系统; 2、学会用汇编语言和C语言开发系统软件; 3、学会8051单片机开发环境wave或Keil uVision3软件的使用; 4、学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真; 5、学会Protel软件的使用方法,会用Protel绘制电气原理图和印制板图; 6、熟悉七位数码管显示的使用方法; 7、了解交通灯控制系统的基本组成。 三实验要求 交通灯处在十字路口上。它有红﹑黄﹑绿三种颜色的灯组成。红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换。下面拿东西南北四个方向来说明。当东西方向允许行车(或者左转)的时候,南北方向就禁止行车,即此时东西方向的绿灯亮红灯灭,而南北方向的绿灯灭红灯亮。反之当南北方向允许行车(或者左转)的时候,东西方向就禁止行车,即此时南北方向的绿灯亮红灯灭,而东西方向的绿灯灭红灯亮。交通灯配置示意图如图1所示。同时当有特殊的情况发生时,能手动控制各个方向的信号灯。设计任务就是将这一电路用单片机来实现具体的控制。

1 十字路口交通灯配置示意图 四 设计内容与原理 为了在后面的分析中便于说明,将南北方向允许直行命名为状态1,南北方向允许左转命名为状态2,南北方向行车到东西方向行车的转换阶段命名为状态3,将东西方向允许直行命名为状态4,东西方向允许左转命名为状态5,东西方向行车到南北方向方向行车的转换阶段命名为状态6。 假定直行绿灯点亮的时间为25s ,左转绿灯点亮的时间为20s ,黄灯点亮的时间为5s ,则对方红灯的点亮时间为50秒。黄灯每隔500ms 亮一次,之后灭500ms (亮灭一次叫作闪烁一次),一共闪烁5次,持续5s 。各个状态之间的变换情况如下: 具体显示周期如下:

单片机课程设计报告实验报告

课程设计报告 学号: 1328403028 姓名:张帅华 班级: 13电子信息工程指导老师:邓晶 苏州大学电子信息学院 2016年4月

摘要 随着时代的进步和发展,单片机技术已经成为一种比较成熟的技术,普及到我们生活、工作、科研等各个领域。本次课程设计包含四个基于STC89C52单片机的设计,分别是:基于单总线数字式温度传感器DS18b20的数字温度计的设计;基于2K位串行CMOS 的EEPROM AT24C02的数字密码锁的设计;基于SPI接口实时时钟芯片DS1302的电子日历的设计以及基于无线收发芯片nrf24L01的简单无线通讯系统的设计。 关键词:单片机 DS18B20 AT24C02 DS1302 NRF24L01

目录 摘要 (1) 目录 (2) 第1章基于DS18B20的数字温度计设计 (3) 1.1 设计要求 (3) 1.2 系统组成 (3) 1.3 系统设计 (3) 1.3.1 硬件设计 (3) 1.3.2软件设计 (4) 1.4 设计结果 (6) 第2章基于AT24C02的电子密码锁设计 (7) 2.1 设计要求 (7) 2.2 系统组成 (7) 2.3 系统设计 (8) 2.3.1 硬件设计 (8) 2.3.2 软件设计 (9) 2.4 设计结果 (9) 第3章基于DS1302的电子日历的设计 (11) 3.1 系统功能 (11) 3.2 系统组成 (11) 3.3 系统设计 (11) 3.3.1 硬件设计 (11) 3.3.2 软件设计 (13) 3.4 设计结果 (14) 第4章基于NRF24L01的无线通信系统的设计 (15) 4.1 系统功能 (15) 4.2 系统组成 (15) 4.3 系统设计 (15) 4.3.1 硬件设计 (15) 4.3.2 软件设计 (16) 4.4 设计结果 (16) 总结 (17)

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

哈尔滨远东理工学院 课题名称 专业班级 学号 学生姓名 指导教师 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) 实现绿波带。所谓‘绿波带’,是指在一定路段,只要按照规定时速,就能一路绿灯畅行无阻。“绿波带”将根据道路车辆行驶的速度和路口间的距离,自动设置信号灯的点亮时间差,以保证车辆从遇到第一个绿灯开始,只要按照规定速度行驶,之后遇到的信号灯将全是绿灯。

单片机实验板详细步骤--原理图设计部分

单片机实验板 单片机是电子工程师的基本技能之一,单片机实验板是学习单片机的必备工具之一。通过层次原理图的设计方法,以单片机实验板设计实例介绍Protel DXP的原理图到PCB设计的整个过程。 一、一款单片机实验板简介 经典单片机实验板 单片系统包括MCU组成的最小系统、各种功能的外围电路及接口。 1、89C52单片机。 2、6位数码管(做动态扫描及静态显示实验)。 3、8位LED发光二极管(做流水灯实验)。 4、MAX232芯片RS232通讯接口(可以做为与计算机通迅的接口同时也可做为单片机下载程序的接口)。 5、USB供电系统,直接插接到电脑USB口即可提供电源,不需另接直流电源。 6、蜂鸣器(做单片机发声实验)。 7、ADC0804芯片(做模数转换实验)。 8、DAC0832芯片(做数模转换实验)

9、PDIUSBD12芯片(USB设备开发,如单片机读写U盘,自制U盘,自制MP3等,还可通过此芯片让计算机与单片机传输数据)。 10、USB转串口模块,直接由计算机USB口下载程序至单片机。 11、DS18B20温度传感器,(初步掌握单片机操作后即可亲自编写程序获知当时的温度)。 12、AT24C02外部EEPROM芯片(IIC总线元件实验) 13、字符液晶1602接口。(可显示两行字符) 14、图形液晶12864接口(可显示任意汉字及图形) 15、4*4矩阵键盘另加四个独立键盘(键盘检测试验)。 二、设计任务 采用自底向上(Bottom up)的层次原理图方法绘制单片机实验板原理图及PCB。本实验板主要有CPU部分、电源部分(Power)、串口通信(RS232)部分、数码显示(LED)部分、继电器(Relay)部分、其它(misc)各部分。 同时,通过层次原理图的绘制掌握原理图绘制的众多技巧。 单片机原理图总图 三、子图绘制 下面开始各原理子图的绘制。如【单片机实验板工程】所示,建立单片机实验板工程,建立各个原理图,并把库文件加载到工程里。

单片机实验报告书

并行I/O接口实验 一、实验目的 熟悉掌握单片机并行I/O接口输入和输出的应用方法。 二、实验设备及器件 个人计算机1台,装载了Keil C51集成开发环境软件。https://www.doczj.com/doc/ca6261395.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (1)P1口做输出口,接八只发光二极管,编写程序,使发光二极管延时(0.5-1秒)循环点亮。实验原理图如图3.2-1所示。 图3.2-1单片机并行输出原理图 实验程序及仿真 ORG 0000H LJMP START ORG 0100H START:MOV R2,#8 MOV A,#0FEH LOOP:MOV P1,A LCALL DELAY RL A

DJNZ R2,LOOP LJMP START DELAY:MOV R5,#20 D1:MOV R6,#20 D2:MOV R7,#248 D3:DJNZ R7,D3 DJNZ R6,D2 DJNZ R5,D1 RET END 中断实验 一、实验目的 熟悉并掌握单片机中断系统的使用方法,包括初始化方法和中断服务程序的编写方法。 二、实验设备及器件

个人计算机1台,装载了Keil C51集成开发环境软件。 https://www.doczj.com/doc/ca6261395.html,单片机仿真器、编程器、实验仪三合一综合开发平台1台。 三、实验内容 (2)用P1口输出控制8个发光二极管LED1~LED8,实现未中断前8个LED闪烁,响应中断时循环点亮。 实验程序及仿真 ORG 0000H LJMP MAIN ORG 0003H LJMP INT00 ORG 0010H MAIN: A1:MOV A,#00H MOV P1,A MOV A,#0FFH MOV P1,A SETB EX0 JB P3.2,B1 SETB IT0 SJMP C1 B1:CLR IT0 C1:SETB EA NOP SJMP A1 INT00:PUSH Acc PUSH PSW MOV R2,#8 MOV A,#0FEH LOOP: MOV P1,A LCALL DELAY RL A DJNZ R2,LOOP

单片机综合性实验项目设计及实践教学研究

. 单片机综合性实验项目设计与实践教学研究 【摘要】本文分析了综合性实验项目设计课程的作用和特点。以中等职业学校单片机课程实践教学为例,对于如何充分发挥综合性实验项目设计课程的作用进行一些分析和探讨,提出了几点看法和意见。 【关键词】单片机,综合性实验,项目设计 综合性实验项目设计课程一般作为职业学校高年级的专业课中所设置的一个重要的教学环节,也有一些学校不开设综合性实验项目,而是直接以最后的毕业设计来取代。然而综合性项目设计课程本身对于专业课教学来说具有重要的价值,它的作用不容忽视。如果教学计划安排合理,教师指导适度,那么综合性项目设计课程完全可以大有作为。本文以中等职业学校单片机课程教学为例,对于如何充分发挥综合性实验项目设计课程的作用进行一些分析和探讨。 一、职业学校的单片机专业课教学现状分析 职业教育是以就业为导向的,其人才培养的特殊性不同于普通教育。中等职业学校的单片机学科的教学也不同于其他学科教学,由于单片机目前被广泛应用在工业自动化控制,具有广泛的市场需求和重要的实用价值,在教学上不仅要培养学生扎实的理论基础知识,更应注意学生动手、创新能力的培养,所以必须突出教学过程中的实践教学。 综合性实验项目设计课程是单片机教学中的重要环节,但是在过去的实践中,由于种种原因,它的作用往往得不到充分发挥。在传统的教学思想和方

法引导下,存在对单片机实践教学的“轻视性”。比如,反映到对学生学习的评价上,以学生理论学习的考试成绩作为衡量标准,因而常常出现“高分低能”现象。这种评价体系造就不少教师和学生对实践环节的轻视心理,往往就会在课程安排、在教与学的过程等各个方面导致理论与实践的脱节,而综合性实验项目设计这一原本可以在学生实践综合能力训练方面发挥重要作用的教学环节,更是难以得到落实和充分利用。 重视理论学习,可使学生系统掌握知识体系结构,本无可厚非,但是当前中等职业学校不能再以学历为导向,而是以市场、就业为导向,各个用工单位着重于考察学生的动手操作等实践能力,从近年的就业形势上明显看到这一点。 中职类学校的生源普遍存在缺乏自信心,纪律涣散,思想上不求上进,知识基础薄弱、学习积极性低甚至厌学情况严重等问题,面对有相当难度的单片机课程,他们当中很多人无所适从。而单纯的理论知识灌输,可能只会使学生增加厌学情绪,而不能较好地掌握实际技能,所以在单片机实践教学改革方面十分值得探讨。要改变这样的现状,不仅仅要求教师具备较强的专业应用能力,关键是要根据学生特点在教学上采取行之有效的好方法。 二、综合性实验项目设计的定位 类似毕业设计,综合性实验项目设计课程要求学生在一段时间内,在占用较多课时的情况下,完成覆盖多门专业课程知识的综合性设计课题,从而有机整合自己的专业知识,培养并提高自己的综合实践能力。综合性实验项目不可能像毕业设计题目一样让学生有充分的时间对大量的新知识、新理论进行资料收集和分析消化。所以,在设计题目时要立足于对学生已有理论知识的综合和应用,适当加入一些新的相关知识,锻炼学生的学习能力;同时

单片机课程设计51实验报告DOC

福建工程学院软件学院 题目:51开发洗衣机 班级:物联网工程1202 成员: 座号:04 28 指导老师: 日期:年月日课设报告

目录 1摘要 (1) 2.设计需求 (1) 2.1功能需求 (1) 2.1.1 基本功能 (1) 2.1.2扩展功能 (1) 2.2 设计要求 (2) 2.2.1 单片机芯片部件功能 (2) 2.2.2 LCD数码显示管部件功能 (2) 2.2.3 按键部件功能 (2) 2.2.4 蜂鸣器部件功能 (2) 3硬件设计及描述 (2) 3.1总体描述 (2) 3.2系统总体框图 (3) 3.3Proteus电路图 (3) 3.4各部分硬件介绍 (4) 3.4.1晶振Protues仿真 (4) 3.4.2LCDProtues仿真 (5) 3.4.3 按键Protues仿真 (5) 3.4.4上拉电阻Protues仿真 (6) 3.4.5C51芯片Protues仿真 (6) 3.4.6上电复位电路Protues仿真 (8) 3.4.7蜂鸣器Protues仿真 (9) 4 软件设计流程及描述 (10) 4.1程序流程图 (10) 4.2函数模块及功能 (10) 5功能实现 (11) 5.1程序烧入上电调试 (11) 5.2时间递增跳变 (12) 5.3比分更变 (13) 5.4比赛得分复位 (14) 5.5比赛时间复位 (14) 6 心得体会 (15) 7源程序代码: (16)

1摘要 是为了方便足球比赛时计时与计分及时与准确公开而引申出的实用产品。在此设计中接入了一个1602液晶显示屏,第一行用来记录赛程的时间,第二行用于显示比赛的得分情况。赛程计时用倒计时来计时。在比赛结束时按下相应按键蜂鸣器会响起,提醒比赛时间结束。 这次试验运用C语言进行编程,编程后利用Keil uVision来进行编译,再生成.hex文件装入芯片中,采用Proteus软件来仿真,检验功能是否能够正常实现,最后利用单片机MCS-51实机来实现功能。 本设计以AT89S51单片机作为核心,综合应用单片机定时器、中断、LCD1602 液晶显示等知识,设计一款单片机和简单外设控制的足球计分器应用,同时显示当前的比赛进行时间,比赛队伍,比分状况。 2.设计需求 2.1功能需求 2.1.1 基本功能 (1)屏上显示比赛已运行时间 (2)屏上显示A队和B队的得分 (3)屏上显示上下半场(H-L) (4)通过按键控制比分的增减 2.1.2扩展功能 (1)按键实现比赛场次的更换 (2)按键实现比赛计时的复位 (3)按键实现比赛比分的复位 (4)在比赛结束时,蜂鸣器在主裁判的控制下响起

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

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

单片机综合实验报告51电子时钟

一、实验内容: 设计一个数字时钟,显示范围为00:00:00~23:59:59。通过5个开关进行控制,其中开关K1用于切换时间设置(调节时钟)和时钟运行(正常运行)状态;开关K2用于切换修改时、分、秒数值;开关K3用于使相应数值加1调节;开关K4用于减1调节;开关K5用于设定闹钟,闹钟同样可以设定初值,并且设定好后到时间通过蜂鸣器发声作为闹铃。 选做增加项目:还可增加秒表功能(精确到0.01s)或年月日设定功能。 二、实验电路及功能说明 1602显示器电路(不需接线) 电子音响电路 按键说明: 按键键名功能说明 K1 切换键进入设定状态 K2 校时依次进入闹钟功能是否启用,闹钟时,分秒, 年,月,日及时间时,分,秒的设置,直到退出 设置状态 K3 加1键调整是否起用闹钟和调节闹钟时,分,秒, 年,月,日,时间的时,分,秒的数字三、实验程序流程图:

四、实验结果分析 定时程序设计: 单片机的定时功能也是通过计数器的计数来实现的,此时的计数脉冲来自单片机的内部,即每个机器周期产生一个计数脉冲,也就是每经过1个机器周期的时间,计数器加1。如果MCS-51采用的12MHz晶体,则计数频率为1MHz,即每过1us的时间计数器加1。这样可以根据计数值计算出定时时间,也可以根据定时时间的要求计算出计数器的初值。MCS-51单片机的定时器/计数器具有4种工作方式,其控制字均在相应的特殊功能寄存器中,通过对特殊功能寄存器的编程,可以方便的选择定时器/

计数器两种工作模式和4种工作方式。 定时器/计数器工作在方式0时,为13位的计数器,由TLX(X=0、1)的低5位和THX的高8位所构成。TLX低5位溢出则向THX进位,THX计数溢出则置位TCON中的溢出标志位TFX. 当定时器/计数器工作于方式1,为16位的计数器。本设计师单片机多功能定时器,所以MCS-51内部的定时器/计数器被选定为定时器工作模式,计数输入信号是内部时钟脉冲,每个机器周期产生一个脉冲使计数器增1。 实时时钟实现的基本方法: 这次设计通过对单片机的学习、应用,以A T89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它主要通过51单片机综合仿真实验仪实现,通过1602能够准确显示时间,调整时间,它的计时周期为24小时,从而到达学习、设计、开发软、硬件的能力。主要实现功能为显示时间,时间校准调时(采用手动按键调时),闹铃功能(设置定时时间,到点后闹铃发出响声)。通过键盘可以进行校时、定时。闹铃功能使用I/O 口定时翻转电平驱动的无源蜂鸣器。本文主要介绍了工作原理及调试实现。 四个按键K1、K2、K3、K4、一个蜂鸣器。 1602显示时钟、跑表。 时钟的最小计时单位是秒,但使用定时器的方式1,最大的定时时间也只能达到131ms。我们可把定时器的定时时间定为50ms。这样,计数溢出20次即可得到时钟的最小计时单位:秒。而计数20次可以用软件实现。 秒计时是采用中断方式进行溢出次数的累积,计满20次,即得到秒计时。从秒到分,从分到时是通过软件累加并进行比较的方法来实现的。要求每满1秒,则“秒”单元中的内容加1;“秒”单元满60,则“分”单元中的内容加1;“分”单元满60,则“时”单元中的内容加1;“时”单元满24,则将时、分、秒的内容全部清零。 实时时钟程序设计步骤: 先对系统进行初始化,如:LCD1602初始化,DS1302初始化等,然后才能进入主显示模块,即可在LCD1602上看到相应的信息。对于LCD1602的初始化,主要是对开启显示屏,清屏,设置显示初始行等操作。DS1302的初始化主要是先开启写功能,然后写入一个初始值。 本系统采用的是LCD1602液晶显示器,由于其是本身带有驱动模块的液晶屏,所以对于LCD1602操作程序可分为开显示、设置显示初始行、写数据和清屏等部分。LCD1602的写命令程序和写数据程序分别以子程序的形式写在程序里,以便主程序中的调用。 (1)选择工作方式,计算初值; (2)采用中断方式进行溢出次数累计; (3)计时是通过累加和数值比较实现的; (4)时钟显示缓冲区:时钟时间在方位数码管上进行显示,为此在内部RAM中要设置显示缓冲区,共6个地址单元。显示缓冲区从左到右依次存放时、分、秒数值; (5)主程序:主要进行定时器/计数器的初始化编程,然后反复调用显示子程序的方法等待中断的到来; (6)中断服务程序:进行计时操作; (7)加1子程序:用于完成对时、分、秒的加操作,中断服务程序在秒、分、时加1时共有三种条调用加1子程序,包括三项内容:合字、加1并进行十进制调整、分字。 程序说明: 按K1按键进入设定状态 按K2,依次进入闹钟功能是否启用,闹钟时,分秒,年,月,日及时间时,分,秒的设置,直到退出设置状态按K3,调整是否起用闹钟和调节闹钟时,分,秒,年,月,日,时间的时,分,秒的数字 LCD第二排中间显示小喇叭,表示启用闹钟功能,无则禁止闹钟功能(可在调整状态进行设置)正常状态,LCD上排最前面显示自定义字符,LCD下排最前面闪动"_" 设置状态,LCD上排最前面显示"P",下排最前面在设置闹钟时间时显示"alarm_",其它状态显示

单片机电子时钟课程设计实验报告

单片机电子时钟课程设 计实验报告 Pleasure Group Office【T985AB-B866SYT-B182C-BS682T-STT18】

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号: 班级:自动化1211 指导老师:阮海容 目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路 PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。 3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位 (例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。

单片机课程设计报告

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

单片机综合实验报告

单片机综合实验 实验报告 学院计算机与电子信息学院 专业电子信息工程班级 姓名学号 实验题目基于单片机控制的步进电机控制器 系统环境 Proteus 指导教师 实验时间 2014年10月27日至 2014年10月31日 实验报告评分:_______

基于单片机控制的步进电机控制器 摘要:本设计通过STC89C52单片机对步进电机进行控制,主要介绍了步进电机控制器,驱动电路和红外遥控电路的设计,实现了步进电机的控制。具有以下功能:1,通过红外遥控,分别使电机实现顺时针和逆时针旋转;2电机可以进行加速和减速旋转;该系统具有成本低,控制方便的特点。 关键词:电子线路单片机步进电机红外遥控 1 引言 步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。步进电机可分为反应式步进电机、永磁式步进电机和混合式步进电机。步进电机区别于其他控制电机的最大特点是,它是通过输入脉冲信号来进行控制的,即电机的总转动角度由输入脉冲数决定,而电机的转速由脉冲信号频率决定。它具有高精度的定位、位置及速度控制、具定位保持力、动作灵敏、开回路控制不必依赖传感器定位、中低速时具备高转矩、高信赖性、小型、高功率等特征,使其具有广泛的应用。红外线遥控是目前使用很广泛的一种通信和遥控技术。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可以而且能有效地隔离电气干扰。结合红外遥控技术的步进电机控制器具有方便、可移动控制等特点。 2 步进电机的指标术语 2.1 步进电机的静态指标术语相数 产生不同对极N、S磁场的激磁线圈对数。常用m表示。拍数:完成一个磁场周期性变化所需脉冲数或导电状态用n表示,或指电机转过一个齿距角所需脉冲数,以四相电机为例,有四相四拍运行方式即AB-BC-CD-DA-AB,四相八拍运行方式即 A-AB-B-BC-C-CD-D-DA-A.步距角:对应一个脉冲信号,电机转子转过的角位移用θ表示。θ=360度(转子齿数J*运行拍数),以常规二、四相,转子齿为50齿电机为例。四拍运行时步距角为θ=360度/(50*4)=1.8度(俗称整步),八拍运行时步距角为θ=360度/(50*8)=0.9度(俗称半步)。定位转矩:电机在不通电状态下,电机转子自身的锁定力矩(由磁场齿形的谐波以及机械误差造成的)静转矩:电机在额定静态电作用下,电机不作旋转运动时,电机转轴的锁定力矩。此力矩是衡量电机体积(几何尺寸)的标准,与驱动电压及驱动电源等无关。虽然静转矩与电磁激磁安匝数成正比,与定齿转子间的气隙有关,但过份采用减小气隙,增加激磁安匝来提高静力矩是不可取的,这样会造成电机的发热及机械噪音。 2.2 步进电机动态指标及术语 1、步距角精度:步进电机每转过一个步距角的实际值与理论值的误差。用百分比表示:误差/步距角*100%。不同运行拍数其值不同,四拍运行时应在5%之内,八拍运行时应在15%以内。 2、失步:电机运转时运转的步数,不等于理论上的步数。称之为失步。 3、失调角:转子齿轴线偏移定子齿轴线的角度,电机运转必存在失调角,由失调角产生的误差,采用细分驱动是不能解决的。 4、最大空载起动频率:电机在某种驱动形式、电压及额定电流下,在不加负载的情况下,能够直接起动的最大频率。 5、最大空载的运行频率:电机在某种驱动形式,电压及额定电流下,电机不带负载的最高转速频率。 6、运行矩频特性:电机在某种测试条件下测得运行中输出力矩与频率关系的曲线称为运行矩频特性,这是电机诸多动态曲线中最重要的,也是电机选择的根本依据。

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

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)附录 实验上机调试内容
注:此任务书由指导教师在课程设计前填写,发给学生做为本门课程设计 的依据。

单片机课程设计报告模板

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

单片机实验报告

本科生实验报告 实验课程单片机原理及应用 学院名称核技术与自动化工程学院 专业名称电气工程及其自动化 学生姓名 学生学号 指导教师任家富 实验地点6C902 实验成绩 二〇一五年三月二〇一五年六月 单片机最小系统设计及应用 摘要 目前,单片机以其高可靠性,在工业控制系统、数据采集系统、智能化仪器仪表等领域得到极其广泛的应用。因此对于在校的大学生熟练的掌握和使用单片机是具有深远的意义。通过本次课程设计掌握单片机硬件和软件方面的知识,更深入的了解单片机的实际应用,本次设计课程采用STC89C52单片机和ADC0804,LED显示,键盘,RS232等设计一个单片机开发板系统。进行了LED显示程序设计,键盘程序设计,RS232通信程序设计等。实现了单片机的各个程序的各个功能。对仿真软件keil的应用提升了一个新的高度。单片机体积小、成本低、使用方便,所以被广

泛地应用于仪器仪表、现场数据的采集和控制。通过本实验的学习,可以让学生掌握单片机原理、接口技术及自动控制技术,并能设计一些小型的、综合性的控制系统,以达到真正对单片机应用的理解。 关键词:单片机;智能;最小系统;ADC;RS232;显示;STC89C52 第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。相当于一个微型的计算机,和计算机相比,单片机只缺少了I/O设备。单片机采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。 它最早是被用在工业控制领域,由于单片机在工业控制领域的广泛应用,单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。 现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的总和,甚至比人类的数量还要多。单片机的使用领域已十分广泛,如智能仪表、实时工控、通讯设备、导航系统、家用电器等。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。 第2章实验内容 2.1单片机集成开发环境应用

相关主题
文本预览
相关文档 最新文档