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页立即下载
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
上一篇: 物联网应用技术毕业设计 |
下一篇: 基于单片机的智能宠物投喂系统的设 |