亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? work._c

?? 開票蓋章系統設計開發環境為ICC,可以編譯成匯編,直接下栽到嵌入式avr單片機進行控制
?? _C
字號:
//**********************FileName:Work.c**************************//
//**********************ICCAVR6.30編譯****************************//
#include <io8535v.h>
#include <macros.h>
#define uchar unsigned char
#define uint  unsigned int

//引腳信號定義
#define  KEY_0 (PINA&0x01)     //PA0裝票鍵 
#define  KEY_1 (PINA&0x02)     //PA1打印頁碼鍵
#define  KEY_2 (PINA&0x04)     //PA2蓋章鍵 

#define  SONSOR_0 (PINB&0x01)  //PB0前傳感器
#define  SONSOR_1 (PINB&0x02)  //PB1中傳感器
#define  SONSOR_2 (PINB&0x04)  //PB2后傳感器
#define  SONSOR_3 (PINB&0x08)  //PB3紙傳感器
#define  SONSOR_4 (PINB&0x10)  //PB4字輪傳感器
#define  SONSOR_5 (PINB&0x20)  //PB5行走左傳感器
#define  SONSOR_6 (PINB&0x40)  //PB6行走右傳感器

#define  SIGN_ON1   (PORTD=PORTD|0x01) //PD0=1蓋章工作指示燈輸出
#define  SIGN_ON0   (PORTD=PORTD&0xfe) //PD0=0蓋章工作指示燈輸出
#define  SIGN_OFF1  (PORTD=PORTD|0x02) //PD1=1蓋章結束指示燈輸出管腳
#define  SIGN_OFF0  (PORTD=PORTD&0xfd) //PD1=0蓋章結束指示燈輸出管腳
#define  PRINT_ON1  (PORTD=PORTD|0x08) //PD3=1打印頁碼工作指示燈輸出管腳
#define  PRINT_ON0  (PORTD=PORTD&0xf7) //PD3=0打印頁碼工作指示燈輸出管腳
#define  PRINT_OFF1 (PORTD=PORTD|0x10) //PD4=1打印頁碼結束指示燈輸出管腳
#define  PRINT_OFF0 (PORTD=PORTD&0xef) //PD4=1打印頁碼結束指示燈輸出管腳

#define  GRASP_ACT1 (PORTC=PORTC|0x01) //PC0抓紙機械手輸出管腳
#define  GRASP_ACT0 (PORTC=PORTC&0xfe) //PC0抓紙機械手輸出管腳
#define  PRINT_ACT1 (PORTC=PORTC|0x02) //PC1字輪擊打電磁鐵輸出管腳
#define  PRINT_ACT0 (PORTC=PORTC&0xfd) //PC1字輪擊打電磁鐵輸出管腳
#define  SIGN_ACT1  (PORTC=PORTC|0x04) //PC2蓋章擊打電磁鐵輸出管腳
#define  SIGN_ACT0  (PORTC=PORTC&0xfb) //PC2蓋章擊打電磁鐵輸出管腳
#define  M_DIR1     (PORTC=PORTC|0x08) //PC3電機方向輸出管腳
#define  M_DIR0     (PORTC=PORTC&0xf7) //PC3電機方向輸出管腳
#define  M3_pulse1  (PORTC=PORTC|0x10) //PC4字輪電機脈沖輸出管腳
#define  M3_pulse0  (PORTC=PORTC&0xef) //PC4字輪電機脈沖輸出管腳
#define  M2_pulse1  (PORTC=PORTC|0x20) //PC5行走電機脈沖輸出管腳
#define  M2_pulse0  (PORTC=PORTC&0xdf) //PC5行走電機脈沖輸出管腳
#define  M1_pulse1  (PORTC=PORTC|0x40) //PC6裝票電機脈沖輸出管腳
#define  M1_pulse0  (PORTC=PORTC&0xbf) //PC6裝票電機脈沖輸出管腳

