首页 > 分享 > 课程设计宠物自动喂食机设计.doc

课程设计宠物自动喂食机设计.doc

4

论应力集中为23.2=σα,81.1=τα,

([2]P38附表3-2经直线插入)

轴的材料敏感系数为85.0=σq ,87.0=τq ,

([2]P37附图3-1)

故有效应力集中系数为

05.2)1(1=-+=σσσαq k

70.1)1(1=-+=ττταq k

查得尺寸系数为72.0=σε,扭转尺寸系数为76.0=τε,

([2]P37附图3-2)([2]P39附图3-3)

轴采用磨削加工,表面质量系数为92.0==τσββ,

([2]P40附图3-4)

轴表面未经强化处理,即

1=q β,则综合系数值为 93.211=-+=σσ

σσβεk K 11.211=-+=ττττβεk K

a) 碳钢系数的确定

碳钢的特性系数取为1.0=σψ,05.0=τψ b) 安全系数的计算

轴的疲劳安全系数为

92.61=+=-m

a K S σψσσσσσ 66.241=+=-m

a K S τψτττττ S S S S S S ca =>=+=5.166.622τστ

σ

故轴的选用安全。

第6页
 

3行程开关旋转件的设计

图3-1 行程开关旋转件

由示意图可知,两旋转件在旋转时有一个90度角的角度差,通过行程开关输出的信号的不同来分辨料口的开合处于什么样的状态,然后通过单片机系统的处理,输出相应的信号,带动电机的旋转,来控制料口的开合。料口的状态有完全关闭和完全打开两种状态,(1)两行程开关都输出信号时,料口处于关闭状态,(2)两行程开关有一个闭合输出信号时,料口处于完全打开状态。

4减速电动机的选择:

直流齿轮减速电动机由于其结构简单,性能可靠,故选择直流齿轮减速电动机。

ZGA25R-310式直流齿轮减速电动机产品数据:

ZGA25R-310使用电压:DC-6V

转速: 20rpm

外径:25mm

总长:51mm

伸出轴长:10mm

扭力:1-3KG

5

第7页
 

5控制系统设计

5.1系统方案设计构成

本系统包括机械部分和伺服电机控制两部分。根据所给的要求,拟用开环控制结构设计方案,其开环系统结构原理如下:

图5-1 开环系统结构原理图

具体原理:编写单片机指令,通过扫描键盘输入的数字记录需要转动的角度,然后计算需要输出的脉冲,用软件的方法实现脉冲的输出,然后由光电耦合电路减小外部的干扰,由功率放大电路实现功率的放大,然后接减速电动机,通过联轴器把力矩传到主轴。带动料口的开关。

5.2单片机的选用

本设计选用ATS9S51芯片,片内无ROM或者EPROM,使用时必须配置外部的程序存储器EPROM。本设计选用了2764扩展其空间,8031的引脚分3大功能:

5.2.1 I/O口线

P0,P1,P2,P3共4个八位口。

6

第8页
 

5.2.2 控制口线

PSEN(片外取指控制)、ALE(地址锁存控制)、EA(片外存储器选择)、RESET (复位控制)。

5.2.3 电源和时钟

ATS9S51最小应用系统。ATS9S51内部不带ROM,需要外接EPROM作为外部程序存储器。又因为8031在外接程序存储器或数据存储器时地址的低8位信息和数据信息分时送出,故还需要采用一片74LS373来锁存低8为地址信息。这样,一片2764EPROM和一片74LS373组成了一个最小的计算机应用系统。如图

MCS-51的程序存储器空间与数据存储器空间是相互独立的。用户可最多扩展到64kb的程序存储器几64kb的数据存储器,编址为0000H~FFFFH。片内8kb 单元地址要求地址线13根(A0~A12)。

它由P0和P2.0~P2.4 组成。地址锁存器的锁存信号为ALE。程序存储器的取地址消耗为PSEN。由于程序存储器芯片只有一片,所以其片选端(31)直接接地。

8031芯片本身的连接31必须接地来表明选择外部存储器外,还必须有复位和时钟电路。在此系统中有P1、P3口作为用户I/O口使用;74LS373为地址锁存器,他是一片三态输出8D触发器,当OE=1时三态门导通,输出线上为8为锁存器的状态。当OE=1时输出为高住抗转台。G为锁存信号输入线,G=1时锁存器输出等于D端输入,G输入短跳变将输入信息锁存到8为锁存器中。

