机械计算机系统控制

机械计算机系统控制

ID:40847845

大小:509.78 KB

页数:10页

时间:2019-08-08

机械计算机系统控制_第1页
机械计算机系统控制_第2页
机械计算机系统控制_第3页
机械计算机系统控制_第4页
机械计算机系统控制_第5页
资源描述:

《机械计算机系统控制》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、//驱动步进电机以150r/min运动//#includesbitPL0=P1^0;sbitDIR0=P1^1;unsignedintTH1_R,TL1_R,num_R,a;voidT1_int(void)interrupt3{EA=0;关中断PL0=~PL0;中断到时脉冲取反TH1=TH1_R;重新装入定时器初值TL1=TL1_R;EA=1;允许总中断}voidmain(void){P1=0xff;do{DIR0=0;a=500;500为150r/min对应的频率EA=1;总段允许ET1=1;T1

2、定时器/计数器中断允许TMOD=TMOD&0x0f;设定T1工作方式TMOD=TMOD

3、0x10;TH1_R=(65536-11059200/24/a)/256;根据频率计算定时器初值TL1_R=(65536-11059200/24/a)%256;TH1=TH1_R;装入初值TL1=TL1_R;TR1=1;启动定时器1结束后会触发中断执行voidT_1子程序}while(1);}硬件接线图#includebdataunsignedcharX_IMG[2]={0x00,0x00};bdataunsig

4、nedcharY_IMG[2]={0x00,0x00};bitT0_flag,T0_triger,T0_end,T1_flag,T1_triger,rotate_trigger,rotate_end;unsignedcharT0_times,T1_times;sbitK1_IMG=X_IMG[0]^0;sbitK2_IMG=X_IMG[0]^1;sbitK3_IMG=X_IMG[0]^2;sbitK4_IMG=X_IMG[0]^3;sbitK1R=P1^4;sbitK2R=P1^5;sbitK3R=P1^6;sbit

5、K4R=P1^7;sbitPL0=P1^0;sbitDIR0=P1^1;unsignedintTH1_R,TL1_R,num_R;voidini_tialize(void)//初始化P1口//{P1=0xff;}Voidkey_scan(void)//读取卡关状态//{K1_IMG=!K1R;K2_IMG=!K2R;K3_IMG=!K3R;K4_IMG=!K4R;}voiddelay2000(void)//用T0延时2000秒//{T0_triger=1;T0_times=40;//延时次数//EA=1;//总中断允

6、许//ET0=1;//T0开中断//TMOD=TMOD&0xf0;//T016位定时器方式1//TMOD=TMOD

7、0x01;TH0=0x4b;//装入T0初始值//TL0=0xff;TR0=1;//启动定时器T0//}voidT0_int(void)interrupt1//T0中断响应子程序//{EA=0;T0_times--;if(!T0_times){T0_flag=1;TR0=0;//关定时器T0//T0_end=1;}else{TH0=0x4b;TL0=0xff;}EA=1;//总中断允许//}Voidro

8、tate(unsignedintpl_freq,unsignedintpl_num)//用T1进行P1.0口的脉冲输出//{inta=pl_freq;//设定转速//num_R=pl_num*2;//设定脉冲输出个数,即步进电机的位子控制//rotate_trigger=1;//标志位//EA=1;ET1=1;TMOD=TMOD&0x0f;TMOD=TMOD

9、0x10;TH1_R=(65536-11059200/24/a)/256;TL1_R=(65536-11059200/24/a)%256;TH1=TH1_R;T

10、L1=TL1_R;}voidT1_int(void)interrupt3//脉冲信号输出//{EA=0;PL0=~PL0;if(num_R){num_R--;TH1=TH1_R;TL1=TL1_R;EA=1;}Else{rotate_end=1;}}voidmain(void)//主程序判断键位决定电机工作方式//{ini_tialize();//初始化P0口//do{key_scan();//读入各各键位的值//if(K2_IMG){TR0=0;T0_end=0;T0_triger=0;TR1=0;rotate_t

11、rigger=0;rotate_end=0;}if(K1_IMG){if(!rotate_trigger){DIR0=0;rotate(500,400);TR1=1;}//r_t=0时正转2圈//}If(rotate_end&(!DIR0)){rotate_end=0;TR1=0;rotate_trigger=0;if(!T0_triger){

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。