收藏 分销(赏)

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

上传人:xrp****65 文档编号:7727661 上传时间:2025-01-14 格式:DOC 页数:8 大小:62.50KB 下载积分:10 金币
下载 相关 举报
单片机课程设计模拟跑步机.doc_第1页
第1页 / 共8页
单片机课程设计模拟跑步机.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
河北工业大学计算机硬件技术基础(MCS-51)2007年课程设计报告 一、题目:模拟跑步机 二、目的与要求: 1.目的: 利用所学的计算机硬件基础知识(MCS-51)进行简单的软硬件设计,掌握单片机开发的一般过程和方法。 2.设计要求: ①要求用单片机实验开发系统(DP-51PROC)来完成设计。 ②要求在设计中要使用定时器、外部中断P1口或按键等。 ③完成的设计量程可调、功能完善。 二、总体设计 1、分析问题的功能 基于MCS-51单片机的跑步机的设计,主要要实现以下几种功能: (1)给定速度后,延时7秒停止; (2)给定速度后,延时14秒停止; (3)给定速度后,分快慢档加速; (4)给定速度后,分快慢档减速. 2、系统总体结构设计 该跑步机的设计是基于MCS-51单片机的,使用到的硬件主要有8031的P1口和P3口,LED显示器,SW1,KEY接口,直流电动机 如图示(图1): M 8031 P3.0 P3.1 P3.2 P3.3 P3.4 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 SW1 KEY*8 LED3 LED1 LED2 图 1 三、设计流程图 开始 延时功能 加速功能 减速功能 K4延时7秒 K5延时14秒 K7快档微调 K2加速档 K6慢档微调 K3减速档 结束 开机?SW1是否置1? N Y 按下不同按钮实现不同功能 四、程序清单: PWMH DATA 30H ;高电平脉冲的个数 PWM DATA 31H COUNTER DATA 32H TEMP DATA 33H ORG 8000H AJMP CLOSE ORG 800BH AJMP INTT0 ORG 801BH AJMP T1S ORG 8100H CLOSE: ;关总开关 关中断 关电机 CLR TR0 CLR P3.0 SETB 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,#02H MOV COUNTER,#01H MOV PWM,#15H MOV TMOD,#12H ;定时器0为工作模式2,定时器1为工作模式1 MOV TL0,#38H ;定时器每200us产生一次溢出 MOV TH0,#38H ;自动重装的值 MOV TH1,#4CH MOV TL1,#00H MOV R2,#00H CLR 00H SETB ET0 ;使能定时器0中断 SETB ET1 ;使能定时器1中断 SETB EA ;使能总中断 SETB TR0 ;定时器0开始计时 KSCAN: JNB P3.1,CLOSE ;扫描开关 JNB P1.1,K2CHECK ;按下K2则加速 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 KSCAN K2CHECK: JB P1.1,K2HANDLE ;去抖动,如果按下KEY1,跳转到KEY1处理程序 SJMP K2CHECK K2HANDLE: MOV A,PWMH CJNE A,PWM,K2H0 ;判断是否到达上边界 SJMP KSCAN ;是,则不进行任何操作 K2H0: MOV A,PWMH INC A CJNE A,PWM,K2H1 ;如果在加1后到达最大值 CLR TR0 ;定时器停止 SETB P3.0 ;P3.0为高电平 CLR P3.3 ;若达最大速度,点亮指示灯 SJMP K2H2 K2H1: CJNE A,#02H,K2H2 ;如果加1后到达下边界 SETB TR0 ;重开定时器 SETB P3.3 ;熄灭指示灯 K2H2: INC PWMH ;增加占空比 SJMP KSCAN K3CHECK: JB P1.2,K3HANDLE ;去抖动 SJMP K3CHECK K3HANDLE: MOV A,PWMH CJNE A,#01H,K3H0 ;判断是否到达下边界 SJMP KSCAN ;是,则不进行任何操作 K3H0: MOV A,PWMH MOV TEMP,PWM DEC A CJNE A,#01H,K3H1 ;如果在减1后到达下边界 CLR TR0 ;定时器停止 CLR P3.0 ;P3.0为低电平 CLR P3.3 ;若达最小速度,点亮指示灯 SJMP K3H2 K3H1: DEC TEMP CJNE A,TEMP,K3H2 ;如果到达上边界 SETB TR0 ;启动定时器 SETB P3.3 ;熄灭指示灯 K3H2: DEC PWMH ;降低占空比 SJMP KSCAN K4: SETB TR1 ;开定时器1 CLR P3.4 ;点亮定时指示灯 MOV 34H,#100 ;7S定时 SJMP M K5: SETB TR1 ;开定时器1 CLR P3.4 ;点亮定时指示灯 MOV 34H,#200 ;14S定时 SJMP M M: JNB 00H,M ;等待定时器中断 N: CLR TR1 ;关定时器1 SETB TR0 ;重开定时器0 LJMP MAIN K6: MOV PWMH,#05H ;改变占空比,换慢档 LJMP KSCAN K7: MOV PWMH,#0AH ;改变占空比,换快档 LJMP KSCAN T1S: INC R2 ;50mS定时 MOV A,R2 CJNE A,34H,NEXT CLR TR0 CLR P3.0 SETB P3.3 SETB P3.4 MOV TH1,#4CH MOV TL1,#00H MOV R2,#00H SETB 00H SETB P3.4 NEXT: RETI INTT0: PUSH PSW ;现场保护 PUSH ACC INC COUNTER ;计数值加1 MOV A,COUNTER CJNE 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 PSW RETI END 五、你所设计的程序最终完成的功能 1)说明你编制的程序能完成的功能; ①用开关SW1模拟电源总开关,并配指示灯LED1,用来实现对整个跑步机的停机、工作的控制。 ②用按钮K7、K6实现选择快、慢不同挡位。 ③用按钮K4、K5实现对A、B两种定时模式的选择,定时模式A是5秒定时用以模拟10分钟定时跑步,定时模式B是10秒定时用以模拟20分钟定时跑步,并配指示灯LED3,按下按钮、开始定时、LED3点亮,当定时时间结束跑步机停止运转LED3熄灭。 ④用按钮K7、K6实现对速度的微调,并配指示灯LED2,当微调变快到速度最大时LED2点亮表明此时变快按钮失效速度不能继续增大,当微调变慢到速度为零时LED2也点亮表明跑步机停止运转但仍处带电状态。 2)记录运行结果: 六、对该设计题目有何更完善的方案 我们所设计的跑步机可实现基本的操作功能,可是还存在许多不足之处,如延时的时间无法多项调节,变速大小无法控制,微调不明显. 七、收获及心得体会 通过此次单片机设计实习,我学会了观察问题和搜集资料的方法;把自己在学校学到的知识转化为实验成果,积累了一定的经验,提高了分析问题和解决问题的实际能力。我体会到课程设计的各个环节,不是孤立的,每个环节都是必不可少的。在该课程设计的过程中,我深刻体会到了计算机研究工作的艰辛。自己觉得理论上可行的方法,在实验的过程中却不一定行得通。经过了一次又一次地修改程序和检查电路,终于完成了自己的课程设计。虽然它有许多的不完善,可我却有一种无法言表的喜悦与成就感。我明白了课程设计的过程,就是不断地改进与完善的过程。面对设计中遇到的问题,不要轻言放弃。通过自己的努力和虚心地向老师和同学请教和探讨,一定能将问题解决。 此程序为两人共同完成! 日期: 2007年 12 月 25 日
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服