当8031在访问外部程序存储器时,P2口输入高8为地址:P6口分时传送底8为地址和指令字节。在ALE为高电平时,P0口输出的地址有效,并由ALE的下降沿锁存到地址锁存器中,此时外部程序存储器宣统信号线PSEN出现低电平,选通相应的外部。EPROM存储器;相应的指令字节出现在EPROM的数据线(O0~O7)上,输入到P0口,CPU将指令字节读入指令寄存器。

7

 

6程序编写

6.1连线图:

图6-1 连线图

6.2程序设计:

单片机:AT89S51,F=6MHz,影响第0组的R1,R2,R3,R4,R5,R6,R7,20H,21H,30H,31H,32H,35H,36H,37H,38H,39H,3AH,3BH,3CH,3DH,3EH。 ORG 00H ;程序从这里开始

SJMP MAIN ;主程序

ORG 0BH ;定时器0中断入口

LJMP GOTO

ORG 40H ;初始化

MAIN:MOV SP,#5FH ;设堆栈

MOV 30H,#12H ;存放小时,设初值

MOV 31H,#00H ;存放分钟,设初值

MOV 32H,#00H ;存放秒,设初值

MOV 35H,#06H ;第一个闹钟的小时位,设初值

MOV 36H,#30H ;第一个闹钟的分钟位,设初值

MOV 37H,#09H ;第二个闹钟的小时位,设初值

MOV 38H,#00H ;第二个闹钟的分钟位,设初值

MOV 39H,#06H ;存放年

MOV 3AH,#11H ;存放月

MOV 3BH,#05H ;存放日

8

第10页
 

MOV 3CH,#00H ;显示缓存,第1,2位

MOV 3DH,#00H ;显示缓存,第3,4位

MOV 3EH,#00H ;显示缓存,第5,6位

CLR 00H ;秒闪烁暂存 20H.0

SETB 01H ;闹钟1输出位 20H.1

SETB 02H ;闹钟2输出位 20H.2

CLR 03H ;按键2是否有效标致位 20H.3

CLR 04H ;按键3是否有效标致位 20H.4

CLR 05H ;按键2是否有效标致位 20H.5

CLR 06H ;闹钟开关标致 20H.6 "0"为开"1"为关 SETB 07H ;显示缓存,小数点1

SETB 08H ;显示缓存,小数点2

SETB 09H ;时钟加减标致位 "0"为小时,"1"为分钟 SETB 0AH ;闹钟1加减标致位"0"为小时,"1"为分钟 SETB 0BH ;闹钟2加减标致位"0"为小时,"1"为分钟

MOV R2,#2 ;设定时次数

MOV R3,#50

MOV R4,#25

MOV TMOD,#02H ;设定时器0工作方式为方式2

MOV TH0,#56 ;设初始值

MOV TL0,#56

SETB TR0 ;启动定时器和中断

SETB ET0

SETB EA

主程序

MMAIN:JNB P2.0,MMAIN ;时钟主程序

MMAIN2:LCALL XIAN ;显示

LCALL CS ;按键秒清零

LCALL DAT ;是否显示年月日

LCALL DSQ ;定时器

LCALL T1T2 ;闹钟开关

CLR P2.6 ;按键有效

JNB P2.0,MENU1

9

 

SJMP MMAIN2

MENU1:JNB P2.0,$ ;时钟调整

SETB P1.0

MOV 3CH,30H ;将暂存的数转成字形显示30H MOV 3DH,31H ;将暂存的数转成字形显示31H MOV 3EH,#0ABH ;将暂存的数转成字形显示" t" CLR 07H ;显示小数点1

SETB 08H ;不显示小数点2

LCALL MXIAN ;显示菜单1

LCALL ADDM1 ;按键加一分钟

LCALL ADDH1 ;按键加一小时

LCALL DECMH ;减一分钟/一小时

CLR P2.6

JNB P2.0,MENU2

SJMP MENU1

MENU2:JNB P2.0,$ ;日期调整

SETB P1.0

MOV 3CH,39H ;将暂存的数转成字形显示39H MOV 3DH,3AH ;将暂存的数转成字形显示3AH MOV 3EH,3BH ;将暂存的数转成字形显示3BH CLR 07H ;显示小数点1

CLR 08H ;显示小数点2

