版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-作者xxxx-日期xxxx机车刮雨刷控制程序【精品文档】/*WXQ20160714 用于刮雨刷电机控制*/#include #include #include #include /数据类型定义#define uchar unsigned char#define uint unsigned int#define ulong unsigned long/试验模式#define TingZhi 0#define JianXie 1#define DiSu 2#define GaoSu 3#define NOP2 _nop_(); _nop_();#define NOP4 _nop_(); _nop
2、_(); _nop_(); _nop_();/输入引脚定义sbit dog = P30; /喂狗信号sbit J_X = P31; /间歇位sbit Z_X = P32; /正向脉冲检测sbit F_X = P33; /负向脉冲检测sbit T_Z = P34; /停止位sbit D_S = P35; /低速位sbit G_S = P37; /高速位/输出引脚定义sbit HX_KZ = P10; /换向控制sbit TJ_DD = P11; /停机断电sbit GS_KZ = P12; /高速控制sbit DS_KZ = P13; /低速控制sbit ResetPLC = P14; /复位P
3、LC编码器sbit L_R = P15; /电机复位时在左OR右 默认1=左sbit KG2_KZ = P16; /开关2 IRF840sbit V110_KZ = P17; /110V开关1 IRF840uchar data t1s; /1秒钟计时寄存器uint data Work_Mode; /工作模式寄存器uchar data Y_zt,X_zt; /原状态,新状态uchar bdata flg;sbit zxmc = flg0; /正向脉冲标志位sbit fxmc = flg1; /负向脉冲标志位sbit reset = flg6; /复位编码器标志位sbit t1sflg = flg
4、7; /1s定时标志/*以下为子程序*/延时10ms/*void delay10ms(void) uchar i,j; for(i=0;i24;i+) dog = dog; for(j=0;j=20) t1sflg = 1; t1s = 0 ; /延时N秒函数void delNs(uchar s) do t1sflg = 0; while(t1sflg=0); s-; while(s);/*void timer1() interrupt 3 /50ms定时中断 TH1=0x4C; TL1=0x00;*/外中断0,用来检测正向脉冲void int0() interrupt 0 zxmc = 1;
5、 /正向到位 /fxmc = 0; /清楚负向脉冲 /if(Work_Mode0) / /V110_KZ = 1; /关闭MOS / /外中断1,用来检测反向脉冲void int1() interrupt 2 fxmc = 1; /负向到位 /zxmc = 0; /清楚正向脉冲 /if(Work_Mode0) / /V110_KZ = 1; /关闭MOS / /高低速控制void GDS_KZ(uchar gds) uchar jc=0; zxmc = 0; fxmc = 0; /高低速判断 V110_KZ = 1;/MOS关闭 if(gds) GS_KZ = 0; DS_KZ = 1; el
6、se GS_KZ = 1; DS_KZ = 0; HX_KZ = 0; /切换为正向 TJ_DD = 0; /停机开关闭合 V110_KZ = 0; /接通110V电源 while(zxmc=0); /等待正向到位信号 zxmc = 0; HX_KZ = 1; /切换为负向 V110_KZ = 0; /反向动作 while(fxmc=0); /等待反向到位信号 fxmc = 0; /间歇控制程序void JianX_KZ(void) uchar jc=0; zxmc = 0; /标志位清零 fxmc = 0; /高低速判断 V110_KZ = 1;/MOS关闭 GS_KZ = 1; DS_KZ
7、 = 0; HX_KZ = 1; /切换为正向 TJ_DD = 0; /停机开关闭合 delNs(3); zxmc = 0; /标志位清零 do V110_KZ = 0; /接通110V电源 while(zxmc=0); /等待正向到位信号 V110_KZ = 1; /接通110V电源 zxmc = 0; HX_KZ = 0; /切换为负向 delNs(3); zxmc = 0; /标志位清零 do V110_KZ = 0; while(fxmc=0); /等待正向到位信号 V110_KZ = 1; fxmc = 0;/*主程序代码*/void main(void) uchar key =0;
8、 Init_Mcu(); Y_zt = 0; X_zt = 0; Work_Mode = 0; ResetPLC = 0; / 复位PLC编码器 delay10ms(); / delay10ms(); / ResetPLC = 1; / zxmc = 0; /标志位清零 fxmc = 0; delNs(2); /延时1秒 EX0 = 0; EX1 = 0; while(1) if(J_X) GS_KZ = 1; DS_KZ = 0; HX_KZ = 0; /切换为正向 TJ_DD = 0; /停机开关闭合 delNs(1); /延时1秒 V110_KZ = 0; /接通110V电源 else
9、V110_KZ = 1; /接通110V电源 /=KEY检测= /key = P3&0xB2; /if(key!=0) / /delay10ms(); /延时10MS去抖动,判断开关位置 /key = P3&0xB2; /if(key!=0) /工作模式判断 / if(J_X) Work_Mode = 1; if(reset=0) ResetPLC = 0; / 复位PLC编码器 delay10ms(); / delay10ms(); / ResetPLC = 1; reset = 1; if(D_S) Work_Mode = 2; if(reset=0) ResetPLC = 0; / 复位
10、PLC编码器 delay10ms(); / delay10ms(); / ResetPLC = 1; reset = 1; if(G_S) Work_Mode = 3; if(reset=0) ResetPLC = 0; / 复位PLC编码器 delay10ms(); / delay10ms(); / ResetPLC = 1; reset = 1; if(T_Z) Work_Mode = 0; reset = 0; ResetPLC = 0; / 复位PLC编码器 / / dog = dog; /=工作模式实现部分= switch(Work_Mode) case JianXie: /间歇模式1 /JianX_KZ(); Work_Mode = 0; break; case DiSu: /低速模式2 /GDS_KZ(0); Work_Mode = 0;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 心脏移植供体分配的应急调配绿色通道
- 心脏淀粉样病的个体化治疗策略制定
- 心肌淀粉样病的影像学误诊防范策略
- 微生物组与肠脑轴疾病的干预策略效果
- 微创神经外科中双器械操作的并发症预防
- 微创三叉神经微血管减压术的术后切口护理要点
- 2025年海上货运代理协议
- 康复资源在老年认知障碍康复中的策略
- 康复干预在老年终末期患者跌倒预防中的环境适配策略
- 应急演练满意度调查改进
- 人教版小学科学六年级上册全册教案
- 老年人能力评估师(三级)职业鉴定考试题及答案
- 新沪科版八年级物理第六章熟悉而陌生的力单元测试试题(含答案)
- JT-T-848-2013公路用复合隔离栅立柱
- 锅炉平台扶梯技术规范
- 学术交流英语(学术写作)智慧树知到期末考试答案2024年
- 《配电网设施可靠性评价指标导则》
- 农村保洁服务人员录用、培训、考核及奖惩方案
- 《水电工程运行调度规程编制导则》(NB-T 10084-2018)
- 《光伏发电工程工程量清单计价规范》
- 提升企业仓储员工工作责任心培训课件
评论
0/150
提交评论