uchar KeyDown;  //有功能鍵按下標志
uchar Cancell;  //取消功能鍵標志
uint  u;        //翻頁步進電機的步數變量
uint  b;        //頁碼序號的不同位數之間差值的中間變量    
uchar FunkeyNum;//功能按鍵的標號變量
uchar R_Step;   //頁碼序號之間的距離(數字間距)所需的步進電機的步數

//*****************I/O口初始化*****************************
void IO_Init(void)
{DDRA=0x00;//A口三態輸入
 PORTA=0x00;
 DDRB=0x00;//B口三態輸入
 PORTB=0x00;
 DDRC=0xff;//C口推挽輸出
 PORTC=0xff;
 DDRD=0xfb;//D口推挽輸出,PD2中斷輸入
 PORTD=0xfb;
}
//*************************中斷初始化函數************************//
void INT_Init(void)
{MCUCR=MCUCR&0xfd;//低電平中斷
 GIMSK=GIMSK|0x40;//INT0中斷使能
 SREG=SREG|0x80;//全局中斷使能
}

//***************************短延時函數************************//
void DelayShort(uint j)                        
{uint i;
 for(i=0;i<j;i++) ;  
}

//***************************長延時函數************************//
void DelayLong(uint j)                
{uint i;
 for(i=0;i<j;i++)
   {uint l;
    for(l=0;l<1000;l++);}    
}
//*************************按鍵掃描函數************************//
void FunkeyScan()
{KeyDown=0;
 FunkeyNum=3;
 if(KEY_0==0)
  {DelayLong(10);       //去抖動延時10ms
   if(KEY_0==0)
    {FunkeyNum=0;       //按鍵的標號變量值賦0
     KeyDown=1;}}       //PA0  裝票功能鍵按下
 if(KEY_1==0)
  {DelayLong(10);       //去抖動延時10ms
   if(KEY_1==0)
    {FunkeyNum=1;       //按鍵的標號變量值賦1
     KeyDown=1;}}       //PA1  蓋章功能鍵按下
 if(KEY_2==0)
  {DelayLong(10);       //去抖動延時10ms
   if(KEY_2==0)
    {FunkeyNum=2;       //按鍵的標號變量值賦2
     KeyDown=1;}}       //PA2 打碼功能鍵按下
}
//******************裝票步進電機頻率函數***********************//
void PulseZhuangPiao()     
{
   DelayShort(45);      //裝票步進電機周期45us
   M1_pulse1;           //Pc7=1
   DelayShort(45);      //裝票步進電機周期45us
   M1_pulse0;           //Pc7=0
}
//******************翻頁步進電機頻率函數***********************//
void PulseXingZou()
{
   DelayShort(35);      //翻頁步進電機周期35us
   M2_pulse1;           //Pc6=1
   DelayShort(35);      //翻頁步進電機周期35us
   M2_pulse0;           //Pc6=0
}
//******************字輪步進電機頻率函數***********************//
void PulseZiLun()        
{
   DelayShort(55);      //字輪電機周期55us
   M3_pulse0;           //Pc5=0
   DelayShort(55);      //字輪電機周期55us
   M3_pulse1;           //Pc5=1
}
//***************打印數碼的電磁擊打錘動作函數******************//
void Print_Act()
{
   PRINT_ACT1;           //打字電磁鐵打下      
   DelayLong(5);         //打字電磁鐵打下時間延時20(*1000)us
   PRINT_ACT0;           //打字電磁鐵上升     
   DelayLong(20);        //打字電磁鐵上升時間延時20(*1000)us
}
//***************蓋章的電磁擊打錘動作函數**********************//
void Sign_Act()
{
   SIGN_ACT1;            //蓋章電磁鐵打下     
   DelayLong(20);        //蓋章電磁鐵打下時間延時20(*1000)us
   SIGN_ACT0;            //蓋章電磁鐵打下   
   DelayLong(20);        //蓋章電磁鐵上升時間延時20(*1000)us
}
//***************翻頁電機行走字間距函數************************//
void  Num_Step()
{
   M_DIR0;                //翻頁電機反轉
   for(u=0;u<40;u++)      //翻頁電機行走的字間距即步進電機的40步
    PulseXingZou();       
}
//***************翻頁電機行走抓紙張函數************************//
void Reverse_Step()
{
  unsigned int i;
  for(i=0;i<350;i++)      //居中以后再走100吸紙
   { 
    M_DIR0;               //翻頁電機反轉
    PulseXingZou();       //翻頁電機驅動脈沖輸出
   }
    GRASP_ACT1;           //機械手抓紙
   while(SONSOR_5==0)     //檢測傳感器5
   { 
    M_DIR0;               //翻頁電機反轉
    PulseXingZou();       //翻頁電機驅動脈沖輸出
   }
}
//***************翻頁電機行走上電后復位函數********************//
void Forward_Step()
{
   while(SONSOR_6==0)     //檢測傳感器6
   { 
    M_DIR1;               //翻頁電機正轉
    PulseXingZou();       //翻頁電機驅動脈沖輸出
   }
    M_DIR0;               //翻頁電機反轉
    for(u=0;u<400;u++)    //翻頁電機居中
    {
     PulseXingZou();      //翻頁電機驅動脈沖輸出
    } 
}
//***************字輪電機轉動方向及步數判斷函數1****************//
void  Judge1()           //判斷字輪正反轉
 {
  if(b>10){R_Step=(20-b)*12; M_DIR1;}  
  else {R_Step=b*12; M_DIR0; }  
 }
