<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

作者: 時(shí)間:2013-11-12 來(lái)源:網(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://開(kāi)PWM1端口

      if(c=0x03FF)OCR1A=c;

      PWM1_OUT()

      break;

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

      OCR1A=0x0000;

      PWM1_IN()

      break;

  }

}

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

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

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

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

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

4 彩色液晶顯示模塊

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

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

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

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

5 觸摸屏控制模塊

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

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

圖4 觸模屏控制模塊電路

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

#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;}

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

觸摸屏初始化: 初始化觸摸屏四線(xiàn)端口、初始化觸摸屏中斷口、初始化ADC端口

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

void touch_init(void){

  unsigned char i;

  TX1_0()    //初始化四線(xiàn)端口

  TX0_0()

  TY1_1()

  TY0_0()

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

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

         //標志,開(kāi)中斷

  EIFR|=0x80;

  EIMSK|=0x80;

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

  TADY_IN()

}



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>