单片机课程设计书.docx

上传人:b****3 文档编号:4866698 上传时间:2022-12-11 格式:DOCX 页数:17 大小:131.72KB
下载 相关 举报
单片机课程设计书.docx_第1页
第1页 / 共17页
单片机课程设计书.docx_第2页
第2页 / 共17页
单片机课程设计书.docx_第3页
第3页 / 共17页
单片机课程设计书.docx_第4页
第4页 / 共17页
单片机课程设计书.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

单片机课程设计书.docx

《单片机课程设计书.docx》由会员分享,可在线阅读,更多相关《单片机课程设计书.docx(17页珍藏版)》请在冰豆网上搜索。

单片机课程设计书.docx

单片机课程设计书

镇江高等专科学校

单片机课程设计任务书

 

设计题目:

基于单片机的纯水机控制电路板设计

系部:

电子信息系

专业:

应用电子技术

学生姓名:

学号:

起迄日期:

年月日~年月日

指导教师:

教研室主任:

 

单片机课程设计任务书

一.设计目的

(1)理解以单片机AT89C2051为核心的纯水机控制电路

(2)学会用汇编语言编写单片机与AT89C2051的接口程序

(3)掌握PROTEUS的设计电路,编写汇编语言程序汇编,仿真和仿真调试等技术。

二.设计功能

(1)制纯净水。

(2)制水已满后自动停止制水,在图一中用按下‘制水已满’开关表示。

制水电动机、冲洗电动机不运行,数码管显示‘8’。

(3)自来水断水警报,在图一中用按下‘断水报警’开关表示。

制水电动机、冲洗电动机不运行,数码管闪烁显示‘0’,并发出警报声。

(4)定期冲洗纯水机净水装置(按‘定期冲洗’开关)。

制水电动机、冲洗电动机运行,数码管闪烁显示‘F’。

冲洗40S左右后,自动回到冲洗前的状态。

三.设计所用到的元器件(中英文对照)

7SEG-COM-AN-GRN(带公共端共阳极七段绿色数码管)DIODE(二极管)

10WATT68R(10瓦68欧电阻)G5CLE-14-DC24(继电器)

7805(稳压管)LED-GREEN(绿色发光二极管)

AT89C2051(89C2051单片机)MOTOR(直流电机模型)

BRIDGE(整流桥)RES(电阻)

BUZZER(蜂鸣器)RX8(排阻)

BUTTON(按钮)SW-SPDT(带锁单刀按钮)

CAP(电容)TIPP112(达林顿三极管)

CAP-ELEC(电解电容)ZTX550(中功率三极管)

四.电路设计及电路图

1.电路设计

如图一所示是以单片机AT89C2051为核心的纯水机控制板电路原理图

(1)两电动机的驱动与控制电路

(2)24V和5V的电源电路

(3)其余部分为单片机89C2051控制电路

2.电路图(图一)

五.程序

LOWPBITP3.0

HIGHPBITP3.1

QBRUSHBITP3.2

INWFBITP3.3

BRUSHBITP3.4

LABABITP3.7

T01EQU32H

T02EQU33H

T03EQU34H

T011EQU35H

ORG00H

AJMPMAIN

ORG0BH

RETI

ORG1BH

AJMPT1F

ORG0030H

D1S:

MOVR1,#5

SJMPD501

D50MS:

MOVR1,#1

D501:

MOVR2,#200

MOVR7,#0

D50MS1:

DJNZR7,$

MOVTL0,#0

MOVTH0,#0

DJNZR2,D50MS1

DJNZR1,D501

RET

BRUSHF:

MOVP1,#1DH

CLR21H

ACALLD1S

JNBLOWP,BSH0

ACALLD1S

JNBLOWP,BSH0

ACALLD1S

JNBLOWP,BSH0

LJMPBAOJIN

BSH0:

SETBBRUSH

SETBINWF

SETBLABA

MOVR6,#60

MOVR5,#10

MOVTL1,#LOW(15536)

MOVTH1,#HIGH(15536)

