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

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

?? back.txt

?? 這是驅動出租車開票打印機的程序
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
 /*
  字模位置算法:  ASCII_add=(ASCII*12)
                 漢字=( (高位-0xb0)*96+(低位) )*24+0x600


*/


#include <SM89516.h>
#include <intrins.h>
#include <absacc.h>

#define nop _nop_()
#define max_rec_line 2        //定義接受緩沖行數


sbit m_a=P1^0;     //四個針
sbit m_b=P1^1;
sbit m_c=P1^2;
sbit m_d=P1^3;


sbit motor=P1^7;   //電機

sbit rst_det=P3^3;       //行復位信號
sbit time_det=P3^2;      //點復位信號
sbit busy=P3^5;          //忙信號
sbit led=P2^4;
sbit paper_over=P2^5;
sbit paper=P2^6;


void main_delay(unsigned int);    //主程序延時
//void d5(void);                    //針打的時間
//void d3(void);                    //針抬的時間
//void s_sent(unsigned char);       //串口發送(未用)
void uart_init(void);             //串口初始化
void time_arrange(void);  //每個打印機自適應程序
void line_int(void);          //行復位中斷
void rec_int(void);          //接受字符
void dot_int(void);        //打點中斷
void explain(unsigned char);        //轉換字模


extern unsigned char READ_SPI_DATA (unsigned long int);    //讀SPI
extern void WRITE_SPI_DATA (unsigned long int  ,unsigned char );
extern void wren(void);

//7200---238*165 ---4442
//8508---234*120 ---5551
unsigned char down_time_h=236;  //針打下去延時的時間高位
unsigned char down_time_l=165;  //針打下去延時的時間低位
unsigned char up_time_h=255;  //針打下去延時的時間高位
unsigned char up_time_l=220;  //針打下去延時的時間低位

bit up_or_down;  //1=up; 0=down
bit next_dota; //定義下一個要打的a點,
bit next_dotb; //定義下一個要打的b點,
bit next_dotc; //定義下一個要打的c點,
bit next_dotd; //定義下一個要打的d點,
bit line_over; //點行打完標志位
bit p_over;    //打印結束位
bit explain_en; //允許解釋字模并更新緩沖區
bit back;
bit first_bag=0;
bit del_1;
bit del_2;
bit del_temp1;
bit del_temp2;

xdata struct pt
{
 unsigned char mark;
 unsigned char n[24];
};
xdata struct pt prt_buf[24]; //定義24點行緩沖, 576 byte
xdata struct pt rec_buf[max_rec_line ];    //定義4行接受緩沖, 96 byte

unsigned char pemeter[16]={0};  //參數,在打印前傳

unsigned char rlc;     //rec_line_count 接收字節行計數器 0--3
unsigned char rbc;     //rec_byte_count 接收字節計數器 0--23
unsigned char plc=0;       //print_dotline_count 打印點行計數器 0-23
unsigned char dot_count;   //打印點計數器  0--143
unsigned char dot_done;    //已打印點計數器  0--143
unsigned char back_counter;   //頭返回時計數器
unsigned char flash;     //需更新第幾行
unsigned char temp;      //上一次接受的串口數據
unsigned char int_counter;   //行中斷計數



main()
{
 unsigned char b,d,c;
 unsigned long int y,add;
 unsigned int r;


 busy=1;                     //置忙
 SCONF=0x02;               //使用xdata 89516用
 //PWD=0x01;                   //77e58用
 uart_init();                //串口初始化
 nop;
 m_a=1; m_b=1; m_c=1; m_d=1;   //針抬起

 EA=0;             //關中斷
 IP=0x06;          //中斷優先
 ES=0;             //關串口中斷
 IT1=1;            //邊沿出發
 RI=0;             //清接受標志位
 TR0=0;            //關定時器
 ET0=0;            //關定時中斷
 EX1=0;            //關行中斷
 motor=1;          //關電機

line_over=0;       //一行打完標志=0
plc=0;             //已打印行=0
explain_en=1;      //允許解釋位=1;
rec_buf[0].mark=0; //接受行標志=0
rec_buf[1].mark=0; //接受行標志=0


again:
 dot_done=0;        //清點打印完成數
 dot_count=0;       //清點計數
 up_or_down=1;      //打印頭為抬起
 line_over=0;       //一行打完標志
 back=0;            //返回狀態為0
 plc=0;

IE1=0;              //清行中斷標志位
EX1=0;              //開行中斷
plc=0;              //已打印行=0

first_bag=1;        //是否第一包數據=1
while(first_bag)
rec_int();          //等待接受第一包
explain(0);         //解釋2字行字模
explain(1);
int_counter=0;      //行中斷計數=0
del_1=del_temp1;
del_2=del_temp2;
        time_arrange();   //自適應程序
motor=0;            //開電機
IE1=0;
EA=1;               //開中斷

 rst_det=1;
 while(rst_det==1) rst_det=1;
 main_delay(1);
 while(rst_det==0) rst_det=1;
 main_delay(1);


//IE1=0;
EX1=1;
while(1)
{nop;
 nop;

 if(flash==1) {rec_int(); explain(0); flash=0;}   //若第一次要求更新,接受串口數據,解釋到第一字行
 if(flash==2) { explain(1); flash=0;            //第2次要求更新,解釋第2字行,并且檢查是否打印完
               if(p_over)
                 {IE1=0; EX1=0; m_a=1; m_b=1; m_c=1; m_d=1;
                  main_delay(60000);
                  main_delay(60000); main_delay(60000);
                  motor=1; goto again;}
               }    //若打完推出

 //if(line_over==1)              //控制行復位信號開始
 //{while(rst_det==1) {nop;nop;nop;nop;nop;}
 // while(rst_det==0) {nop;nop;nop;nop;nop;}
 //   line_over=0; EX1=1;
 // }
}
motor=1;



 nop;
}


