单片机课程设计模拟跑步机.doc

上传人:sk****8 文档编号:3533714 上传时间:2019-06-02 格式:DOC 页数:8 大小:62.50KB
下载 相关 举报
单片机课程设计模拟跑步机.doc_第1页
第1页 / 共8页
单片机课程设计模拟跑步机.doc_第2页
第2页 / 共8页
单片机课程设计模拟跑步机.doc_第3页
第3页 / 共8页
单片机课程设计模拟跑步机.doc_第4页
第4页 / 共8页
单片机课程设计模拟跑步机.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、河北工业大学计算机硬件技术基础(MCS-51)2007 年课程设计报告一、题目:模拟跑步机二、目的与要求:1.目的:利用所学的计算机硬件基础知识(MCS-51)进行简单的软硬件设计,掌握单片机开发的一般过程和方法。2.设计要求:要求用单片机实验开发系统(DP-51PROC)来完成设计。要求在设计中要使用定时器、外部中断 P1 口或按键等。完成的设计量程可调、功能完善。二、总体设计1、分析问题的功能基于 MCS-51 单片机的跑步机的设计,主要要实现以下几种功能:(1)给定速度后,延时 7 秒停止;(2)给定速度后,延时 14 秒停止;(3)给定速度后,分快慢档加速;(4)给定速度后,分快慢档减

2、速.2、系统总体结构设计该跑步机的设计是基于 MCS-51 单片机的,使用到的硬件主要有 8031 的 P1 口和 P3 口,LED 显示器, SW1,KEY 接口,直流电动机如图示(图 1):图 1三、设计流程图M8031P3.0P3.1P3.2P3.3P3.4P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7SW1KEY*8LED1LED2LED3开始延时功能 加速功能 减速功能K4 延时7 秒K5 延时14 秒K7 快档微调K2 加速档K6 慢档微调K3 减速档结束开机?SW1 是否置 1? NY按下不同按钮实现不同功能四、程序清单:PWMH DATA 30H ;高电平脉冲

3、的个数 PWM DATA 31HCOUNTER DATA 32HTEMP DATA 33HORG 8000H AJMP CLOSEORG 800BHAJMP INTT0ORG 801BHAJMP T1SORG 8100HCLOSE: ;关总开关 关中断 关电机 CLR TR0CLR P3.0SETB P3.2 ;熄灭所有指示灯 SETB P3.3 SETB P3.4 SJMP OPEN OPEN: JNB P3.1,$ ;判断开关是否打开,SW1 是否置 1 CLR P3.2 ;点亮总指示灯 SJMP MAIN ;转主程序 MAIN:MOV SP,#60H ;给堆栈指针赋初值 MOV PWMH

4、,#02HMOV COUNTER,#01HMOV PWM,#15HMOV TMOD,#12H ;定时器 0 为工作模式 2,定时器 1 为工作模式 1 MOV TL0,#38H ;定时器每 200us 产生一次溢出 MOV TH0,#38H ;自动重装的值 MOV TH1,#4CHMOV TL1,#00HMOV R2,#00HCLR 00HSETB ET0 ;使能定时器 0 中断 SETB ET1 ;使能定时器 1 中断 SETB EA ;使能总中断 SETB TR0 ;定时器 0 开始计时 KSCAN:JNB P3.1,CLOSE ;扫描开关 JNB P1.1,K2CHECK ;按下 K2

5、则加速 JNB P1.2,K3CHECK ;按下 K3 则减速 JNB P1.3,K4 ;按下 K4 则启动定时 A JNB P1.4,K5 ;按下 K5 则启动定时 B JNB P1.5,K6 ;按下 K6 则换到档位 1 JNB P1.6,K7 ;按下 K7 则换到档位 2 SJMP KSCANK2CHECK:JB P1.1,K2HANDLE ;去抖动,如果按下 KEY1,跳转到 KEY1 处理程序 SJMP K2CHECKK2HANDLE:MOV A,PWMHCJNE A,PWM,K2H0 ;判断是否到达上边界 SJMP KSCAN ;是,则不进行任何操作 K2H0:MOV A,PWMH

6、INC ACJNE A,PWM,K2H1 ;如果在加 1 后到达最大值 CLR TR0 ;定时器停止 SETB P3.0 ;P3.0 为高电平 CLR P3.3 ;若达最大速度,点亮指示灯 SJMP K2H2K2H1:CJNE A,#02H,K2H2 ;如果加 1 后到达下边界 SETB TR0 ;重开定时器 SETB P3.3 ;熄灭指示灯 K2H2:INC PWMH ;增加占空比 SJMP KSCANK3CHECK:JB P1.2,K3HANDLE ;去抖动 SJMP K3CHECKK3HANDLE:MOV A,PWMHCJNE A,#01H,K3H0 ;判断是否到达下边界 SJMP KS