SETBTR1

SETB22H

CLR23H

BSH1:

MOVTL0,#0

MOVTH0,#0

SETBLOWP

JNBLOWP,BSH2

ACALLD1S

JNBLOWP,BSH2

ACALLD1S;

JNBLOWP,BSH2

LJMPBAOJIN

BSH2:

JNB23H,BSH1

CJNER6,#0,BSH1

BSH3:

MOVR4,#0

MOVP3,#8FH

CLR22H

CLR23H

RET

MAIN:

MOVP3,#87H

SETBTR0

CLRTR1

MOVP1,#1DH

ACALLD1S

ACALLD1S

ACALLD1S

MOVA,P3

MOV36H,A

ACALLD1S

MOVA,P3

CJNEA,36H,MAIN

ACALLD1S

ACALLD1S

MOVA,P3

CJNEA,36H,MAIN

ACALLD1S

ACALLD1S

MOVA,P3

CJNEA,36H,MAIN

ACALLD1S

ACALLD1S

MOVA,P3

CJNEA,36H,MAIN

MOV24H,#0

MOVSP,#7

SETBEA

SETBET0

SETBET1

MOVT01,#0

MOVT02,#0

MOVT03,#0

MOVT011,#0

MOVTMOD,#11H

STAR:

ACALLD50MS

MOV24H,#0

SETB24H

ST1:

MOV37H,#3

ST21:

SETBLOWP

JNBLOWP,ST10

ACALLD1S

DJNZ37H,ST21

CLR24H

AJMPBAOJIN

ST10:

SETBQBRUSH

JBQBRUSH,ST12;

ACALLBRUSHF

ST12:

MOV37H,#3

ACALLD50MS

JNBHIGHP,ST2

ST11:

SETBHIGHP

JNBHIGHP,ST12

ACALLD1S

DJNZ37H,ST11

AJMPWFULL

ST2:

ACALLD1S

JBHIGHP,ST12

DJNZ37H,ST2

MAKEW:

CLR24H

CLRBRUSH

SETBTR1

SETBINWF

MOVR3,#0

MOVR4,#0

MOVTL1,#LOW(15536)

MOVTH1,#HIGH(15536)

ACALLD50MS

MKW:

MOVTL0,#0

MOVTH0,#0

SETBINWF

CLRBRUSH

SETBQBRUSH

NOP

NOP

CLR20H

JBQBRUSH,MKW1

ACALLBRUSHF

SETBTR1

SETBINWF

MKW1:

NOP

MOV37H,#3

MKW10:

SETBLOWP

JNBLOWP,MKW11

ACALLD1S

DJNZ37H,MKW10

AJMPSTAR

MKW11:

MOV37H,#3

MKW12:

SETBHIGHP

JNBHIGHP,MK1

ACALLD1S

DJNZ37H,MKW12

AJMPWFULL

MK1:

NOP

MOVA,T011

CJNEA,#144,MK2

MK2:

NOP

JNCMK4

MOVA,T03

CJNEA,#24,MK3

MK3:

NOP

JCMKW

ACALLBRUSHF

SETBTR1

SETBINWF

MOVT03,#0

AJMPMKW

MK4:

CLRLABA

CLRTR0

CLRTR1

CLRP3.3

CLRP3.4

MK5:

MOVP1,#5

ACALLD1S

XRLP1,#0FAH

NOP

NOP

CPLP3.7

ACALLD1S

SJMPMK5

WFULL:

SETB20H

ACALLD50MS

SETBTR1

SETBLABA

MOVP1,#0

WF1:

CLRBRUSH

CLRINWF

ACALLD50MS

JBQBRUSH,WF2

ACALLBRUSHF

CLRINWF

SETBTR1

SETB20H

MOVP1,#0

WF2:

JNBHIGHP,WF3

MOVA,T03

CJNEA,#24,WF20

WF20:

NOP

JCWF1

ACALLBRUSHF

CLRINWF

SETBTR1

MOVP1,#0

MOVT03,#0

AJMPWF1

WF3:

