色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > AVR單片機(jī)的全功能工業(yè)控制器設(shè)計(jì)

          AVR單片機(jī)的全功能工業(yè)控制器設(shè)計(jì)

          作者: 時(shí)間:2013-11-12 來源:網(wǎng)絡(luò) 收藏

          c為PWM更改值

          ***************************/

          void pwm(unsigned char b,unsigned int c){

            switch(b){

              case 1://改變PWM1值

                if(c=0x03FF)OCR1A=c;

                break;

              case 2://開PWM1端口

                if(c=0x03FF)OCR1A=c;

                PWM1_OUT()

                break;

              case 3://關(guān)PWM1端口

                OCR1A=0x0000;

                PWM1_IN()

                break;

            }

          }

          3 實(shí)時(shí)時(shí)鐘和歷史數(shù)據(jù)存儲(chǔ)模塊

            很多工業(yè)控制器需要將關(guān)機(jī)前的有關(guān)數(shù)據(jù)記錄下來,以便下次開機(jī)時(shí)繼續(xù)使用原先設(shè)置好的參數(shù);有些工作數(shù)據(jù)也要進(jìn)行實(shí)時(shí)保存,以保證不因掉電等意外發(fā)生而受影響。采用EEPROM存儲(chǔ),讀寫速度慢而且受使用次數(shù)的限制;采用鐵電存儲(chǔ)器可以實(shí)現(xiàn),但一般容量小,價(jià)格較高。

            工業(yè)控制操作往往是與當(dāng)前實(shí)時(shí)時(shí)鐘相關(guān)聯(lián)的,實(shí)時(shí)時(shí)鐘在工業(yè)控制器中是很重要的一個(gè)部件。

            美國Dallas公司的,將實(shí)時(shí)時(shí)鐘和歷史數(shù)據(jù)存儲(chǔ)器合二為一,價(jià)格也較為適中。電路的連接方式如圖3所示。

            包含1個(gè)2K×8的非易揮發(fā)性的SRAM和1個(gè)實(shí)時(shí)時(shí)鐘/日歷,以及內(nèi)嵌晶振和鋰電池。 的時(shí)鐘寄存器和記憶寄存器的存取方式同普通RAM的存取方式,而計(jì)時(shí)寄存器采取了雙緩沖的方式,以保證在存儲(chǔ)器存取過程中不間斷計(jì)時(shí)。當(dāng)電能監(jiān)控電路監(jiān)測(cè)到掉電時(shí),DS1642即接通內(nèi)部電源以確保時(shí)間保持和內(nèi)存數(shù)據(jù)不受破壞,精度可達(dá)1 min/月。詳情請(qǐng)見有關(guān)數(shù)據(jù)手冊(cè)。

          4 彩色液晶顯示模塊

            彩色液晶顯示功能的實(shí)現(xiàn)直接采用深圳市中天越華自動(dòng)控制科技有限公司的ZTCOLOR3彩色液晶驅(qū)動(dòng)模塊,電路接口如圖3所示。

            模塊的使用很簡(jiǎn)單,模塊本身具有數(shù)據(jù)刷新等功能。當(dāng)顯示的畫面沒有變化時(shí),單片機(jī)不需要對(duì)模塊進(jìn)行操作;要更改顯示界面時(shí),用寫寄存器的方式寫入數(shù)據(jù)即可。(詳見生產(chǎn)商的使用說明書)

          AVR單片機(jī)的全功能工業(yè)控制器設(shè)計(jì)

          圖3 時(shí)鐘和數(shù)據(jù)存儲(chǔ)與液晶顯示模塊連接電路、

          5 觸摸屏控制模塊

            觸摸屏采用四線電阻式觸摸屏,利用的A/D口對(duì)通電后的觸摸屏各觸摸點(diǎn)電壓值進(jìn)行采樣,以確定用戶的觸摸位置而進(jìn)行相應(yīng)的操作。電路如圖4所示。

          AVR單片機(jī)的全功能工業(yè)控制器設(shè)計(jì)

          圖4 觸模屏控制模塊電路

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

          #define TX1_0(){PORTE.3=1;DDRE.3=1;}

          #define TY1_1(){PORTE.5=0;DDRE.5=1;}

          #define TY1_0(){PORTE.5=1;DDRE.5=1;}

          #define TX0_1(){PORTE.4=1;DDRE.4=1;}

          #define TX0_0(){PORTE.4=0;DDRE.4=1;}

          #define TY0_1(){PORTE.6=1;DDRE.6=1;}

          #define TY0_0(){PORTE.6=0;DDRE.6=1;}

          #define TINT_IN() {DDRE.7=0;}//觸摸屏中斷口為輸入方式

          #define TINT_INPUT PINE.7

          #define TADX_IN(){DDRF|=1;PORTF=0xFE;delay_us(50);DDRF=0xFE;}//觸摸屏ADC端口為輸入方式#define TADY_IN(){DDRF|=2;PORTF=0xFD;delay_us(50);DDRF=0xFD;}

          /******************************

          觸摸屏初始化: 初始化觸摸屏四線端口、初始化觸摸屏中斷口、初始化ADC端口

          ******************************/

          void touch_init(void){

            unsigned char i;

            TX1_0()    //初始化四線端口

            TX0_0()

            TY1_1()

            TY0_0()

            TINT_IN()   //觸摸屏中斷端口為輸入方式

            EICRB|=0xC0; //設(shè)置INT7為上升沿觸發(fā),清除中斷

                   //標(biāo)志,開中斷

            EIFR|=0x80;

            EIMSK|=0x80;

            TADX_IN()//把觸摸屏ADC端口設(shè)置為輸入

            TADY_IN()

          }



          評(píng)論


          相關(guān)推薦

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

          關(guān)閉