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

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

《单片机课程设计模拟跑步机.doc》由会员分享,可在线阅读,更多相关《单片机课程设计模拟跑步机.doc(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):M8031P3.0P3.1P3.2P3.3P3.4P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7SW1KEY*8LED3LED1LED2 图 1三、设计流程图开始延时功能加速功能减速功能K4延时7秒K5延时14秒K7快档微调K2加速档K6慢档微调K3减速档结束开机?SW1是否置1?NY按下不同按钮实现不同功能四、程序清单:PWMH DATA30H;高电平脉冲的个数 PWM DATA31HCOUNTER DATA32HTEMP

3、DATA33HORG 8000H AJMP CLOSEORG 800BHAJMP INTT0ORG 801BHAJMP T1SORG 8100HCLOSE: ;关总开关 关中断 关电机 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 MO

4、V 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则启

5、动定时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,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

6、为高电平 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,PWMH CJNE A,#01H,K3H0 ;判断是否到达下边界 SJMP KSCAN ;是,则不进行任何操作 K3H0: MOV A,PWMH MOV TEMP,PWM DEC A CJNE A,#01H,

7、K3H1 ;如果在减1后到达下边界 CLR TR0 ;定时器停止 CLR P3.0 ;P3.0为低电平 CLR P3.3 ;若达最小速度,点亮指示灯 SJMP K3H2K3H1: DEC TEMP CJNE A,TEMP,K3H2 ;如果到达上边界 SETB TR0 ;启动定时器 SETB P3.3 ;熄灭指示灯 K3H2: DEC PWMH ;降低占空比 SJMP KSCANK4: SETB TR1 ;开定时器1 CLR P3.4 ;点亮定时指示灯 MOV 34H,#100 ;7S定时 SJMP MK5: SETB TR1 ;开定时器1 CLR P3.4 ;点亮定时指示灯 MOV 34H,#

8、200 ;14S定时 SJMP MM: JNB 00H,M ;等待定时器中断 N: CLR TR1 ;关定时器1 SETB TR0 ;重开定时器0 LJMP MAINK6: MOV PWMH,#05H ;改变占空比,换慢档 LJMP KSCANK7: 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

9、NEXT: RETIINTT0: 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,用来实现对整个跑步机的停机、工作

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号