剑杆织布机单片机C语言程序_第1页
剑杆织布机单片机C语言程序_第2页
剑杆织布机单片机C语言程序_第3页
剑杆织布机单片机C语言程序_第4页
剑杆织布机单片机C语言程序_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、剑杆织布机单片机C语言程序#include#includesbit P3_7=P0A6; / sbitP3_6=P0A5; / sbitP3_5=P0A4; / sbitP3_4=P0A3; / sbitP3_3=P2A6; / sbitP3_2=P2A7; / sbitP3_1=P3A1; / sbitP3_0=P3A0; /sbit P2_7=P2A7; / /sbitP2_6=P2A6; / sbitP2_5=P2A5; / sbitP2_4=P2A4; /sbit P2_4=P2A4; / sbitP2_3=P1A2 ; /电器sbit P2_2=P3A7 ; / sbitP2_1=P

2、3A6; /点动按钮单梭按钮启动按钮停止按钮经停信号输入纬停信号输入“加”指示灯“减”指示灯“减”按钮“加”按钮储纬继电器保护输出,至指示灯,高压输出离合输出sbit P2_0=P2A0; /制动输出sbit P1_7=P0A7; /储纬停信号输入sbit P1_6=P0A2; / H3信号输入sbit P1_5=P0A1; / H2信号输入sbit P1_4=P0A0; / H1信号输入sbit P1_3=P3A4; / DIP2sbit P1_2=P3A5; / DIP3sbit P1_1=P3A3; / DIP4/ sbit P1_0=P1A0; / sbit P0_7=P0A7; /s

3、bit P0_6=P3A2; /过载保护输入sbit P0_5=P2A1; /保护输入,高压检测sbit P0_4=P2A2; /保护输入,离合检测sbit P0_3=P2A3; /保护输入,制动检测sbit P0_1=P1A0; /纬停输出sbit P0_0=P1A1; /经停输出#define uchar unsigned char# define uint unsigned int /static unsigned charflag,flag1,flag2,flag3,flag4,flag5,flag6,flag7;sbit P0_2=PM3; /电器。储纬停输出,至指示灯,继注意 无冒

4、号bit testflag,testflag1,testflag2,testflag3;static unsigned chartemp=0,temp1=0,temp2=0,temp3=0,tag=0,tag1=0,tag2=0,tag3=0,count=0;static unsigned char tag4=0,tag5=0,tag6=0,tag7=0;static unsigned chartemp4=0,temp5=0,temp6=0,temp7=0,temp8=0,temp9=0,xx=0,count1=0,enable=0,mean=0;static unsigned char x,

5、x1,x2,x3;static unsigned int i,j,k,i1,j1,k1;sfr T2MOD = 0 xC9;void delay(uchar ms);/sfr WDT_CONTR=0 xe1; /看门狗地址sfr ISP_DATA = 0 xE2; /* Flash Data Register */sfr ISP_ADDRH = 0 xE3; /* flash address high */sfr ISP_ADDRL = 0 xE4; /* flash address low */sfr ISP_CMD = 0 xE5; /* flash commandregister */s

6、fr ISP_TRIG = 0 xE6; /* flash command trigger */sfr ISP_CONTR = 0 xE7; /* isp/iap control register */#define ISP_IAP_BYTE_READ 1; /*读字节*/#define ISP_IAP_BYTE_PROGRAM 2; /*字节编程*/#define ISP_IAP_SECTOR_ERASE 3; /*扇区擦除*/#define ISP_IAP_ENABLE0 x81; /*系统工作时钟25) x=25;x1=byte_read(0 x2200);if (x145) x1=45

7、;while(1)if (P3_7=1) &(temp1=1) |(P3_6=1)&(temp1=1) ) temp2=1; / temp2点动单 梭终止运行标志while (temp2=1)/if (!(P1_6=1) & (P1_4=1)&(P1_5=0) ) continue;/ elseif(P1_6=1)&(P1_5=0)&(P1_4=1)P2_1=1;P2_0=0;temp=0;temp1=0;temp2=0;enable=0;if (P3_3=1)&(temp1=1) &(xx=0) temp3=1;P0_0=0;/

8、 temp3经停标志while(temp3=1) & (temp1=1)&(xx=0)/ if(!(P1_6=1) & (P1_4=1)&(P1_5=0) continue;/ else if(P1_6=1)&(P1_5=0)&(P1_4=1)P2_1=1;temp1=0;P2_0=0;P0_0=0;enable=0;temp3=0;if (P1_7=1)&(temp1=1) &(xx=0) )temp4=1;P0_2=0; /temp4储纬停标志while(temp4=1)&(temp1=1)&(xx=0) /i