LCALL MXIAN ;显示菜单2

LCALL DATEN ;年份+1

LCALL DATEM ;月份+1

LCALL DATED ;+1日

CLR P2.6

JNB P2.0,MENU3

SJMP MENU2

MENU3:JNB P2.0,$ ;闹钟1

SETB P1.0

MOV 3CH,35H ;将暂存的数转成字形显示35H

10

 

MOV 3DH,36H ;将暂存的数转成字形显示36H MOV 3EH,#0A1H ;将暂存的数转成字形显示" 1" CLR 07H ;显示小数点1

SETB 08H ;不显示小数点2

LCALL MXIAN ;显示菜单3

LCALL T1M1 ;闹钟1分钟+1

LCALL T1H1 ;闹钟1小时+1

LCALL DECT1 ;闹钟1减1小时/1分钟

CLR P2.6

JNB P2.0,MENU4

SJMP MENU3

MENU4:JNB P2.0,$ ;闹钟2

SETB P1.0

MOV 3CH,37H ;将暂存的数转成字形显示37H MOV 3DH,38H ;将暂存的数转成字形显示38H MOV 3EH,#0A2H ;将暂存的数转成字形显示" 2" CLR 07H ;显示小数点1

SETB 08H ;不显示小数点2

LCALL MXIAN ;显示菜单4

LCALL T2M1 ;闹钟2分钟+1

LCALL T2H1 ;闹钟2小时+1

LCALL DECT2 ;闹钟减2小时/1分钟

CLR P2.6

JNB P2.0,MENU5

SJMP MENU4

MENU5:LJMP MMAIN

中断处理

GOTO:PUSH A ;保护现场

DJNZ R3,GOTO1

MOV R3,#50

DJNZ R4,GOTO1

MOV R4,#25

CPL 00H ;20H.0 用于秒闪烁

11

 

DJNZ R2,GOTO1

MOV R2,#02H ;配合定时器定时一秒

MOV A,32H ;秒位是否为59秒,是:秒清零,分钟+1,判断分钟

CJNE A,#59H,M1 ;否:跳转到秒+1

MOV 32H,#00H

MOV A,31H ;分钟位同上

CJNE A,#59H,M2

MOV 31H,#00H

MOV A,30H ; 小时位同上

CJNE A,#23H,M3

MOV 30H,#00H

LCALL ADDD

SJMP GOTO1

M1:ADD A,#01 ;秒+1

DA A

MOV 32H,A

SJMP GOTO1

M2:ADD A,#01 ;分钟+1

DA A

MOV 31H,A

SJMP GOTO1

M3:ADD A,#01 ; 小时+1

DA A

MOV 30H,A

SJMP GOTO1

GOTO1:POP A ;恢复现场

RETI

时钟显示专用子程序

XIAN:MOV A,32H ;将暂存的数转成字形

SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示秒位

12

第14页
 

MOV P2,#0FEH

LCALL DELAY

MOV A,B

LCALL ZH

MOV P0,A

MOV P2,#0FDH

LCALL DELAY

MOV A,31H ;将暂存的数转成字形 SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示分钟位

MOV C,00H

MOV P0.7,C ;秒闪烁

MOV P2,#0FBH

LCALL DELAY

SETB P0.7 ; 取消显示小数点

MOV A,B

LCALL ZH

MOV P0,A

MOV P2,#0F7H

LCALL DELAY

MOV A,30H ;将暂存的数转成字形 SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示小时位

CLR P0.7 ;显示小数点

MOV P2,#0EFH

LCALL DELAY

SETB P0.7 ;取消显示小数点

MOV A,B

LCALL ZH

13

第15页
 

MOV P0,A

MOV P2,#0DFH

LCALL DELAY

RET

DELAY:MOV R5,#0AH ;延时1mS(6MHz)

L1:MOV R6,#19H

L2:DJNZ R6,L2

DJNZ R5,L1

RET

ZH:MOV DPTR,#TAB ;字形转换

MOVC A,@A+DPTR

MOV P2,#0FFH ;消影

RET

TAB:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;字形0~9 DB 0FFH,87H,0C8H,0A1H,86H,8EH ;字形A=" ",B="t",C="n",F="F",-hsz

TAB2:DB 30H,31H,28H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ;每个月的天数,平年

TAB3:DB 30H,31H,29H,31H,30H,31H,30H,31H,31H,30H,31H,30H,31H ;每个月的天数,闰年

