




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘摘 要要 本次设计宠物自动喂食机的基本功能和设计思路 根据给定的规定动作顺 序 综合运用所学的基本理论 基本知识和相关的机械设计专业知识 完成宠 物自动喂食机理论方案的创新设计 并绘制必要的零部件图 其中包括装置的 原理方案构思和拟定 原理方案的实现 传动方案的设计 主要结构的设计简 图 设计计算与说明 宠物自动喂食机设计要求 定时投放饲料 具有开机自检功能 可以设定 开启关闭时间的长短 适应不同宠物食量的需要 使用电动机驱动 其电源应 为安全电源 宠物自动喂食机设计的主要技术关键问题为 饲料的定时投放 料口的开 合角度的确定 定时长短的设计 时间设定模块的组合 关键字 单片机 设计计算 定时 机构 摘摘 要要 I 1 1 主轴的设计主轴的设计 1 1 1 主轴材料的选择 1 1 2 主轴加工方法的选择 1 2 2 主轴参数计算 主轴参数计算 2 2 1 主轴尺寸的确定 2 2 1 1 估取主轴的长度和直径 2 2 1 2 根据轴向定位的要求确定轴的各段长度 2 2 2 轴上力的校合 3 2 3 精确校核轴的疲劳强度 3 2 3 1 判断危险截面 3 2 3 2 截面IV右侧的 3 3 3 行程开关旋转件的设计行程开关旋转件的设计 5 4 4 减速电动机的选择 减速电动机的选择 5 5 5 控制系统设计控制系统设计 6 5 1 系统方案设计构成 6 5 2 单片机的选用 6 5 2 1 I O 口线 6 5 2 2 控制口线 7 5 2 3 电源和时钟 7 6 6 程序编写程序编写 8 6 1 连线图 8 6 2 程序设计 8 7 7 设计心得设计心得 28 参考文献参考文献 29 1 1 主轴的设计主轴的设计 在宠物自动喂食机上采用直接由电机带动主轴旋转 控制料口的开启和关 闭 由于电机选用的是具有自锁功能的直流减速电机 中间不采用减速装置 简化结构设计 使系统的结构尽量的紧凑 所以直接用电机驱动主轴 省去中 间的减速环节 1 1 主轴材料的选择 主轴的选用 45 钢 45 钢的加工性能较为理想 材料的价格比较低廉 但 是这是一种中碳钢 淬火性能并不好 45 号钢可以淬硬至 HRC42 46 所以如 果需要表面硬度 又希望发挥 45 钢优越的机械性能 常将 45 钢表面渗碳淬火 这样就能得到需要的表面硬度 调质处理后零件具有良好的综合机械性能 广 泛应用于各种重要的结构零件 特别是那些在交变负荷下工作的连杆 螺栓 齿轮及轴类等 1 2 主轴加工方法的选择 由于主轴是间歇回转类零件 不需要长时间的连续运转 所以加工的精度 不需要很高 在普通的车床上既可以加工 又因为主轴的外形相对简单 不需 要经常的换刀 所以加工的时间教短 在加工主轴时 需要注意的是径向尺寸 的控制 不过通过合理的安排加工工艺可以解决 最后的端部的钻孔是需要控 制空之间的距离 所以在单件试制的时候可以不用专用的夹具 在大量生产的 时候需要安排专用的夹具 提高生产效率 尤其需要注意的是孔中心的确定 因为是后续安装旋转件的 所以要控制中心的偏差 2 2 主轴参数计算主轴参数计算 2 1 主轴尺寸的确定 由设计题目中要求可知 下料口的孔直径为 5mm 由 机械设计手册 表 6 2 3 取主轴的直径为 5mm 2 1 1 估取主轴的长度和直径 图 2 1 轴的长度和直径 1 1 2 段轴用于安装联轴器 故取直径为 5mm 2 2 3 段安装活动挡片 直径 5mm 3 3 4 段分隔段 直径为 5mm 4 4 5 段为过度段 直径为 16mm 5 5 6 段安装旋转件 直径为 40mm 2 1 2 根据轴向定位的要求确定轴的各段长度 1 1 2 段为安装联轴器为 30mm 2 2 3 段为安装活动挡片长度为 60mm 3 3 4 段为为分隔长度为 10mm 4 4 5 段用于安装旋转件长度为 6mm 5 5 6 段安装旋转件长度为 10 2 2 轴上力的校合 66 207 5 63 5 图 2 2 轴上力的校合 2 3 精确校核轴的疲劳强度 2 3 1 判断危险截面 由于截面 IV 处受的载荷较大 直径较小 所以判断为危险截面 2 3 2 截面 IV 右侧的 MPa W Mm b 5 17 截面上的转切应力为MPa W T T T 64 7 2 MPa T mb 99 7 2 98 15 2 由于轴选用 40cr 调质处理 所以 MPa B 735 MPa386 1 MPa260 1 2 P355 表 15 1 综合系数的计算 由 经直线插入 知道因轴肩而形成的045 0 55 2 d r 6 1 d D 理论应力集中为 23 2 81 1 2 P38 附表 3 2 经直线插入 轴的材料敏感系数为 85 0 q87 0 q 2 P37 附图 3 1 故有效应力集中系数为 05 2 1 1 qk 70 1 1 1 qk 查得尺寸系数为 扭转尺寸系数为 72 0 76 0 2 P37 附图 3 2 2 P39 附图 3 3 轴采用磨削加工 表面质量系数为 92 0 2 P40 附图 3 4 轴表面未经强化处理 即 则综合系数值为 1 q 93 2 1 1 k K 11 2 1 1 k K a 碳钢系数的确定 碳钢的特性系数取为 1 0 05 0 b 安全系数的计算 轴的疲劳安全系数为 92 6 1 ma K S 66 24 1 ma K S S SS SS Sca 5 166 6 22 故轴的选用安全 3 3 行程开关旋转件的设计行程开关旋转件的设计 图 3 1 行程开关旋转件 由示意图可知 两旋转件在旋转时有一个 90 度角的角度差 通过行程开关 输出的信号的不同来分辨料口的开合处于什么样的状态 然后通过单片机系统 的处理 输出相应的信号 带动电机的旋转 来控制料口的开合 料口的状态 有完全关闭和完全打开两种状态 1 两行程开关都输出信号时 料口处于关 闭状态 2 两行程开关有一个闭合输出信号时 料口处于完全打开状态 4 4 减速电动机的选择减速电动机的选择 直流齿轮减速电动机由于其结构简单 性能可靠 故选择直流齿轮减速电 动机 ZGA25RZGA25R 310310 式直流齿轮减速电动机产品数据 ZGA25RZGA25R 310310 使用电压 DC 6V 转速 20rpm 外径 25mm 总长 51mm 伸出轴长 10mm 扭力 1 3KG 5 5 控制系统设计控制系统设计 5 1 系统方案设计构成 本系统包括机械部分和伺服电机控制两部分 根据所给的要求 拟用开环控制 结构设计方案 其开环系统结构原理如下 图 5 1 开环系统结构原理图 具体原理 编写单片机指令 通过扫描键盘输入的数字记录需要转动的角度 然后计算需要输出的脉冲 用软件的方法实现脉冲的输出 然后由光电耦合电 路减小外部的干扰 由功率放大电路实现功率的放大 然后接减速电动机 通 过联轴器把力矩传到主轴 带动料口的开关 5 2 单片机的选用 本设计选用 ATS9S51 芯片 片内无 ROM 或者 EPROM 使用时必须配置外部 的程序存储器 EPROM 本设计选用了 2764 扩展其空间 8031 的引脚分 3 大功能 5 2 1 I O 口线 P0 P1 P2 P3 共 4 个八位口 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 将指令字节读入指令寄存器 6 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 存放日 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 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 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 用于秒闪烁 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 显示秒位 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 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 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 按键子程序开始按键子程序开始 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 是否有效 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 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 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 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 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 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 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 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 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 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 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 JB P2 1 DATED2 L
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备设施包保管理制度
- 设计公司内控管理制度
- 设计单位现场管理制度
- 设计项目人员管理制度
- 诊所医疗器械管理制度
- 诊断试剂风险管理制度
- 试验示范基地管理制度
- 财务资金收支管理制度
- 货仓搬运安全管理制度
- 货物海关代理管理制度
- 南京医科大学自主招生面试试题综合素质答案技巧-南京医学院自主招生题
- 武陟县袁肯纸业有限公司纸箱项目环评报告
- 液氨的管理及应急救援处置
- 大学启示录:如何读大学(上海交通大学)【超星尔雅学习通】章节答案
- 创业法学江西财经大学【超星尔雅学习通】章节答案
- 工程质量验收报告和竣工验收报告
- 2023年黄大仙救世报
- 2022-2023学年内蒙古赤峰市数学高一下期末统考模拟试题含解析
- 江西省建筑工程竣工备案表
- 幼儿园三年发展规划第一年实施绩效自评报告
- (完整版)高考必备3500词
评论
0/150
提交评论