基于单片机的自行车测速系统设计毕业论文内容摘要:

自行车里程 /速度计的设计 16 致谢 首先,我要感谢 何景峰 老师在本次毕业设计中不厌其烦的指导我, 在整个毕业设计制作过程中, 使得我在单片机方面 的 技能得到了进一步提高。 何老师 给予了全程的帮作、鼓励与指导, 他的细心是我非常感动, 在此我表示衷心的感谢。 还有我要感谢筹划、负责这次毕业设计的老师领导。 有了你们仔细认真的工作,我们的毕业设计才能有条不紊的展开。 最后,我还要感谢我身边的同学、朋友,他们也给了我很大的帮助。 自行车里程 /速度计的设计 17 附录 : 系统完整源程序 以下是控制系统完整源程序。 SPEED/MILE OR IKE PROGRAM。 60H, 61H, 62H 作里程计数单元, 6CH, 6DH 作 T1计数扩充单元,。 68H, 69H, 6AH, 6BH 存放自行车每圈时间数, 70H, 71H, 72H, 73H。 作显示 BCD 码存放数用, 11H— 15H 存放被除数, 16H19H 存放除数。 定义 VSDA EQU。 EEPROM 数据传送口 VSCL EQU。 EEPROM 时钟传送口 SLA EQU 50H。 EEPROM 器件寻址字节存放单元 NUMBYT EQU 51H。 EEPROM 传送字节数存放单元 MTD EQU 30H。 EEPROM 发送数据缓冲单元 MRD EQU 40H。 EEPROM 读出数据存放单元 SLAW EQU 0A0H。 EEPROM 寻址字节写 SLAR EQU 0A1H。 EEPROM 寻址 字节读 DPHH EQU 62H。 DPTR 计数扩展高 8位 TH1H EQU 6CH。 定时器 T1扩展高 8位 TH1HH EQU 6DH。 定时器 T1扩展高 816 位。 PRO GRAM INPUT。 自行车里程 /速度计的设计 18 ORG 0000H。 程序执行开始地址 LJMP START。 跳至 START ORG 0003H。 外中断 0 中断程序入口 LJMP INTEX0。 跳至 INTEX0 中断服务程序 ORG 000BH。 定时器 T0中断程序入口 RETI。 中断返回 ORG 0013H。 外中断 1 中断入口 LJMP INTEX1。 跳至 INTEX1 中断服务程序 ORG 001BH。 定时器 T1中断程序入口 LJMP INTT1。 跳至 INTT1中断服务程序 ORG 0023H。 串口中断入口地址 RETI。 中断返回 ORG 002BH。 定时器 T2中断入口地址 RETI。 中断返回。 PROGRAM CLEAR。 上电初始化程序 CLEARMEN: MOV TMOD, 90H。 T1 为 16 位外部控制定时器 MOV SP, 75H。 堆栈在 75H 开始 SETB PX0。 外中断 0优先级为 1 SETB IT0。 外中断 0用边沿触发 SETB IT1。 外中断 1用边沿触发 MOV 20H, A。 清内存中特定单元 MOV 6CH, A。 MOV 6DH, A。 MOV 70H, A。 MOV 71H, A。 自行车里程 /速度计的设计 19 MOV 72H, A。 MOV 73H, A。 MOV 60H, A。 MOV 61H, A。 MOV 62H, A。 MOV 63H, A。 清内存中特定单元 DEC A。 A 为 0FFH MOV 68H, A。 内存置数据 0FFH MOV 69H, A。 内存置数据 0FFH MOV 6AH, A。 内存置数据 0FFH MOV 6BH, A。 内存置数据 0FFH MOV P1, A。 P1 口置 1 CLEAR1: JB , KEY1。 根据 , 设置状态。 在 21 地址单元赋自行车周长值 MOV 21H, 0FH。 22 寸自行车周长值 LJMP CLEAR2。 转 CLEAR2 KEY1: JB , KEY2。 MOV 21H, 12H。 24 寸自行车周长值 LJMP CLEAR2。 CLEAR2 KEY2: JB , KEY3。 MOV 21H, 14H。 26 寸自行车周长值 LJMP CLEAR2。 转 CLEAR2 KEY3: JB , ERR。 四个开关都没合上,转出错处理 MOV 21H, 19H。 28 寸自行车周长值 CLEAR2: SETB TR1。 开定时器 T1 SETB EA。 开中断允许 SETB EX0。 开外中断 0 SETB ET1。 开定时中断 T1 SETB。 关报警器 LCALL VIICREAD。 将 EEPROM 中原里程数据调 入 自行车里程 /速度计的设计 20 内存 RET。 子程序返回 ERR: CPL。 轮周长设置出错, LED 灯闪提醒 ALL DL5S。 延时 LJMP CLEAR1。 重新初始化,等待轮周长设置开关合上。 PROGRAM START。 START: LCALL CLEARMEN。 上电初始化 START1: JB , DISPLAYS。 =1,显示里程 LCALL DISPLAYV。 显示速度 START2: SJMP START1。 转 START1 循环。 INTEX0 PROGRAM。 里程计数程序,用外中断 0实现,计数用 60H62H 内存单元。 INTEX0: PUSH ACC。 累加器堆栈保护 PUSH PSW。 状态字堆栈保护 INC 60H。 圈加 1 CLR A。 清 A CJNE A, 60H, INTEX0OUT。 计数没溢出转 INTEX0OUT INC 61H。 溢出进位( 61H 加 1) CJNE A, 61H, INTEX0OUT。 计数没溢出转 INTEX0OUT INC 62H。 溢出进位( 62H 加 1) INTEX0OUT: LCALL VIICWRITE。 里程数据存入 EEPROM SETB EX1。 开外中断 1 POP PSW。 状态字恢复 自行车里程 /速度计的设计 21 POP ACC。 累加器恢复 RETI。 中断返回。 INTEX1 PROGRAM。 每转 1 圈时间计数处理程序,每圈时间放在 68H6BH 单元中。 INTEX1: PUSH ACC。 堆栈保护 PUSH PSW。 CLR。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。