void line_int(void) interrupt 2            //打印
{

 IE1=0;
 int_counter++;
 EX1=0; TF0=0; ET0=1;       //關自己(行中斷)
 TL0=up_time_l;           //載入抬起時間
 TH0=up_time_h;
 dot_done=0;              //清點打印完成數
 dot_count=0;             //清點計數
 up_or_down=1;            //打印頭為抬起
 line_over=0;             //一行打完的標志清零


// if(int_counter==1)       //如果第一次計時
 /// { TR0=1;  back=0;}                 //開定時器
 // else if(int_counter==2) //如果是假計時,
 //   {TR0=0; int_counter=0; EX1=1; }    //關打點計時,清行中斷計數,從新打開自己的行中斷
  //  else {TR0=0; EX1=1;}
 next_dota=1; next_dotb=1; next_dotc=1; next_dotd=1;
 TR0=1;
}

//==============================================
void dot_int(void) interrupt 1 //T0       //點中斷
{unsigned x,y,u;

 if(back==1)    //如果是在打印頭返回狀態
   {if(back_counter<30)
        { TL0=down_time_l; TH0=down_time_h;  back_counter++; back=1;}  //重載計數器,計數器加
      else{
           back=0; back_counter=0;  TR0=0;line_over=1;  IE1=0; EX1=1;
            //若沒返回到一行,返回標志清零,計數器清0,關打點中斷,
           }
    }

 else  if(up_or_down && ET0)      //如果在針抬起狀態
    { TL0=down_time_l;            //載入抬起時間地位
      TH0=down_time_h;            //高位
      up_or_down=!up_or_down;     //針狀態為打下

      if(plc==0)         {if(del_1==1) plc+=2;}
        else if(plc==12) {if(del_2==1) plc+=2;}
        else if(plc==10) {if(del_1==1) plc+=1;}
        else if(plc==22) {if(del_2==1) plc+=1;}

      dot_done++;                //一點行已打印過的點數++
      if(dot_done<=144)  EX1=0;   //如果沒到144點,關行復位中斷
      else { back=1; m_a=1; m_b=1; m_c=1; m_d=1;
             plc++;      //打完一行,行計數加
            if(plc==12)           //若打完12行
                { flash=1;    //要求更新緩沖
                  if(p_over) {IE1=0; EX1=0; ET0=0;}   //若已打完,關全部中斷
                 }
               else if(plc==24)   //若兩行都打完
                  {flash=2; plc=0; del_1=del_temp1; del_2=del_temp2;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性生活久久| 五月天一区二区三区| 亚洲综合一区在线| 国产成人av一区二区三区在线观看| 欧美亚一区二区| 亚洲乱码精品一二三四区日韩在线| 黄色小说综合网站| 欧美三级电影在线观看| 亚洲视频一区二区在线| 国产麻豆午夜三级精品| 日韩一卡二卡三卡四卡| 亚洲va国产天堂va久久en| 色哟哟精品一区| 1000部国产精品成人观看| 国产精品一卡二| 精品国产亚洲一区二区三区在线观看| 亚洲成人免费在线观看| 在线免费观看视频一区| 国产精品久久久久永久免费观看 | 91精品国产综合久久久久久 | 国产精品视频观看| 精品中文字幕一区二区小辣椒| 欧美日韩视频在线第一区| 夜夜亚洲天天久久| 北条麻妃一区二区三区| 国产精品区一区二区三| 国产精品一区二区三区网站| 日韩欧美一级在线播放| 久久99国产精品久久99| 欧美大片日本大片免费观看| 轻轻草成人在线| 日韩欧美国产午夜精品| 黄色日韩网站视频| 久久久久久久久伊人| 高清beeg欧美| 国产精品久久久久天堂| 91在线小视频| 亚洲午夜精品网| 91精品一区二区三区久久久久久| 蜜桃视频一区二区三区在线观看| 欧美一区二区日韩| 国产麻豆成人传媒免费观看| 国产亚洲一区二区三区| 9久草视频在线视频精品| 一区二区三区在线视频免费观看| 欧洲精品在线观看| 日本少妇一区二区| 国产欧美一区二区三区在线看蜜臀| 懂色av一区二区三区免费看| 国产精品国产自产拍高清av | 日韩成人免费电影| 国产蜜臀av在线一区二区三区| www.在线成人| 五月天一区二区| 国产三级一区二区| 色欧美日韩亚洲| 日韩高清国产一区在线| 国产女主播一区| 欧美视频中文字幕| 狠狠色狠狠色综合日日91app| 国产精品人人做人人爽人人添| 欧美午夜电影网| 国产精品一二三在| 午夜精品久久久| 国产精品网站导航| 337p亚洲精品色噜噜狠狠| 国产乱理伦片在线观看夜一区| 一区二区三区中文在线| 久久亚洲精华国产精华液| 色综合久久88色综合天天| 麻豆国产精品视频| 一区二区三区不卡在线观看| 精品少妇一区二区三区视频免付费 | 亚洲宅男天堂在线观看无病毒| 欧美成人午夜电影| 欧美视频一区在线| www.66久久| 久久99热这里只有精品| 亚洲免费色视频| 欧美激情一区二区在线| 日韩精品一区二区三区中文不卡 | 成人aaaa免费全部观看| 日韩精品亚洲一区二区三区免费| 中文字幕av免费专区久久| 欧美一级高清片| 欧美调教femdomvk| 91影院在线观看| 国产精品亚洲第一| 精品无码三级在线观看视频| 香港成人在线视频| 一区二区三区国产精华| 国产精品国产三级国产普通话三级 | 亚洲一区在线观看视频| 国产精品福利影院| 国产欧美一区二区精品久导航| 欧美一级片在线看| 欧美久久久久久久久久| 99国产精品久久久久久久久久| 国产在线精品一区二区三区不卡 | 亚洲图片欧美视频| 一区二区三区自拍| 亚洲免费在线观看视频| 中文字幕综合网| 成人欧美一区二区三区黑人麻豆 | 精品88久久久久88久久久 | 欧美日韩一区二区三区在线| 一本色道久久综合精品竹菊| 成人国产精品免费观看视频| 国产精品自在欧美一区| 国产精品影视在线| 国产a久久麻豆| 成人影视亚洲图片在线| 成人黄色小视频| av亚洲产国偷v产偷v自拍| 粉嫩av一区二区三区粉嫩| 国产成人av电影在线| 国产一区二区不卡在线| 国产精品 日产精品 欧美精品| 国产福利一区二区| youjizz久久| 欧美福利视频导航| 日韩一级高清毛片| 精品999在线播放| 国产欧美一区二区精品久导航| 国产精品免费视频网站| 亚洲欧美一区二区三区国产精品| 亚洲精品视频观看| 亚洲h在线观看| 久久66热re国产| 福利视频网站一区二区三区| 99久久久国产精品| 欧美午夜一区二区| 精品美女在线观看| 中文字幕一区不卡| 日韩av在线播放中文字幕| 国产资源精品在线观看| 成人av在线影院| 在线日韩av片| 欧美一级淫片007| 中文无字幕一区二区三区| 一区二区三区在线免费| 另类中文字幕网| 波波电影院一区二区三区| 欧美影片第一页| 亚洲精品一区二区在线观看| 中文字幕一区二区三区精华液| 亚洲一区在线电影| 国产一区二区在线电影| 在线观看免费一区| 欧美精品一区男女天堂| 亚洲天堂2014| 国产中文字幕一区| 欧美午夜视频网站| 国产精品水嫩水嫩| 蜜桃一区二区三区在线| 一本色道久久加勒比精品| 精品国产乱码久久久久久浪潮 | 国产精品私房写真福利视频| 性欧美大战久久久久久久久| 成人白浆超碰人人人人| 日韩欧美电影在线| 亚洲精品高清在线观看| 国产99一区视频免费| 欧美一区二区精品| 亚洲第一电影网| 波多野结衣91| 久久久精品综合| 麻豆视频观看网址久久| 欧美午夜影院一区| 亚洲图片激情小说| 国产精品一区二区黑丝| 日韩欧美一级二级三级久久久| 亚洲欧美日韩一区二区| 成人中文字幕电影| 久久久久久久免费视频了| 男女性色大片免费观看一区二区 | 欧美日韩亚洲综合在线 | 欧美少妇一区二区| 亚洲色图在线看| 国产一区二区三区不卡在线观看| 欧美狂野另类xxxxoooo| 亚洲国产人成综合网站| 波多野结衣精品在线| 国产欧美精品一区二区色综合朱莉| 久久精品国产一区二区三区免费看 | 26uuu亚洲| 国产综合久久久久影院| 日韩视频在线你懂得| 蜜桃在线一区二区三区| 欧美一卡二卡三卡四卡| 亚洲va欧美va人人爽| 欧美日韩精品免费| 亚洲国产你懂的| 欧美在线看片a免费观看| 亚洲男女一区二区三区| 色一情一乱一乱一91av| 一区二区三区四区在线| 在线免费观看日韩欧美| 亚洲国产精品一区二区www| 欧美日本一区二区三区四区|