//***************字輪電機轉動方向及步數判斷函數2****************//
void  Judge2()           //判斷字輪正反轉
{
  if(b>10){R_Step=(20-b)*12; M_DIR0;}  
  else {R_Step=b*12; M_DIR1; }  
}
//***************機械手配合翻頁電機翻頁過程函數*****************//
void MotorZhua_fangZhi()
{Reverse_Step();
 u=0;
 DelayLong(5);           //吸紙延時10*(1000)	 
  while(SONSOR_6==0)     //檢測傳感器6
   {   
      M_DIR1;            //翻頁電機正轉  
      u++;
      PulseXingZou();    //翻頁電機驅動脈沖輸出 
      if(u==380){ GRASP_ACT0;}   //抓紙機械手后翻頁電機往正轉380步放紙
    }
}
//******************裝票步進電機出倉過程函數********************//
void Motor3QianZou()
{
 M_DIR1;                   //裝票步進電機出倉方向
 while(SONSOR_0==0)        //檢測前傳感器                  
      PulseZhuangPiao();   //承票板往前走	 
}
//******************裝票步進電機入倉過程函數********************//
void Motor3HouZhong()
{
 uchar e;
 while(SONSOR_1==0)             //檢測中傳感器
	     {
         M_DIR0;                //裝票步進電機入倉方向
		 PulseZhuangPiao();     //裝票步進電機驅動脈沖輸出
		 }
		 for(e=0;e<55;e++)      //修正傳感器位置誤差55
		 {
		  M_DIR0;               //裝票步進電機入倉方向
		  PulseZhuangPiao();    //裝票步進電機驅動脈沖輸出
          }
}
//*********裝票步進電機入倉后再進入蓋章位置的過程函數***********//
void Motor3HouZou()
{
       M_DIR0;                  //裝票步進電機入倉方向
	while(SONSOR_2==0)          //檢測后傳感器
       PulseZhuangPiao();       //裝票步進電機驅動脈沖輸出
}
//*********************裝票過程函數*****************************//
void Motor3()
{
Motor3QianZou();                //調用裝票步進電機出倉過程函數
Motor3HouZhong();               //調用裝票步進電機入倉過程函數
}
//*******裝票步進電機入倉后再進入蓋章位置的逆過程函數***********//
void Motor3QianZhong()
{uint i;
 M_DIR1;                         //裝票步進電機出方向
 while(SONSOR_1==0)              //檢測中傳感器
	     {
		 PulseZhuangPiao();      //裝票步進電機驅動脈沖輸出
		 }
 for(i=0;i<20;i++)               //修正傳感器位置誤差20
    PulseZhuangPiao();           //裝票步進電機驅動脈沖輸出
}
//***************翻頁電機打印頁碼過程中復位函數*****************//
void Motor1_Fuwei()
{
  Reverse_Step();               //翻頁電機行走抓紙張函數
  DelayLong(5);    
   while(SONSOR_6==0)           //檢測中傳感器5
   { 
    M_DIR1;                     //翻頁電機正轉
   PulseXingZou();              //翻頁電機行驅動脈沖輸出
	}
    M_DIR0;                     //翻頁電機反轉
}
//***************字輪電機打印頁碼過程中復位函數*****************//
void Motor2_Fuwei()
{
   M_DIR0;                      //字輪電機反轉            
   while(SONSOR_4==0)           //檢測字輪定位傳感器
     {
      PulseZiLun();             //字輪電機行驅動脈沖輸出 
     }
}
//***********字輪電機與翻頁電機配合打印頁碼過程函數*************//
void Motor12_Dama()
{
uchar k=0;
uchar p;
while(SONSOR_3==0)              //紙張傳感器為0(有票據)時執行循環
 {
    for(u=0;u<150;u++)          //字輪電機進入打印位置
     {
	  M_DIR0;                   //字輪電機反轉
      PulseXingZou();	        //字輪電機行驅動脈沖輸出
     }                          
     Motor2_Fuwei();            //字輪電機復位 
     p=0;
     if(k<10)                                   
	   {
	     b=k+k;
         Judge1();
		 for(u=0;u<R_Step;u++)     //字輪電機轉到打印位置
         {PulseZiLun(); }     
         Print_Act();
	    }

	  else
	   {
	    b=k/10+k/10;               //取整的余數(個位數的值)
         Judge1();
		 for(u=0;u<R_Step;u++)     //字輪電機轉到打印位置
         {PulseZiLun(); }   
         Print_Act();              //打印個位數
        p=2*(k%10);                //取整的值(十位數的值)
         if(p>b)
		   {
		     b=p-b;
			 Judge1();
		   }
		   else
		   {
		     b=b-p;
		     Judge2();
		    }
		 for(u=0;u<R_Step;u++)    //字輪電機轉到打印位置
         {PulseZiLun(); }   
         Print_Act();             //打印十位數
	   }

     k++;
    MotorZhua_fangZhi();          //翻頁
	 if(Cancell==1)
     goto OUT2;
 }
 OUT2:  
 Cancell=0;                       //取消動作并進行翻頁復位
 for(u=0;u<450;u++) 
     {
	  M_DIR0; 
      PulseXingZou();	   
     }   
}
//**************裝票電機與翻頁電機配合的蓋章過程函數*************//
void MotorGaiZhang()
{
 while(SONSOR_3==0)         //紙張傳感器位為0時執行循環
 { 
   Motor3HouZou();          //進入蓋章位置
   Sign_Act();              //蓋章動作
   Motor3QianZhong();       //進入翻頁位置
   MotorZhua_fangZhi();     //翻頁
    if(Cancell==1)          //檢測取消標志
   goto OUT3;
 }
OUT3: 
 Cancell=0;                 //取消動作
}
//*********************************主程序***********************************//
void main(void)
{ INT_Init();            //初始化中斷	
 begin: 	
	Cancell=0; 
	SIGN_ACT0;           //蓋章擊打電磁鐵1吸起	
    PRINT_ACT0;          //打印頁碼擊打電磁鐵2吸起
    GRASP_ACT0;          //抓紙機械手不動作
	Forward_Step();        //翻頁步進電機復位
	Motor3HouZou();        //承票板往后走
  	Motor3QianZhong();     //承票板往中間走進行復位
 do{do {FunkeyScan();} while(KeyDown==0); 
   	switch(FunkeyNum)
		{case 0:                     //裝票操作             
			    Motor3();                   
				break;									 
         case 1 :                     //蓋章操作
				Motor3QianZou();      //出倉				 
          wait1:
				while(KEY_1!=0);
                while(KEY_1==0) 
                   {DelayLong(50);
                    if(KEY_1==0)
                        Motor3HouZhong(); //入倉
                    else goto wait1;}
				SIGN_ON0;                     
                SIGN_OFF1;              //蓋章進行中指示燈亮
			    Motor3HouZou();         //進入蓋章位置
				MotorGaiZhang();        //蓋章函數調用
			    Motor3QianZhong();		//退出蓋章位置 
                SIGN_ON1;                     
                SIGN_OFF0;              //蓋章結束指示燈亮
				break;
        case 2:                         //打印頁碼
                Motor3QianZou();        //出倉
         wait2: while(KEY_2!=0); 
                while(KEY_2==0) 
                   {if(KEY_2==0)
                     Motor3HouZhong();  //入倉
					else goto wait2;}
				PRINT_ON0;                     
                PRINT_OFF1;             //打印頁碼進行指示燈亮
                Motor1_Fuwei();          
				Motor12_Dama();         //打印頁碼  
				PRINT_ON1;                     
                PRINT_OFF0;             //打印頁結束指示燈亮
				break;
		default:break;}}while(1);
}