显示子程序结束

菜单显示子程序

MXIAN:MOV A,3EH ;将暂存的数转成字形

SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示5,6位

MOV P2,#0FEH

LCALL DELAY

MOV A,B

LCALL ZH

MOV P0,A

MOV P2,#0FDH

14

 

LCALL DELAY

MOV A,3DH ;将暂存的数转成字形 SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示3,4位

MOV C,08H

MOV P0.7,C ;是否显示小数点2 MOV P2,#0FBH

LCALL DELAY

SETB P0.7 ; 取消显示小数点

MOV A,B

LCALL ZH

MOV P0,A

MOV P2,#0F7H

LCALL DELAY

MOV A,3CH ;将暂存的数转成字形 SWAP A

MOV B,#10H

DIV AB

LCALL ZH

MOV P0,A ;LED显示1,2位

MOV C,07H

MOV P0.7,C ;是否显示小数点1 MOV P2,#0EFH

LCALL DELAY

SETB P0.7 ; 取消显示小数点

MOV A,B

LCALL ZH

MOV P0,A

MOV P2,#0DFH

LCALL DELAY

RET

15

第17页
 

按键子程序开始

CS:MOV P0,#0FFH ;秒清零

MOV P2,#10111111B

JB P2.1,CS1

MOV 32H,#00H

CS1:SETB P2.6

RET

------------------------------------------------------------------- ADDM1:MOV P0,#0FFH ;加一分钟

MOV P2,#10111111B

JNB P2.2,ADDM11

CLR 03H ;按键2是否有效

ADDM11:JB 03H,ADDM12

JB P2.2,ADDM12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.2,ADDM12

SETB 03H ;按键2是否有效

SETB 09H ;时钟加减标致位

MOV A,31H ;分钟 +1

CJNE A,#59H,M21

MOV 31H,#00H

SJMP ADDM12

M21:ADD A,#01

DA A

MOV 31H,A

SJMP ADDM12

ADDM12:SETB P2.6

RET

------------------------------------------------------------------- ADDH1:MOV P0,#0FFH ;加一小时

MOV P2,#10111111B

JNB P2.3,ADDH11

CLR 04H ;按键3是否有效

16

 

ADDH11:JB 04H,ADDH12

JB P2.3,ADDH12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.3,ADDH12

SETB 04H ;按键3是否有效

CLR 09H ;时钟加减标致位

MOV A,30H ; 小时 +1

CJNE A,#23H,H31

MOV 30H,#00H

SJMP ADDH12

H31:ADD A,#01

DA A

MOV 30H,A

ADDH12:SETB P2.6

RET

------------------------------------------------------------------- DECMH:MOV P0,#0FFH ;减一分钟/一小时

MOV P2,#10111111B

JNB P2.1,DECM11

CLR 05H ;按键1是否有效

DECM11:JB 05H,DECM12

JB P2.1,DECM12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.1,DECM12

SETB 05H ;按键1是否有效

JNB 09H,DECMH3

MOV A,31H ;分钟 -1

CJNE A,#00H,DECMH4

MOV 31H,#59H

SJMP DECM12

DECMH4:LCALL DECA

17

 

MOV 31H,A

SJMP DECM12

DECMH3:MOV A,30H ;小时 -1

CJNE A,#00H,DECMH5

MOV 30H,#23H

SJMP DECM12

DECMH5:LCALL DECA

MOV 30H,A

DECM12:SETB P2.6

RET

十进制减法子程序

DECA:CJNE A,#10H,DECA1 ;运算范围为1~50 MOV A,#09H

RET

DECA1:CJNE A,#20H,DECA2

MOV A,#19H

RET

DECA2:CJNE A,#30H,DECA3

MOV A,#29H

RET

DECA3:CJNE A,#40H,DECA4

MOV A,#39H

RET

DECA4:CJNE A,#50H,DECA5

MOV A,#49H

RET

DECA5:DEC A

RET

闹钟按键子程序

T1M1:MOV P0,#0FFH ;闹钟1加一分钟 MOV P2,#10111111B

18

第20页
 

JNB P2.2,T1M11

CLR 03H ;按键2是否有效

T1M11:JB 03H,T1M12

JB P2.2,T1M12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.2,T1M12

SETB 03H ;按键2是否有效

SETB 0AH ;时钟加减标致位