MOV37H,#3

WF31:

SETBHIGHP

JBHIGHP,WF1

ACALLD1S

DJNZ37H,WF31

WF40:

CLR20H

MOVT011,#0

MOVR3,#5

CLRTR1

WF4:

ACALLD1S

DJNZR3,WF4

AJMPSTAR

BAOJIN:

CLRTR1

CLRTR0

CLR21H

CLR22H

CLR23H

CLR24H

MOVP1,#40H

BJ0:

MOVP3,#87H

JBLOWP,BJ00

MOV37H,#3

BJ1:

SETBLOWP

JBLOWP,BJ00

ACALLD1S

DJNZ37H,BJ1

AJMPMAIN

BJ00:

CLRTR1

MOVP1,#40H

CPLP3.7

ACALLD1S

XRLP1,#0BFH

CPLP3.7

ACALLD1S

SJMPBJ0

TAB:

DB0FDH,0F9H,0F1H,0E1H,0C1H,41H,1

AJMPMAIN

T1F:

PUSHACC

PUSHPSW

MOVTL1,#LOW(15536)

MOVTH1,#HIGH(15536)

JB22H,BRSHT

JNB24H,T1F0

LJMPT1F2

T1F0:

INCR3

CJNER3,#10,WTD2

MOVR3,#0

JB20H,WTD2

MOVA,R4

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOVP1,A

INCR4

CJNER4,#7,WTD2

MOVR4,#0

WTD2:

INCT01

MOVA,T01

JNZT1F1

INCT02

T1F1:

MOVA,T02

CJNEA,#HIGH(11970),T1F2

MOVA,T01;

CJNEA,#LOW(11970),T1F2

MOVT01,#0

MOVT02,#0

INCT03

INCT011

T1F2:

POPPSW

POPACC

RETI

BRSHT:

DJNZR5,T1F2

MOVR5,#10

CPL21H

JNB21H,T0F1

MOVP1,#0FFH

SJMPT0F2

T0F1:

MOVP1,#1DH

T0F2:

DJNZR6,T1F2

SETB23H

CLR22H

SJMPT1F2

AJMPMAIN

AJMPMAIN

AJMPMAIN

AJMPMAIN

AJMPMAIN

AJMPMAIN

LJMP7FDH

ORG7FDH

LJMPMAIN

END

 

单片机课程设计任务书

六.调试与仿真

1.PROTEUS电路设计

根据图一所示的原理图及元器件列表,在PROTEUSISIS中进行电路设计。

完成后的结果如图二所示,以文件名Z1253-1.DSN存盘。

PROTEUSISIS电路仿真中,复位电路、外接振动或外振动源电路都不可设计。

这是因为仿真按钮已有上电复位功能,由外接振动元件或外振动决定的时钟频率可通过单片机属性设置来设定。

当然也可以设计上,特别是在运行过程中要求按键复位时,则一定要设计按键复位电路。

当要通过PROTEUS进行PCB设计时一定都要设计上。

2.PROTEUS程序设计

PROTEUS程序设计包括程序编程、汇编、下载。

按3.4节的叙述和12.5.2节的汇编语言程序,在PROTEUSISIS中单击菜单选项‘source’,进行添加程序文件、编写程序、汇编程序生成目标代码等操作。

程序名为Z1253-1.ASM,汇编生成目标代码文件Z1253-1.HEX.

PROTEUS高版本汇编后自动将最后的目标代码文件下载到单片机中。

也可通过单片机属性设置,将其下载到单片机中。

打开单片机属性设置对话框,在‘clockfrequency’栏中设定时钟频率,本例为24MHz。

3.PROTEUS仿真

上述各步骤正确完成后,则可单击仿真工具按钮中的按键‘开始’进行全速仿真。

仿真片段如图二所示。

操作制水已满选择开关、断水报警选择开关和定期冲洗按钮,便可看到期望的仿真效果。

 

图二

七.技术要点

本控制板的基础硬件和软件设计均不算复杂,但实际操作时回碰到不少问题,特别是电磁干扰问题。