//**************************中斷服務程序*******************************//
#pragma interrupt_handler INTHandler:2
void INTHandler()  
{Cancell=1;                             //置位取消標志 
 NOP();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲男人的天堂av| 免费一级片91| 欧美成人a在线| 制服丝袜国产精品| 欧美高清一级片在线| 91成人在线免费观看| 欧美日韩综合一区| 一本大道av一区二区在线播放| 国产传媒久久文化传媒| 国产91精品一区二区麻豆网站| 国产在线看一区| 韩国v欧美v日本v亚洲v| 在线视频综合导航| 欧美一级午夜免费电影| 日韩精品最新网址| 国产日韩欧美亚洲| 亚洲色图20p| 亚洲午夜免费福利视频| 午夜视频在线观看一区| 久久国产夜色精品鲁鲁99| 国产一区二区日韩精品| av激情成人网| 欧美日韩国产影片| 欧美一级在线免费| 亚洲综合网站在线观看| 日韩va亚洲va欧美va久久| 美腿丝袜在线亚洲一区| 国产99久久久精品| 久久蜜臀精品av| 亚洲免费观看在线视频| 丁香桃色午夜亚洲一区二区三区| 国产69精品久久777的优势| 日韩女优电影在线观看| 日本中文字幕一区二区视频| 欧美色视频在线| 一区二区日韩电影| 激情欧美日韩一区二区| 欧美草草影院在线视频| 美国毛片一区二区| 精品国产乱码久久久久久蜜臀| 国产精品成人一区二区艾草 | 国产精品久久久久aaaa| 国产不卡视频在线观看| 久久网这里都是精品| 一片黄亚洲嫩模| 日本韩国欧美一区| 亚洲一区在线看| 9191国产精品| 国产福利精品一区二区| 国产蜜臀av在线一区二区三区| 国产不卡视频一区二区三区| 国产精品美女久久久久久久久 | 韩国女主播一区| 精品日本一线二线三线不卡| 久久精品国产999大香线蕉| 精品国产污污免费网站入口| 国产精品一区二区你懂的| 欧美无砖专区一中文字| 日本一区二区免费在线观看视频| 成人午夜碰碰视频| 一区二区久久久| 91精品国产色综合久久不卡蜜臀| 久久精品二区亚洲w码| 欧美韩国日本综合| 国产精品影视网| 中文字幕日韩欧美一区二区三区| 国产精品资源网| 亚洲欧美一区二区三区国产精品| 欧美性猛片xxxx免费看久爱| 青青草成人在线观看| 亚洲国产精品ⅴa在线观看| 91国产成人在线| 国产综合色产在线精品| 亚洲蜜桃精久久久久久久| 日韩一区二区在线免费观看| 亚洲一区二区三区三| 久久久亚洲精品石原莉奈 | 日韩一区欧美一区| 欧美精品一二三| 成人免费视频国产在线观看| 亚洲成人激情av| 欧美日本免费一区二区三区| 国产一区二区精品久久| 一区二区三区久久久| 精品国产一区二区三区四区四 | 国产精品久久久久久户外露出| 7777精品伊人久久久大香线蕉的 | 水野朝阳av一区二区三区| 欧美人狂配大交3d怪物一区| 国产精品一级在线| 婷婷综合五月天| 亚洲女爱视频在线| 亚洲国产精品av| 久久久久九九视频| 欧美一区中文字幕| 欧美亚洲国产一区在线观看网站| 国产91在线观看丝袜| 久久精品国产精品亚洲综合| 亚洲国产精品尤物yw在线观看| 中文成人av在线| 2020国产精品自拍| 91麻豆精品国产91| 欧美日韩国产一级二级| 91首页免费视频| 偷拍一区二区三区四区| 亚洲精品亚洲人成人网| 欧美一区日本一区韩国一区| 欧美伊人久久久久久久久影院 | 久久久久久9999| 久久综合狠狠综合久久综合88| 欧美男女性生活在线直播观看| 色婷婷av久久久久久久| caoporm超碰国产精品| 不卡一区二区中文字幕| 婷婷成人激情在线网| 亚洲午夜视频在线观看| 一区二区三区免费看视频| 一区二区三区四区av| 亚洲色图丝袜美腿| 尤物视频一区二区| 亚洲一区二区影院| 午夜电影一区二区三区| 日韩激情av在线| 美国三级日本三级久久99| 狠狠色狠狠色综合系列| 国产资源在线一区| 成人免费视频一区| 色欧美日韩亚洲| 欧美性生活影院| 9191国产精品| 国产亚洲一区二区三区四区| 在线播放中文字幕一区| 91精品国产一区二区三区| 欧美成人精品3d动漫h| 精品国产伦一区二区三区观看方式| 日韩欧美在线综合网| 久久噜噜亚洲综合| 国产精品不卡视频| 亚洲一级片在线观看| 日韩中文字幕av电影| 激情综合色综合久久| 一区二区三区产品免费精品久久75| 亚洲一区精品在线| 美女一区二区在线观看| 国产高清在线精品| 91小视频在线免费看| 欧美区一区二区三区| 精品国产三级电影在线观看| 国产精品美女久久久久久| 亚洲在线一区二区三区| 奇米影视7777精品一区二区| 国产精品白丝jk黑袜喷水| 一本久久a久久精品亚洲| 91精品国产高清一区二区三区 | 久久草av在线| av激情亚洲男人天堂| 欧美一区2区视频在线观看| 中文字幕欧美三区| 午夜免费欧美电影| 成人激情校园春色| 欧美精品日韩一区| 国产精品乱码人人做人人爱| 午夜精品影院在线观看| 成人精品视频网站| 欧美久久久久久久久| 国产精品天美传媒沈樵| 日韩制服丝袜av| 91在线一区二区三区| 在线视频欧美精品| 久久久久久久久免费| 亚洲尤物在线视频观看| 国产精品一区在线观看你懂的| 欧美系列一区二区| 中文欧美字幕免费| 国精产品一区一区三区mba桃花| 91黄色免费观看| 国产精品天干天干在观线| 免费在线一区观看| 欧美调教femdomvk| 中文字幕在线观看不卡| 国产久卡久卡久卡久卡视频精品| 欧美怡红院视频| 亚洲欧洲国产专区| 国产成人在线视频免费播放| 91精品国产综合久久精品| 亚洲女人小视频在线观看| 成人福利视频在线| 国产亚洲人成网站| 国内精品伊人久久久久影院对白| 欧美精品丝袜久久久中文字幕| 亚洲乱码日产精品bd| 成人av免费在线| 日本一区二区三级电影在线观看| 精彩视频一区二区三区| 日韩一区二区视频| 日本亚洲电影天堂| 欧美老肥妇做.爰bbww| 亚洲五月六月丁香激情| 色哟哟日韩精品| 一区二区三区中文免费|