MOV A,36H ;分钟 +1

CJNE A,#59H,T1M13

MOV 36H,#00H

SJMP T1M12

T1M13:ADD A,#01

DA A

MOV 36H,A

T1M12:SETB P2.6

RET

--------------------------------------------------------- T1H1:MOV P0,#0FFH ;闹钟1加一小时

MOV P2,#10111111B

JNB P2.3,T1H11

CLR 04H ;按键3是否有效

T1H11:JB 04H,T1H12

JB P2.3,T1H12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.3,T1H12

SETB 04H ;按键3是否有效

CLR 0AH ;时钟加减标致位

MOV A,35H ;小时 +1

CJNE A,#23H,T1H13

MOV 35H,#00H

19

 

SJMP T1H12

T1H13:ADD A,#01

DA A

MOV 35H,A

T1H12:SETB P2.6

RET

--------------------------------------------------------- T2M1:MOV P0,#0FFH ;闹钟2加一分钟

MOV P2,#10111111B

JNB P2.2,T2M11

CLR 03H ;按键2是否有效

T2M11:JB 03H,T2M12

JB P2.2,T2M12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.2,T2M12

SETB 03H ;按键2是否有效

SETB 0BH ;时钟加减标致位

MOV A,38H ;分钟 +1

CJNE A,#59H,T2M13

MOV 38H,#00H

SJMP T2M12

T2M13:ADD A,#01

DA A

MOV 38H,A

T2M12:SETB P2.6

RET

--------------------------------------------------------- T2H1:MOV P0,#0FFH ;闹钟2加一小时

MOV P2,#10111111B

JNB P2.3,T2H11

CLR 04H ;按键3是否有效

T2H11:JB 04H,T2H12

JB P2.3,T2H12

20

 

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.3,T2H12

SETB 04H ;按键3是否有效

CLR 0BH ;时钟加减标致位

MOV A,37H ;小时 +1

CJNE A,#23H,T2H13

MOV 37H,#00H

SJMP T2H12

T2H13:ADD A,#01

DA A

MOV 37H,A

T2H12:SETB P2.6

RET

------------------------------闹钟1------------------------------ DECT1:MOV P0,#0FFH ;减一分钟/一小时

MOV P2,#10111111B

JNB P2.1,DECT11

CLR 05H ;按键1是否有效

DECT11:JB 05H,DECT12

JB P2.1,DECT12

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.1,DECT12

SETB 05H ;按键1是否有效

JNB 0AH,DECT13

MOV A,36H ;分钟 -1

CJNE A,#00H,DECT14

MOV 36H,#59H

SJMP DECT12

DECT14:LCALL DECA

MOV 36H,A

SJMP DECT12

21

 

DECT13:MOV A,35H ;小时 -1

CJNE A,#00H,DECT15

MOV 35H,#23H

SJMP DECT12

DECT15:LCALL DECA

MOV 35H,A

DECT12:SETB P2.6

RET

---------------------------- 闹钟2--------------------------------- DECT2:MOV P0,#0FFH ;减一分钟/一小时

MOV P2,#10111111B

JNB P2.1,DECT21

CLR 05H ;按键1是否有效

DECT21:JB 05H,DECT22

JB P2.1,DECT22

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.1,DECT22

SETB 05H ;按键1是否有效

JNB 0BH,DECT23

MOV A,38H ;分钟 -1

CJNE A,#00H,DECT24

MOV 38H,#59H

SJMP DECT22

DECT24:LCALL DECA

MOV 38H,A

SJMP DECT22

DECT23:MOV A,37H ;小时 -1

CJNE A,#00H,DECT25

MOV 37H,#23H

SJMP DECT22

22

 

DECT25:LCALL DECA

MOV 37H,A

DECT22:SETB P2.6

RET

------------------------闹钟开关------------------------- T1T2:MOV P0,#0FFH ;闹钟开关

MOV P2,#10111111B

JNB P2.2,T1T21

CLR 05H ;按键2是否有效

T1T21:JB 05H,T1T22

JB P2.2,T1T22

SETB 05H ;按键2是否有效

CPL 06H ;闹钟开关

JB 06H,T1T23

MOV R1,#2

MOV 3CH,#0CH ;将暂存的数转成字形显示"0N"

MOV 3DH,#0AAH ;将暂存的数转成字形显示" "