因电动机、电磁阀、继电器等启动、运行、停运时都可产生较大的电磁干扰,致使控制板不能正确、稳定、长时间工作。

为此,必须采取抗干扰措施。

一般可采用硬件抗干扰措施和软件可干扰措施。

1.硬件抗电磁干扰措施

电磁屏蔽电动机、电源去耦、合理布置器件(如使继电器远离垫片及振荡电路)、合理布线等。

2.软件抗电磁干扰措施

1)延时且多次判定电平的抗电磁干扰技术

纯水机有多个电磁阀:

判断有无自来水的进水电磁阀,判断所制纯进水是否满的电磁阀等。

它们工作时会传输给单片机I/O口高电平信号、低电平信号或阶跃电信号。

单片机工作时不断检查相关I/O口的电平状态,以便做出响应。

显然,要响应正确,电磁阀传输给单片机I/O口上的电信号应该正确。

但是,电磁阀无论在电平稳定或电平改变状态时,都受到自身或其他电磁器件(如电动机、继电器等)的电磁干扰。

为了抗电磁干扰,本控制板软件设计中采用了延时且多次判断电平的技术。

当单片机检查到相关I/O口上电平变化是并不立即响应,而是延时一段时间(具体延时时间由设计者决定)再检查电平,反复几次(次数有设计者决定),当几次都获得相同结果时,单片机才确认并做出相应的响应,否则认为是电磁干扰信号而忽略。

这以技术明显地提高了控制板的抗电磁干扰性能,使纯水机能正确、沉稳、长时间工作。

2)指令冗余技术

对重要的指令(如SJMP、JB、CJNC、LCALL等)重复写多个,他们之间可插入几个NOP指令,即使某个指令被电磁干扰跑飞,还可以执行接下来的正确的指令挽回跑飞的程序。

本控制板软件设计中多次运用了该技术,以抗电磁干扰。

3)软件陷阱技术

对于冗余技术解决不了的问题,可采取软件陷阱技术。

软件陷阱技术的本质是一段拦截程序,当失控的程序运行至此后,可以将其迅速引向一个指定的有效位置,在此有专门的错误处理代码,使程序能够回到正确的程序段。

本控制板软件设计中多次运用了该技术,以抗电磁干扰。

八.实验心得:

通过本次实验我更加了解51单片机的内部结构。

设计之前必须的了解51单片机的内部结构。

由于上学期51单片机的了解不够深,致使实验走了好多弯路。

通过上学期的学习,我们了解到编写一个题目的程序有很多种方法,所以,我们要充分利用我们所学的知识在编程时尽量鲜明简洁,易读性强,可行性高等。

在这次实验给我好多启发:

1、态度决定一切。

不管做什么事,态度是很重要的。

从做事的态度可以看到一个人的性格。

如果没有将自己态度调整好,没有认真对待,就算很简单的小事情也不会做好的,在良好的态度下工作时,可以提高自己的做事效率。

循序渐进,相信自己一定会得到令自己满意的答案。

2、要学会计划。

没有一个完美的计划,做起事情来就像是无头苍蝇,不知该从哪里下手。

当我们将要做的事情计划好,那些先做那些事最后做,这样就会很有条理性,做起事来也会事半功倍,做事心中有数,明确重点和缓急,不会有疏漏。

这样才能提高成功率。

3、细节决定成败。

往往因为一个细节导致了最后的失败,这是我们常犯的错误。

所以我们要注意细节,不能因一个小的细节,而使我们所编写的程序无法运行。

通过这次课题,我们学到了很多有关单片机方面的知识,也对单片机有了更深入的了解。

能够更好的将所学的知识运用到实际生活中。

电子领域发展迅速,现有的知识储备总是落后于科技的发展脚步,我们只有不断学习新知识,才能立足于电子领域。

 

4.课程设计工作进度计划:

序号

起迄日期

工作内容

主指导教师

亲笔签名

日期:

年月日

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

当前位置:首页 > 法律文书 > 调解书

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

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