中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于PIC16F628單片機(jī)的CM402型高速貼片機(jī)控制系統(tǒng)改造設(shè)計(jì)與實(shí)現(xiàn)

        基于PIC16F628單片機(jī)的CM402型高速貼片機(jī)控制系統(tǒng)改造設(shè)計(jì)與實(shí)現(xiàn)

        作者: 時(shí)間:2012-03-20 來源:網(wǎng)絡(luò) 收藏

        引言

        本文引用地址:http://www.antipu.com.cn/article/171842.htm

        隨著表面貼裝技術(shù)(Surface Mounted Technology,SMT)的不斷優(yōu)化及貼片元器件制作工藝的迅速發(fā)展,在電子制造業(yè)中的應(yīng)用日益突出。CM402型是由日本松下公司研發(fā)和生產(chǎn),針對(duì)某些特定工件、按特定工序進(jìn)行批量加工的專用設(shè)備。根據(jù)筆者為期兩周的現(xiàn)場(chǎng)調(diào)查和論證,傳統(tǒng)CM402型在拼接料生產(chǎn)過程中,若出現(xiàn)拼接料檢知停止時(shí),停機(jī)掃料的時(shí)間將影響到生產(chǎn)效率。通過認(rèn)真分析該設(shè)備的工序流程及閱讀其用戶手冊(cè),可將此拼接料檢知、停機(jī)掃料程序進(jìn)行技術(shù),并在原有電控系統(tǒng)上利用PVS替代Timer(計(jì)時(shí)器),可接料不停機(jī)控制功能,從而可提升其生產(chǎn)效率。

        本文以利用構(gòu)成PVS為例,從硬件系統(tǒng)和軟件系統(tǒng)入手,給出了印制電路板圖、電路原理圖及源代碼。

        硬件系統(tǒng)

        該P(yáng)VS為核心,由及其外圍元器件、電源模塊、繼電器模塊組成,印制電路板和電路原理圖如圖1、圖2所示。

        圖1 印制電路板

        圖2 原理圖

        PIC16F628單片機(jī)及其外圍元器件

        PIC16F628單片機(jī)是由Microchip公司生產(chǎn)的PIC系列8位CMOS閃存單片機(jī)之一,該系列單片機(jī)采用RISC(Reduced Instruction Set Computer)嵌入式結(jié)構(gòu),具有執(zhí)行速度高、功耗低、體積小巧、工作電壓低、驅(qū)動(dòng)能力強(qiáng)、品種豐富等優(yōu)越性能。其總線結(jié)構(gòu)采取數(shù)據(jù)總線和指令線分離獨(dú)立的哈佛(Harvord)結(jié)構(gòu),具有很高的流水處理速度。與同類8位單片機(jī)相比,程序存儲(chǔ)器可節(jié)省一半,指令運(yùn)行速度可以提高4倍左右。PIC16F628單片機(jī)封裝形式為DIP-18,配合相應(yīng)程序,該芯片可繼電器智能控制功能,即配合其他配套電路可構(gòu)成PVS控制系統(tǒng),CM402型貼片機(jī)接料不停機(jī)控制功能。JP2為報(bào)警信號(hào)輸入端、JP5為PC機(jī)并口解鎖信號(hào)輸入端、SB1、SB2為定時(shí)時(shí)間調(diào)節(jié)按鈕,LED1~LED6構(gòu)成定時(shí)時(shí)間顯示電路,單只LED亮表示10s,全部亮表示60s。

        電源模塊

        電源模塊設(shè)計(jì)的質(zhì)量直接關(guān)系到PVS控制系統(tǒng)的穩(wěn)定性。該控制系統(tǒng)直接利用CM402型貼片機(jī)的+24V穩(wěn)壓電源,故采用穩(wěn)壓性能較好的三端穩(wěn)壓集成電路LM7812、LM7805實(shí)現(xiàn)兩級(jí)穩(wěn)壓,為單片機(jī)、光電耦合器等元器件提供+5V直流穩(wěn)壓電源。JP1為24V電源輸入端,與CM402貼片機(jī)相應(yīng)插座直接連接。

        繼電器模塊

        繼電器模塊由晶體管驅(qū)動(dòng)電路和固態(tài)繼電器構(gòu)成。其中VT1、VT2選用C9014型晶體管;歐姆龍TQ2-24V型24V繼電器。該模塊工作狀態(tài)由單片機(jī)RA4(第3腳)控制,并通過JP3、JP4與CM402型貼片機(jī)相應(yīng)端口相連。

        軟件系統(tǒng)設(shè)計(jì)

        軟件環(huán)鏡基于MPLAB IDE V8.33,編譯器HI-TECH C,仿真器ICD2.0燒寫PIC16F628芯片實(shí)現(xiàn)CM402型貼片機(jī)控制系統(tǒng)設(shè)計(jì)功能。

        實(shí)現(xiàn)程序如下:

        #include

        __CONFIG(0X1F3C);

        #define ulong unsigned long

        #define uint unsigned int

        #define uchar unsigned char

        #define RD (1)

        #define WR (11)

        #define WREN (12)

        #define WRERR (13)

        #define FREE (14)

        #define CFGS (16)

        #define EEPGD (17)

        #define START_READ_EEPROM() EECON1=EECON1|RD

        #define START_WRITE_EEPROM() EECON1=EECON1|WR

        #define ENABLE_WRITE_EEPROM() EECON1=EECON1|WREN

        #define DISABLE_WRITE_EEPROM() EECON1=EECON1(~WREN)

        #define SELECT_EEPROM() EECON1=EECON1(~(EEPGD|CFGS))

        #define out RA3

        uint js=1;

        uchar Key_Num = 0x00,Key_Num1 = 0x00; //本次鍵碼

        uchar Key_Backup = 0x00,Key_Backup1 = 0x00; //備份鍵碼

        uchar key,temp,key1,temp1;

        bit Key_Dis_F = 0,Key_Dis_F1 = 0,OFF_ON=0;

        uchar ES=1,ES_DATA=1;

        bit a;

        ulong z=1;

        uchar ES_BC_DATA;

        void ms(uint b);

        void keyscan(void);

        char readByte(char addr);

        void writeByte(char addr, char data);

        void X_Y_IN(void);

        void main()

        { TRISB2=0;

        TRISB3=0;

        TRISB4=0;

        TRISB5=0;

        TRISA6=0;

        TRISA7=0;

        RB2=1;

        RB3=1;

        RB4=1;

        RB5=1;

        RA6=1;

        RA7=1;

        TRISB0=1;

        TRISB1=1;

        RB0=1;

        RB1=1;

        TRISB6=1;

        TRISB7=1;

        RB7=1;

        RB6=1;

        GIE=1;

        PEIE=1;

        T1CON=0X01;

        TMR1IE=1;

        TMR1IF=0;

        TMR1L=0XEF;

        TMR1H=0XD8;

        CM0=1;

        CM1=0;

        CM2=1;

        C2OUT=0;

        C2INV=1;

        TRISA4=0;

        RA4=1;

        TRISA3=0;

        RA3=1;

        a=out=1;

        ES_BC_DATA=readByte(0x00);

        ES_DATA=ES=ES_BC_DATA;

        while(1)

        { asm(clrwdt);//清看門狗

        keyscan();

        X_Y_IN();

        if((C2OUT==1)(OFF_ON==1)(a==0))

        { ms(4);

        if((C2OUT==1)(OFF_ON==1)(a==0))

        { C2OUT=0;

        ES_DATA=ES_BC_DATA;

        OFF_ON=0;

        a=out=1;

        z=1;

        }

        }

        switch(ES)

        { case 1:

        RB2=1;

        RB3=1;

        RB4=1;

        RB5=1;

        RA6=1;

        RA7=0;

        break;

        case 2:

        RB2=1;

        RB3=1;

        RB4=1;

        RB5=1;

        RA6=0;

        RA7=0;

        break;

        case 3:

        RB2=1;

        RB3=1;

        RB4=1;

        RB5=0;

        RA6=0;

        RA7=0;

        break;

        case 4:

        RB2=1;

        RB3=1;

        RB4=0;

        RB5=0;

        RA6=0;

        RA7=0;

        break;

        case 5:

        RB2=1;

        RB3=0;

        RB4=0;

        RB5=0;

        RA6=0;

        RA7=0;

        break;

        case 6:

        RB2=0;

        RB3=0;

        RB4=0;

        RB5=0;

        RA6=0;

        RA7=0;

        break;

        }

        }

        }

        void ms(uint b)

        { uchar c;

        while(b--)

        for(c=123;c>0;c--);

        }

        void interrupt tmr1(void)

        { if(TMR1IF==1)

        { TMR1IF=0;

        TMR1L=0XEF;

        TMR1H=0XD8;

        js++;

        if(js==1000)

        { js=1;

        if(OFF_ON==1)

        { if(ES_DATA!=0);

        { ES_DATA--;

        if(ES_DATA==0)

        { a=out=0;

        }

        }

        }

        }

        }

        }

        void X_Y_IN(void)

        { if((RB0==0)(RB1==0))

        { ms(2);

        if((RB0==0)(RB1==0)((z++)==500))

        { temp1=1;

        }

        }

        else

        { z=1;

        temp1=0;

        }

        Key_Num1=temp1;

        if((Key_Num1!=0x00)(Key_Num1 == Key_Backup1 ))

        { if(!Key_Dis_F1)

        { Key_Dis_F1 = 1;

        asm(clrwdt);

        if((RB0==0)(RB1==0))

        { OFF_ON=1;

        }

        }

        }

        else

        { Key_Backup1 = Key_Num1;

        Key_Dis_F1 = 0;

        }

        }

        void keyscan(void)

        { if((RB7==0)|(RB6==0))

        { ms(10);

        if((RB7==0)|(RB6==0))

        { temp=1;

        }

        }

        else

        { temp=0;

        }

        Key_Num=temp;

        if((Key_Num!=0x00)(Key_Num == Key_Backup ))

        { if(!Key_Dis_F)

        { Key_Dis_F = 1;

        asm(clrwdt);

        if((RB6==0)(RB7==1))

        { ES--;

        if(ES=1)

        { ES=1;

        }

        if(ES!=ES_BC_DATA)

        { ES_DATA=ES_BC_DATA=ES;

        writeByte(0x00,ES_BC_DATA);

        writeByte(0x01,out);

        writeByte(0x02,RA4);

        writeByte(0x03,RB1);

        writeByte(0x04,RB0);

        writeByte(0x05,z);

        }

        }

        if((RB6==1)(RB7==0))

        { ES++;

        if(ES>=6)

        { ES=6;

        }

        if(ES!=ES_BC_DATA)

        { ES_DATA=ES_BC_DATA=ES;

        writeByte(0x00,ES_BC_DATA);

        }

        }

        }

        }

        else

        { Key_Backup = Key_Num;

        Key_Dis_F = 0;

        }

        }

        char readByte(char addr)

        { char tmpEEPROM;

        EEADR = addr;

        SELECT_EEPROM();

        START_READ_EEPROM();

        tmpEEPROM = EEDATA;

        return tmpEEPROM;

        }

        void writeByte(char addr, char data)

        { EEADR = addr;

        EEDATA = data;

        SELECT_EEPROM();

        ENABLE_WRITE_EEPROM();

        EECON2 = 0X55;

        EECON2 = 0Xaa;

        START_WRITE_EEPROM();

        ENABLE_WRITE_EEPROM();

        while(1 != EEIF);

        EEIF = 0;

        }

        結(jié)束語

        該P(yáng)VS控制系統(tǒng)以PIC16F628單片機(jī)為核心,具有集成度高、性能穩(wěn)定、抗干擾能力強(qiáng)、性價(jià)比高等優(yōu)點(diǎn)。該P(yáng)VS控制系統(tǒng)已制作成品銷售,由蘇州翔慶精密機(jī)械有限公司等單位經(jīng)過6個(gè)月的聯(lián)機(jī)生產(chǎn)驗(yàn)證,證明該設(shè)計(jì)方案可靠、可行。利用該P(yáng)VS控制系統(tǒng)CM402型貼片機(jī),預(yù)期可提升生產(chǎn)力約4%,具有良好的實(shí)用價(jià)值。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