MOV 3EH,#0AAH ;将暂存的数转成字形显示" "

SETB 07H ;不显示小数点1

SETB 08H ;不显示小数点2

T1DAT3:MOV R7,#100

T1DAT2:LCALL MXIAN

DJNZ R7,T1DAT2

DJNZ R1,T1DAT3

SJMP T1T22

T1T23:MOV R1,#2

MOV 3CH,#0FH ;将暂存的数转成字形显示"OF"

MOV 3DH,#0FAH ;将暂存的数转成字形显示"F "

MOV 3EH,#0AAH ;将暂存的数转成字形显示" "

SETB 07H ;不显示小数点1

SETB 08H ;不显示小数点2

T2DAT3:MOV R7,#100

T2DAT2:LCALL MXIAN

DJNZ R7,T2DAT2

DJNZ R1,T2DAT3

23

 

T1T22:SETB P2.6

RET

显示年月日按键子程序

DAT:MOV P0,#0FFH

MOV P2,#10111111B

JB P2.3,DAT1

MOV R1,#5

MOV 3CH,39H ;将暂存的数转成字形显示39H

MOV 3DH,3AH ;将暂存的数转成字形显示3AH

MOV 3EH,3BH ;将暂存的数转成字形显示3BH

CLR 07H ;显示小数点1

CLR 08H ;显示小数点2

DAT3:MOV R7,#100

DAT2:LCALL MXIAN

DJNZ R7,DAT2

DJNZ R1,DAT3

DAT1:SETB P2.6

RET

--------------------------------------------------------- DATEN:MOV P0,#0FFH ;年份加1

MOV P2,#10111111B

JNB P2.3,DATEN1

CLR 04H ;按键3是否有效

DATEN1:JB 04H,DATEN2

JB P2.3,DATEN2

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.3,DATEN2

SETB 04H ;按键3是否有效

ADDN:MOV A,39H ;年份 +1

CJNE A,#50H,DATEN3

MOV 39H,#01H

SJMP DATEN2

24

 

DATEN3:ADD A,#01

DA A

MOV 39H,A

DATEN2:SETB P2.6

RET

--------------------------------------------------------- DATEM:MOV P0,#0FFH ;月份加1

MOV P2,#10111111B

JNB P2.2,DATEM1

CLR 03H ;按键2是否有效

DATEM1:JB 03H,DATEM2

JB P2.2,DATEM2

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.2,DATEM2

SETB 03H ;按键3是否有效

ADDM:MOV A,3AH ;月份 +1

CJNE A,#12H,DATEM3

MOV 3AH,#01H

LCALL ADDN ;年份+1

SJMP DATEM2

DATEM3:ADD A,#01

DA A

MOV 3AH,A

DATEM2:SETB P2.6

RET

--------------------------------------------------------- DATED:MOV P0,#0FFH ;加1日

MOV P2,#10111111B

JNB P2.1,DATED1

CLR 05H ;按键1是否有效

DATED1:JB 05H,DATED2

25

 

JB P2.1,DATED2

LCALL MXIAN ;这四个为去抖动

MOV P0,#0FFH

MOV P2,#10111111B

JB P2.1,DATED2

SETB 05H ;按键3是否有效

ADDD:MOV A,39H ;判断是否是闰年

MOV B,#04H

DIV AB

MOV A,B

JZ DATED4

MOV DPTR,#TAB2 ;平年

SJMP DATED5

DATED4:MOV DPTR,#TAB3 ;闰年

DATED5:MOV A,3AH ;用月份查表

MOVC A,@A+DPTR

MOV B,A

MOV A,3BH ;+1日

CJNE A,B,DATED3

MOV 3BH,#01H

LCALL ADDM ;月份+1

SJMP DATED2

DATED3:CJNE A,#32H,DATED6

MOV 3BH,#01H

SJMP DATED2

DATED6:ADD A,#01

DA A

MOV 3BH,A

DATED2:SETB P2.6

RET

闹钟子程序

DSQ:MOV A,35H ;判断30H单元和35H单元是否相等

CJNE A,30H,DSQ1 ;是:判断31H单元和36H单元是否相等

26

第28页
 
下载的文档为原格式,如果无法下载或内容有问题,请联系客服QQ:1920494503

课程设计宠物自动喂食机设计.doc

立即下载

MOV A,36H ;否:判断另一个闹钟时间

CJNE A,31H,DSQ1

