娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

單片機電梯控制程序

發布者:支持中文最新更新時間:2020-10-28 來源: 51hei關鍵字:單片機  電梯控制 手機看文章 掃描二維碼
隨時隨地手機看文章

單片機程序

#include

#define u8 unsigned char

unsigned char seg_table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};

unsigned char run,floor;

bit ud,stop=0;


sbit P06=P0^6;

sbit P07=P0^7;

sbit ulc=P2^0;

sbit dlc=P2^1;

sbit start=P2^2;                                               

sbit alrl=P2^3;

sbit alrb=P2^4;


void input()

{

        run|=((~P0)&0x3f);

        if((P06==0)&&(ud==1))

        run|=0x02;

        if((P06==0)&&(ud==0))

        run|=0x04;

        if((P07==0)&&(ud==1))

        run|=0x08;

        if((P07==0)&&(ud==0))

        run|=0x10;

}


void delay(int j)

{

  int i;

  for(;j>0;j--)

  {

        input();

        for(i=200;i>0;i--)

        {

          if(stop==1)

          break;

        }

        if(stop==1)

        break;

  }

}


void StepMotor(bit a,u8 b)

{

  u8 x=0x80,i;

  if(a==1)

  {

        ulc=0;

        dlc=1;

    for(i=0;i        {

          if(x==0x10)

            x=0x80;

          else

            x=x/2;

          P3|=(x&0xf0);

          delay(100);

        }

  }

  else

  {

         ulc=1;

         dlc=0;

     for(i=0;i        {

          if(x==0x80)

            x=0x10;

          else

            x=x*2;

          P3|=(x&0xf0);

          delay(100);

        }

  }

}


void alarm()

{

  alrl=0;

  while(1)

  {

    alrb = ~alrb;

        delay(200);

  }

}


void main()

{

        floor=1;

        P1=seg_table[floor];

        P0=0xff;

        ud=1;

        run=0;      

        ulc=1;

        dlc=1;

      

        alrl=1;

    alrb=1;         


        TCON=0x01; //打開外部中斷0,并設置為下降沿觸發

        IE=0x81;   //開總中斷


        while(1)

        {      

             while(start==1)

           {

                  P1=seg_table[10];

                  ulc=1;

          dlc=1;      

           }


                input();                              

                switch(floor)

                {

                  case 1:                                  //1

                  {

                        P1=seg_table[floor];

                    

                        if((run&0x01)==0x01)

                        {

                          delay(600);

                          run&=0xfe;         

                        }


                    if((run&0x3e)!=0)

                        {

                          StepMotor(1,5);

                          floor=2;

                          ud=1;

                        }

                        else

                        {

                          ulc=1;

              dlc=1;

                        }

                  }         break;

                  case 2:

                  {      

                        P1=seg_table[floor];

                    if(ud==1)                                 //2上

                        {

                          if((run&0x02)==0x02)

                          {

                            delay(600);

                            run&=0xfd;         

                          }

                                          

                      if((run&0x38)!=0)

                          {      

                            StepMotor(1,5);

                            floor=3;                       

                          }      

                          else

                          {

                            ud=0;

                                ulc=1;

                dlc=1;

                          }

                        }

                        else                                            //2下

                        {

                          if((run&0x04)==0x04)

                          {

                            delay(600);

                            run&=0xfb;         

                          }

                  

                      if((run&0x01)!=0)

                          {

                            StepMotor(0,5);

                            floor=1;                  

                          }

                          else

                          {

                            ud=1;                 

[1] [2]
關鍵字:單片機  電梯控制 引用地址:單片機電梯控制程序

上一篇:從99顯示到0的動態顯示(單片機設計)
下一篇:51單片機BMP280氣壓和溫度值測試程序

推薦閱讀最新更新時間:2025-06-04 23:33

基于可編程控制器的電梯控制系統論文
摘要: ? 隨著微電子技術和計算機技術的迅速發展,PLC(即可編程控制器)在工業控制領域內得到十分廣泛地應用。PLC是一種基于數字計算機技術、專為在工業環境下應用而設計的電子控制裝置,它采用可編程序的存儲器,用來存儲用戶指令,通過數字或模擬的輸入/輸出,完成一系列邏輯、順序、定時、記數、運算等確定的功能,來控制各種類型的機電一體化設備和生產過程。本文介紹了利用可編程控制器編寫的一個五層電梯的控制系統,檢驗電梯PLC控制系統的運行情況。實踐證明,PLC可遍程控制器和MCGS組態軟件結合有利于PLC控制系統的設計、檢測,具有良好的應用價值。   電梯是隨著高層建筑的興建而發展起來的一種垂直運輸工具。多層廠房和多層倉庫需要有貨梯;高
[模擬電子]
基于PLC的電梯控制系統的設計與實現
??? 引言 ??? 電梯是高層建筑不可缺少的垂直方向的交通運輸工具。隨著經濟和技術的發展,電梯的使用領域越來越廣,電梯已成為現代物質文明的一個標志。由于傳統的電梯運行邏輯控制系統采用的是繼電器邏輯控制線路。采用這種控制線路,存在易出故障、維護不便、運行壽命較短、占用空間大等缺點。從技術發展來看,這種系統將逐漸被淘汰。 ??? PLC是一種專門為工業環境設計的通用控制裝置,可以完成大型而復雜的控制任務,以可靠性高、通用性強、體積小、成本低著稱控制工程網版權所有,成為工業自動化的技術支柱之一,在工業自動控制領域占有十分重要的地位 。本文將可編程序控制器(PLC)應用于三層電梯進行邏輯控制,設計了一套完整的電梯控制系統方案并通過三層電
[嵌入式]
電梯控制系統中靜磁柵位移傳感器的應用1
1 電梯控制簡介   目前電梯的控制普遍采用了兩種方式,一是采用微機作為信號控制單元,完成電梯信號的采集、運行狀態和功能的設定,實現電梯的自動調度和集選運行功能,拖動控制則由變頻器來完成;第二種控制方式用可編程控制器(PLC)取代微機實現信號集選控制。從控制方式和性能上來說,這兩種方法并沒有太大的區別。國內廠家大多選擇第二種方式,其原因在于生產規模較小,自己設計和制造微機控制裝置成本較高;而PLC可靠性高,程序設計方便靈活。本設計在用三菱 FX2系列PLC控制靜磁柵位移傳感器實現電梯平層控制。   靜磁柵 位移傳感器 在電梯控制系統中的作用為電梯平層控制的調整,電控系統是電梯的“中樞神經”,其質量的好與壞直接影響電梯質量。客梯
[模擬電子]
<font color='red'>電梯控制</font>系統中靜磁柵位移傳感器的應用1
CAN-bus 現場總線應用方案(電梯控制
???? 前言? ????2003年5月6日,PHILIPS正式授權:廣州周立功單片機發展有限公司為汽車電子產品線(含CAN-bus、汽車防盜器RFID、汽車傳感器)中國地區代理商。 ????依靠強大的專業開發團隊、PHILIPS半導體的領先技術與國際CiA協會、ODVA協會的支持,我們致力于發展中國的CAN產品與應用事業。至現在,我們已成功開發出一系列CAN-bus教學、接口、工具、應用產品,能夠為客戶提供從“芯片”、“工具”、“模塊”、“方案”等各個方面的服務,涉及CAN-bus多個行業與應用領域。我們自主開發的數個型號產品已經領先于國外技術水平,并已投入廣泛的實際應用。? ? ???? CAN-bus介紹? ???
[嵌入式]
兆易創新高性能GD32A7x車規級MCU已獲TASKING編譯器支持
近日,兆易創新 GD32A7x 車規級 MCU 正式獲得 TASKING VX-toolset for Arm v7.1r1 的全面支持。作為業內領先的嵌入式開發工具, TASKING VX-toolset for Arm 的兼容性和優化能力將進一步提升 GD32A7x MCU 在汽車電子領域的開發效率和性能表現。 自2024年達成戰略合作以來,兆易創新與 TASKING 始終保持緊密合作,圍繞汽車電子應用需求不斷優化工具鏈支持,助力開發者輕松構建高性能、安全可靠的嵌入式系統。此次兼容性升級不僅豐富了 GD32A7x MCU 的開發生態,也為汽車行業客戶提供了更加高效的開發環境,加速高端MCU在車身域控(BDC)、車身
[汽車電子]
兆易創新高性能GD32A7x車規級<font color='red'>MCU</font>已獲TASKING編譯器支持
洗牌!汽車MCU進入「大混戰時代」,誰能夠 “伺機突圍”?
汽車MCU“大混戰”已經全面爆發。 一方面,為了清庫存,各大MCU廠商開始“血拼”價格戰。尤其是中國低端車規MCU芯片市場,由于參與企業眾多,價格戰也打得最為火熱。 另一方面,整車電子電氣架構正在往中央計算-區域控制架構演進,包括英飛凌、NXP等國際大廠開始推出更高算力、更先進制程、更高集成度的車規MCU產品,車規MCU的升級戰已經全面打響。 然而,汽車芯片產業仍然未擺脫“至暗時刻”,需求萎靡、庫存過剩等困局依然存在。根據NXP、英飛凌等多家芯片巨頭在近期發布的業績報告顯示,截止今年第三季度,各大汽車芯片巨頭的營業收入依然處于下行態勢,并且對第四季度前景持悲觀態度。而意法半導體更是直言,直到明年第一季度,汽車芯片都將處
[汽車電子]
STM32單片機GPIO的配置模式
1. 操作GPIO的意義 我們在學習單片機的時候,一般都是從操作GPIO開始的,很多單片機學習的教程第一課就是點亮發光二極管或者是流水燈。所以對于初學者而言,及時掌握單片機的GPIO口是一件具有里程碑意義的事情。今天以STM32單片機為例,簡單看一下GPIO口。 2. STM32單片機GPIO的配置模式 STM32單片機的GPIO最有8組,分別為A,B,C,D,E,每組有0-15共16個??梢耘渲脼?中模式: 3. 相關寄存器 配置GPIO相關的寄存器有如下幾個: 1.端口配置低寄存器:(GPIOx_CRL) (x=A..E) 2.端口配置高寄存器:(GPIOx_CRH) (x=A..E) 3.端口輸入數據寄存器:(GPI
[單片機]
STM32<font color='red'>單片機</font>GPIO的配置模式
51單片機串口通信原理講解
今天研究了一下51單片機的串口通信,使用的單片機是普中科技開發板,但實際上所運用到的硬件和其他品牌單片機都相同,沒有區別,總結一下,自己的理解和看法。 通信原理 通信原理大致分為串行和并行兩種方法,各有優缺點,也不再這里贅述了,使用到的是串行通信的方法,簡單介紹一下串行通信的原理,上圖 兩個設備,一根互傳線,每次傳一組數據,總長度不一定8位,由51單片機內部設定來決定。設備間通信有許多接口方式,我用的是51上的串行接口,掛圖: SBUF:是指串行口中的兩個緩沖寄存器,一個是發送寄存器,一個是接收寄存器,在物理結構上是完全獨立的,但地址是重疊的。它們都是字節尋址的寄存器,字節地址均為99H, TXD:Transmit(tx
[單片機]
51<font color='red'>單片機</font>串口通信原理講解
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

隨便看看

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京B2-20211791 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 佛冈县| 广宁县| 甘南县| 伊春市| 洛浦县| 尼玛县| 肥东县| 晴隆县| 平泉县| 岳阳县| 大埔区| 康保县| 青田县| 信宜市| 晋中市| 潍坊市| 南召县| 道孚县| 科技| 浮梁县| 万州区| 乌鲁木齐县| 兴业县| 留坝县| 久治县| 潞城市| 桦甸市| 沛县| 阜阳市| 信阳市| 罗山县| 余干县| 荥阳市| 祁东县| 红安县| 滨州市| 望奎县| 新源县| 嘉禾县| 广河县| 会同县|