9、f(!(P1_6=1) & (P1_4=1)&(P1_5=0) ) continue;/ elseif(P1_6=1)&(P1_5=0)&(P1_4=1)P2_1=1;temp1=0;P0_2=0;P2_0=0;enable=0;if (temp4=1) & (temp1=0) & (P3_4=1) P0_2=1;temp4=0; /解除储纬停标志if (P3_2=0)&(temp1=1) & (enable=1)&(xx=0) /纬停负输入delay(10);if (temp1=1) & (enable=1)&a

10、mp;(P3_2=0)&(xx=0)/count1数字滤波计数 略if (mean=5) /mean采样值 之和 略 /enable=1纬停允许while (temp1=1) &(enable=1)&(P3_2=0)&(xx=0)&(P0_5=0)&(P0_3=0)&(P0_6=1)/*if(!(P1_6=1) & (P1_5=1) continue;/断纬时 仍可保护elsedelay(2);P2_1=1;P2_0=0;temp1=0;temp5=1;enable=0;P0_1=0;*/ /temp5纬停标志if(P1_6=1)

11、&(P1_4=0)&(P1_5=1)&(P3_2=0)/传感器正输入flag=1; /flag断纬,传感器后沿停机记忆while(flag=1)&(P3_2=0)&(xx=0)&(P0_5=0)&(P0_3=0)&(P0_6=1) )if (P1_6=0)&(P1_5=0)temp5=1;flag=0;enable=0; /temp5纬停标 志if(P3_2=1)flag=0; /松开按钮flag=0;for (count1=0;count1=6) x-=1; P3_0=0;tag4=0;tag3=1;delay(10);

12、P3_0=1;if (P2_5=1) tag3=0;if(P3_4=0)&(tag4=0) /tag4=0停止按钮松开Sector_Erase(0 x2000);_nop_();byte_write( 0 x2000, x);_nop_();_nop_();tag4=1;if(P1_3=0)&(P1_2=0)&(P1_1=1)DIP3 ON DIP4 OFF点动距离调整if(P3_4=1) /停止按钮按下if (P2_4=0) &(tag2=0) ) / tag2钮 最多按10次写允许/ DIP2切断if(x1=36) x1-=1; P3_0=0;tag4=0;

13、tag3=1;delay(10);P3_0=1;if (P2_5=1) tag3=0;if(P3_4=0)&(tag4=0) /tag4=0停止按钮松开Sector_Erase(0 x2200);_nop_();byte_write( 0 x2200, x1);_nop_();_nop_();tag4=1;/if (temp1=1) delay(10); enable=1; /开机瞬间纬停无效if (P3_5=1) TR2=1; /按钮输入正if (temp1=0)&(P3_5=0) enable=0;i1=0;TR2=0;if (P2_0=0) /制动后 所有状态复位 除外写

14、允许,temp4 /count1数字滤波计数for (count1=0;count1=100)xx=1;P2_1=1;P2_0=1;P2_2=1;P2_3=0; _nop_(); P2_0=1;TR1=0; k=0; temp6=1;TH1=(65536-10000)/256;TL1=(65536-10000)%256;void timer2() interrupt 5i1+; TF2=0; /T2中断 溢出标志,必须清除if (i1=10) /1S,0.5sTR2=0; i1=0; enable=1; /定时时间到标志 纬停允许/ TH2=(65536-50000)/256;/TL2=(65

15、536-50000)%256;unsigned char byte_read(unsigned int addr)unsigned char ii;ISP_ADDRHISP_ADDRL= (addr8);= (addr&0 x00ff);ISP_CONTR= ISP_IAP_ENABLE; /0 x81ISP_CMD = ISP_IAP_BYTE_READ; /1ISP_TRIG = 0 x46;ISP_TRIG = 0 xb9;_nop_();_nop_();ii = ISP_DATA; ISP_CONTR = 0 x00;ISP_CMD = 0 x00;ISP_TRIG = 0 x

16、00; return ii;void byte_write(unsigned int addr,unsigned charprogram_data)ISP_DATA = program_data;ISP_ADDRH = (addr8);ISP_ADDRL= (addr&0 x00ff);ISP_CONTR = ISP_IAP_ENABLE; / 0 x81ISP_CMD =ISP_IAP_BYTE_PROGRAM; / 2ISP_TRIG =0 x46;ISP_TRIG =0 xb9;_nop_();ISP_CONTR = 0 x00;ISP_CMD = 0 x00;ISP_TRIG =0 x00;/ void IAP_Disable()/ /IAP_CONTR=0;/ IAP_CMD=0;/ IAP_TRIG=0;/ IAP_ADDRH=0;/IAP_ADDRL=0;/ void Sector_Erase(unsigned int addr)/addr=(addr&0 xfe00); /地址小于0 xfe00?ISP_ADDRH = (ad

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论