CLR 01H ;另一个相等,闹钟清标致位

SJMP DSQ2

DSQ1:SETB 01H ;不等,标致位置位

DSQ2:MOV A,37H ;同上

CJNE A,30H,DSQ3

MOV A,38H

CJNE A,31H,DSQ3

CLR 02H

SJMP DSQ4

DSQ3:SETB 02H

DSQ4:MOV C,01H ;将两个闹钟合并在同一个端口输出 ANL C,02H

ORL C,06H ;闹钟输出总开关

MOV P1.0,C ;闹钟输出在P1.0口

RET

END ;程序结束

27

相关文档

宠物定时喂食器设计论文.doc 智能宠物喂食系统设计开题报告(1).doc 用于宠物自动喂食器上的喂食结构.doc 智能化宠物自动喂食机的设计.doc 一种智能宠物喂食器的设计.docx 课程设计宠物自动喂食机设计.doc 课程设计宠物自动喂食机设计.doc 课程设计宠物自动喂食机设计.doc 课程设计宠物自动喂食机设计.doc 课程设计宠物自动喂食机设计.doc 智能化宠物自动喂食机的设计.pdf 一种智能宠物喂食器的设计.pdf 一种智能宠物喂食器的设计.pdf 一种智能宠物喂食器的设计.pdf 智能宠物喂食器设计说明书.docx 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 智能宠物喂食器设计说明书.doc 宠物定时喂食器设计与开发毕业论文.docx本站文档均来自互联网及网友上传分享,本站只负责收集和整理,有侵权可通过QQ客服反馈删除。侵权投诉
 

7设计心得

为期三个星期的课程设计转瞬即逝,通过紧张的计算和设计,我圆满的完成了此次课程设计。随着机械技术、微电子技术的飞速发展,机械技术与微电子技术的相互渗透越来越快。本次设计的数控回转工作台就是机电有机结合的产品。

在设计过程阶段,遇到了许多困难。在老师和同学的帮助下,最终把问题一一解决了。在做控制系统设计时遇到了较大的难题。由于以前对微机计算机控制部分知识没有掌握扎实,所以在控制程序设计也比较困难。通过本次课程设计之后也使自己更深一步的了解程序编写。通过本次课程设计之后,使自己对课本上的东西有更加深刻的的认识。由于自己的能力有限,设计中难免也存在不少细节上的错误,希望老师指出改正,并感谢老师您对我们的教育!

28

第30页
 

参考文献 [1] 濮良贵 纪名刚主编.机械设计.高等教育出版社,2005,11. [2] 张建民 等编著.机电一体化系统设计.高等教育出版社,2001, [3] 周斌主编.机电一体化使用技术手册.兵器工业出版社,1994, [4] 张毅坤 陈善久 裘雪红 编著.单片机微型计算机原理及应用.西安电子科技 大学出版社,1998,8 [5] 齿轮手册编委会 编.齿轮手册(上).机械工业出版社,1990. [6] 孔峰编著.微型计算机控制技术.重庆大学出版社,2003,1 [7] 洛阳轴承研究所编.滚动轴承.机械工业出版社,1988. [8] 房小翠等主编.单片微型计算机与机电接口技术. 国防工业出版社,2001. [9]邓星钟主编.机电传动控制.华中科技大学出版社,2001,3 [10] 洪家娣 李明 黄兴元主编.机械设计指导.江西高校出版社,2006,7 29

第31页

相关知识

智能宠物喂食机有哪些优点?智能宠物喂食机优点揭秘
高性价比猫狗智能宠物自动喂食机、自动喂食器推荐,宠物喂食器怎么选
“投空瓶可出粮”的流浪动物自动喂食机现身,如此“善意”可行吗?
猫咪为何生疏了?自动喂食机不能全依靠
基于无线网络宠物自动喂养系统设计.doc
宠物领养资源
c语言宠物店管理系统,宠物店信息管理系统的设计课程设计报告精选.doc
宠物社交类APP的设计与应用——以“闻闻窝”为例.pdf资源
智能宠物喂食系统设计与实现.doc
宠物智能喂食机方案设计——西城微科

网址: 课程设计宠物自动喂食机设计.doc https://m.mcbbbk.com/newsview284665.html

所属分类:萌宠日常
上一篇: 物联网应用技术毕业设计
下一篇: 基于单片机的智能宠物投喂系统的设