7、CAN ;是,则不进行任何操作 K3H0:MOV A,PWMHMOV TEMP,PWMDEC ACJNE A,#01H,K3H1 ;如果在减 1 后到达下边界 CLR TR0 ;定时器停止 CLR P3.0 ;P3.0 为低电平 CLR P3.3 ;若达最小速度,点亮指示灯 SJMP K3H2K3H1:DEC TEMPCJNE A,TEMP,K3H2 ;如果到达上边界 SETB TR0 ;启动定时器 SETB P3.3 ;熄灭指示灯 K3H2:DEC PWMH ;降低占空比 SJMP KSCANK4: SETB TR1 ;开定时器 1 CLR P3.4 ;点亮定时指示灯 MOV 34H,#10

8、0 ;7S 定时 SJMP MK5: SETB TR1 ;开定时器 1CLR P3.4 ;点亮定时指示灯 MOV 34H,#200 ;14S 定时 SJMP MM: JNB 00H,M ;等待定时器中断 N: CLR TR1 ;关定时器 1SETB TR0 ;重开定时器 0 LJMP MAINK6: MOV PWMH,#05H ;改变占空比,换慢档LJMP KSCANK7: MOV PWMH,#0AH ;改变占空比,换快档LJMP KSCAN T1S: INC R2 ;50mS 定时 MOV A,R2CJNE A,34H,NEXTCLR TR0CLR P3.0SETB P3.3 SETB P3

9、.4MOV TH1,#4CHMOV TL1,#00H MOV R2,#00HSETB 00HSETB P3.4NEXT: RETIINTT0:PUSH PSW ;现场保护 PUSH ACCINC COUNTER ;计数值加 1MOV A,COUNTERCJNE A,PWMH,INTT01 ;如果等于高电平脉冲数 CLR P3.0 ;P3.0 变为低电平 INTT01:CJNE A,PWM,INTT02 ;如果等于周期数 MOV COUNTER,#01H ;计数器复位 SETB P3.0 ;P3.0 为高电平 INTT02:POP ACC ;出栈 POP PSWRETIEND五、你所设计的程序最

10、终完成的功能1)说明你编制的程序能完成的功能;用开关 SW1 模拟电源总开关,并配指示灯 LED1,用来实现对整个跑步机的停机、工作的控制。用按钮 K7、K6 实现选择快、慢不同挡位。用按钮 K4、K5 实现对 A、B 两种定时模式的选择,定时模式 A 是 5 秒定时用以模拟 10 分钟定时跑步,定时模式 B 是 10 秒定时用以模拟 20分钟定时跑步,并配指示灯 LED3,按下按钮、开始定时、LED3 点亮,当定时时间结束跑步机停止运转 LED3 熄灭。用按钮 K7、K6 实现对速度的微调,并配指示灯 LED2,当微调变快到速度最大时 LED2 点亮表明此时变快按钮失效速度不能继续增大,当微

11、调变慢到速度为零时 LED2 也点亮表明跑步机停止运转但仍处带电状态。2)记录运行结果:六、对该设计题目有何更完善的方案我们所设计的跑步机可实现基本的操作功能,可是还存在许多不足之处,如延时的时间无法多项调节,变速大小无法控制,微调不明显.七、收获及心得体会通过此次单片机设计实习,我学会了观察问题和搜集资料的方法;把自己在学校学到的知识转化为实验成果,积累了一定的经验,提高了分析问题和解决问题的实际能力。我体会到课程设计的各个环节,不是孤立的,每个环节都是必不可少的。在该课程设计的过程中,我深刻体会到了计算机研究工作的艰辛。自己觉得理论上可行的方法,在实验的过程中却不一定行得通。经过了一次又一次地修改程序和检查电路,终于完成了自己的课程设计。虽然它有许多的不完善,可我却有一种无法言表的喜悦与成就感。我明白了课程设计的过程,就是不断地改进与完善的过程。面对设计中遇到的问题,不要轻言放弃。通过自己的努力和虚心地向老师和同学请教和探讨,一定能将问题解决。此程序为两人共同完成! 日期: 2007 年 12 月 25 日

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。