女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機遠程燈控箱的設計資料和源代碼概述

Wildesbeast ? 來源:21IC ? 作者:21IC ? 2020-06-07 11:33 ? 次閱讀

以大型場所照明設備的遠程控制為目的,介紹基于SST89C58型單片機的遠程燈控箱系統的軟硬件設計。該系統通過RS485總線與PC上位機通信,實現遠距離、多節點控制。

電腦是現今信息時代的標志,通過電腦實現遠程實時自動化控制是今后發展的一種趨勢。在大型商場、飯店、體育場館及娛樂場所里,通常有許多照明設備。以往的開關控制和電閘控制,常常需要工作人員頻繁親臨現場操作,或向控制室拉接較長的220V電線,實時性、安全性都較差。為了實現工作人員在控制室可以對分散在各個房間的遠端照明設備進行實時有效的狀態控制及狀態查詢,筆者開發了一種基于單片機的遠程燈控箱系統。該系統由一臺PC上位機控制多臺遠端燈控箱,通過RS-485總線串行傳送指令,傳輸距離最遠可達1.2km,并增強串行通信協議的制定,降低了噪聲干擾。一臺燈控箱可對16路燈進行控制。燈控箱中選用SST89C58型單片機,其方便的IAP功能可在線下載Hex文件并進行調試,無需多次使用編程器。

1 系統結構及功能

遠程燈控箱系統的結構如圖l所示,其中,PC上位機放在控制室里,各燈箱就近放置在照明設備附近。由PC上位機發送控制指令,通過RS-485總線將指令串行傳送給各遠端燈控箱,這樣就可在控制室里實時開關控制,查詢各個燈的狀態。從傳輸距離和性價比方面考慮選用RS-485總線。RS-485為平衡線路,可實現遠距離、多節點控制。本設計的重點是燈控箱。下面將以一臺燈控箱為例介紹系統的軟件和硬件設計。

2 硬件設計

2.1主要元件

設計系統選用Silicon Storage。Technology公司推出的具有IAP(In-Application Programming)功能的SST89C58型單片機。它在指令系統、硬件結構和片內資源上與標準8052型單片機完全兼容,同時增大了內部程序存儲Flash的容量,可達36KB。并增加了與Flash編程相關的6個特殊功能寄存器和2個與看門狗復位有關的特殊功能寄存器。對SST89C58的IAP功能采用一個通用程序編寫[1],選用Keil公司的μVision仿真軟件進行編程仿真。將生成的Hex文件直接通過RS-232串口從PC下載到單片機上運行調試,使用非常方便,縮短了開發周期。ULN2803A型器件是TI公司生產的單片集成高壓、大電流達林頓晶體管陣列。該陣列由8個NPN達林頓管組成。其特點是電流增益高、負載能力強(輸出電流可達500mA)、工作電壓高(耐壓達50V)。選用的:X5045型器件為4K SPI電可擦除存儲器,用于掉電后保存從機站號。Maxim公司的MAX485型器件是通用半雙工收發器,傳輸速度為9.6Kb/s時,傳輸距離可達1.2km.可實現上位機與單片機之間的串口異步通信。

圖2

2.2系統核心硬件

遠程燈控箱系統的核心硬件圖如圖2所示,以SST89C58型單片機為核心,用P0口和P2口進行信號控制,注意P0口要加上拉電阻器。通過2個ULN2803進行電流放大,可驅動16路繼電器。由于片內帶有共陰極箝位二極管,可適應感性負載,故輸出端可省去大量二極管。SST89C58驅動16路繼電器,可控制16路燈信號。若要增加控制信號,可增加8255型器件擴展并行接口。用X5045保存RS-485網絡從機站號。SST89C58單片機的P1.2引腳用來模擬X5045的時鐘輸入信號SCK,CS=0時,串行輸出SO在時鐘信號下降沿有效,串行輸入SI在上升沿有效(WP=1)。具體操作還需要寫入狀態字。串口部分選用MAX485。其中,RE與DE接在一起由單片機的RD(P3.7)控制。拉低為接收有效,拉高為發送有效。該系統還具有上電自動復位和通電指示功能。設計PCB時應注意合理布線,對單片機電源進行濾波整流,并遠離干擾源。

3 系統軟件設計

C語言編譯器開發單片機具有使用方便、編程效率高及仿真調試容易等突出特點。C51的版本很多,本系統軟件選用德國Keil Software公司的Keil C51編譯器開發。該編譯器基于Windows平臺集成開發環境,可編輯、編譯和調試匯編語言程序及C51程序,還可模擬仿真I/O口、定時器/計數器、串行口及中斷等單片機特有的功能部件,功能非常強大。該系統的軟件設計由主程序、中斷程序、串行接收子程序、串行發送子程序、X5045讀寫子程序及若干功能實現子程序。其中,:X5045讀寫子程序需對時鐘進行精確操作,用匯編語言編寫,其他均用C語言編寫。

3.1主程序設計

在主程序中,先將SST89C58及X5045初始化,然后等待新命令。當NewData=1時,表示已接收到一個有效的命令幀,否則繼續等待。接著判斷是否是本機地址,若是則判斷控制命令,否則繼續等待。上位機發送指定的字符串,分別表示開燈、關燈、查詢、設置等命令。通過字符串比較,判斷出命令指令,跳到相應的入口子程序中;操作成功后,通過串口發送子程序返回相應的提示符,其具體流程如圖3所示。在本系統中,上位機的人機交互界面由C++Builder開發,限于篇幅,在此從略。

3.2串口中斷程序設計

為了增強抗干擾性,有效地區分噪聲和數據便于操作,串口中斷程序加強了通訊協議的制定[2],具體實現方法是加開始標志和結束標志。噪聲是以隨機字節出現的,通過測試和實驗,發現在本系統中0x00后跟0xFF時噪聲不容易發生。因此,設置開始標志為0x000xFF,結束標志為回車換行符0x0D0x0A。如果接收命令幀成功,則置NewData=1,表示新命令有效。考慮到糾檢錯,數據采用短包方式。中間采用延時,以保證起始位可靠。串口中斷程序流程如圖4所示。部分程序清單如下。

//串行接子函數

INT8U ReUART(INT8U*ch)

{INTl6U delay=6000;

while(--delay) //延時

{if(RI),/串行接收中斷標志

{RI=0;//接收中斷標志軟件復位

、 *ch=SBU F=//讀數據緩沖器

return 1;}//成功返回l

}

return(0);//接收失敗返回0

//串行中斷處理程序

void UART_Inter(void)interrupt 4

{INT8U ii;

INT8U temp,templ;

ReUART(&temp、);//先連續接收2個字節

ReUART(&templ);

//開始標志

if((temp==0x00)&&(templ==0xFF))

//連續接收一個命令幀

{for(ii=0;ii《12;ii++)

{if(ReUART(&buff[ii])==0)

goto Inter._end;}//跳出中斷

if((buf[10]==0x0D)&&(buf[ll]==0x0A)),/結束標志

NewData=l; //新命令標志有效

}

Inter_end:;//中斷出口

}

4 結論

基于SST89C58的遠程燈控箱系統可實現一臺PC上位機最多控制256個燈控箱,傳輸距離最遠可達1.2km,每臺燈控箱可對16路燈進行控制.實現了集中管理,分散控制的功能。該系統通過軟硬件提高抗干擾性,并具有較好的擴展性,結構簡單、投資少,實際應用表明具有較強的實用性。

下面還介紹一個 ULN2803A和SST89C58型單片機的遠程燈控箱系統

主要元件:ULN2803A型器件是TI公司生產的單片集成高壓、大電流達林頓晶體管陣列。該陣列由8個NPN達林頓管組成。其特點是電流增益高、負載能力強(輸出電流可達500mA)、工作電壓高(耐壓達50V)。

摘要:以大型場所照明設備的遠程控制為目的,介紹基于SST89C58型單片機的遠程燈控箱系統的軟硬件設計。該系統通過RS-485總線與PC上位機通信,實現遠距離、多節點控制。 關鍵詞:單片機;IAP;遠程控制;通信協議:SST89C58電腦是現今信息時代的標志,通過電腦實現遠程實時自動化控制是今后發展的一種趨勢。在大型商場、飯店、體育場館及娛樂場所里,通常有許多照明設備。以往的開關控制和電閘控制,常常需要工作人員頻繁親臨現場操作,或向控制室拉接較長的220V電線,實時性、安全性都較差。為了實現工作人員在控制室可以對分散在各個房間的遠端照明設備進行實時有效的狀態控制及狀態查詢,筆者開發了一種基于單片機的遠程燈控箱系統。該系統由一臺PC上位機控制多臺遠端燈控箱,通過RS-485總線串行傳送指令,傳輸距離最遠可達1.2km,并增強串行通信協議的制定,降低了噪聲干擾。一臺燈控箱可對16路燈進行控制。燈控箱中選用SST89C58型單片機,其方便的IAP功能可在線下載Hex文件并進行調試,無需多次使用編程器。

1 系統結構及功能遠程燈控箱系統的結構如圖l所示,其中,PC上位機放在控制室里,各燈箱就近放置在照明設備附近。由PC上位機發送控制指令,通過RS-485總線將指令串行傳送給各遠端燈控箱,這樣就可在控制室里實時開關控制,查詢各個燈的狀態。從傳輸距離和性價比方面考慮選用RS-485總線。RS-485為平衡線路,可實現遠距離、多節點控制。本設計的重點是燈控箱。下面將以一臺燈控箱為例介紹系統的軟件和硬件設計。2 硬件設計2.1主要元件設計系統選用Silicon Storage。Technology公司推出的具有IAP(In-Application Programming)功能的SST89C58型單片機。它在指令系統、硬件結構和片內資源上與標準8052型單片機完全兼容,同時增大了內部程序存儲Flash的容量,可達36KB。并增加了與Flash編程相關的6個特殊功能寄存器和2個與看門狗復位有關的特殊功能寄存器。對SST89C58的IAP功能采用一個通用程序編寫[1],選用Keil公司的μVision仿真軟件進行編程仿真。將生成的Hex文件直接通過RS-232串口從PC下載到單片機上運行調試,使用非常方便,縮短了開發周期。ULN2803A型器件是TI公司生產的單片集成高壓、大電流達林頓晶體管陣列。該陣列由8個NPN達林頓管組成。其特點是電流增益高、負載能力強(輸出電流可達500mA)、工作電壓高(耐壓達50V)。選用的:X5045型器件為4K SPI電可擦除存儲器,用于掉電后保存從機站號。Maxim公司的MAX485型器件是通用半雙工收發器,傳輸速度為9.6Kb/s時,傳輸距離可達1.2km.可實現上位機與單片機之間的串口異步通信。

2.2系統核心硬件遠程燈控箱系統的核心硬件圖如圖2所示,以SST89C58型單片機為核心,用P0口和P2口進行信號控制,注意P0口要加上拉電阻器。通過2個ULN2803進行電流放大,可驅動16路繼電器。由于片內帶有共陰極箝位二極管,可適應感性負載,故輸出端可省去大量二極管。SST89C58驅動16路繼電器,可控制16路燈信號。若要增加控制信號,可增加8255型器件擴展并行接口。用X5045保存RS-485網絡從機站號。SST89C58單片機的P1.2引腳用來模擬X5045的時鐘輸入信號SCK,CS=0時,串行輸出SO在時鐘信號下降沿有效,串行輸入SI在上升沿有效(WP=1)。具體操作還需要寫入狀態字。串口部分選用MAX485。其中,RE與DE接在一起由單片機的RD(P3.7)控制。拉低為接收有效,拉高為發送有效。該系統還具有上電自動復位和通電指示功能。設計PCB時應注意合理布線,對單片機電源進行濾波整流,并遠離干擾源。3 系統軟件設計用C語言編譯器開發單片機具有使用方便、編程效率高及仿真調試容易等突出特點。C51的版本很多,本系統軟件選用德國Keil Software公司的Keil C51編譯器開發。該編譯器基于Windows平臺集成開發環境,可編輯、編譯和調試匯編語言程序及C51程序,還可模擬仿真I/O口、定時器/計數器、串行口及中斷等單片機特有的功能部件,功能非常強大。該系統的軟件設計由主程序、中斷程序、串行接收子程序、串行發送子程序、X5045讀寫子程序及若干功能實現子程序。其中,:X5045讀寫子程序需對時鐘進行精確操作,用匯編語言編寫,其他均用C語言編寫。3.1主程序設計在主程序中,先將SST89C58及X5045初始化,然后等待新命令。當NewData=1時,表示已接收到一個有效的命令幀,否則繼續等待。接著判斷是否是本機地址,若是則判斷控制命令,否則繼續等待。上位機發送指定的字符串,分別表示開燈、關燈、查詢、設置等命令。通過字符串比較,判斷出命令指令,跳到相應的入口子程序中;操作成功后,通過串口發送子程序返回相應的提示符,其具體流程如圖3所示。在本系統中,上位機的人機交互界面由C++Builder開發,限于篇幅,在此從略。3.2串口中斷程序設計為了增強抗干擾性,有效地區分噪聲和數據便于操作,串口中斷程序加強了通訊協議的制定[2],具體實現方法是加開始標志和結束標志。噪聲是以隨機字節出現的,通過測試和實驗,發現在本系統中0x00后跟0xFF時噪聲不容易發生。因此,設置開始標志為0x000xFF,結束標志為回車換行符0x0D0x0A。如果接收命令幀成功,則置NewData=1,表示新命令有效。考慮到糾檢錯,數據采用短包方式。中間采用延時,以保證起始位可靠。串口中斷程序流程如圖4所示。部分程序清單如下。//串行接子函數INT8U ReUART(INT8U*ch){INTl6U delay=6000;while(--delay) //延時{if(RI),/串行接收中斷標志{RI=0;//接收中斷標志軟件復位、 *ch=SBU F=//讀數據緩沖器return 1;}//成功返回l}return(0);//接收失敗返回0)//串行中斷處理程序void UART_Inter(void)interrupt 4{INT8U ii;INT8U temp,templ;ReUART(&temp、);//先連續接收2個字節ReUART(&templ);//開始標志if((temp==0x00)&&(templ==0xFF))//連續接收一個命令幀{for(ii=0;ii《12;ii++){if(ReUART(&buff[ii])==0)goto Inter._end;}//跳出中斷if((buf[10]==0x0D)&&(buf[ll]==0x0A)),/結束標志NewData=l; //新命令標志有效}Inter_end:;//中斷出口}4 結論基于SST89C58的遠程燈控箱系統可實現一臺PC上位機最多控制256個燈控箱,傳輸距離最遠可達1.2km,每臺燈控箱可對16路燈進行控制.實現了集中管理,分散控制的功能。該系統通過軟硬件提高抗干擾性,并具有較好的擴展性,結構簡單、投資少,實際應用表明具有較強的實用性。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6063

    文章

    44929

    瀏覽量

    647193
  • RS485
    +關注

    關注

    39

    文章

    1224

    瀏覽量

    83653
  • 上位機
    +關注

    關注

    27

    文章

    960

    瀏覽量

    55607
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    51+單片機TCP-IP+協議棧ZLIP源碼

    概述 單片機上網技術,是當前的一個熱門技術。單片機上網技術中的一個重要部分是在單片上實現 TCP/IP 協議棧。現在可獲得的 TCP/IP 源代碼
    發表于 04-22 15:11

    單片機C語言編程寶典大全,初學必備【強推下載!】

    (400頁PPT) 6. 單片機程序設計實例 7. 單片機應用程序設計技術_周航慈.pdf 8. 8051單片機C語言徹底應用 9. C語言程序實例大全-220個詳細程序源代碼 10.
    發表于 03-14 11:03

    基于STM32單片機的智能電路圖設計

    基于STM32單片機的智能電路圖設計 獲取資料可下載附件哦!!!!
    發表于 03-13 14:29

    160個51單片機案例源代碼匯總資源(建議下載!)

    資料包含160個51單片機案例源代碼,部分截圖如下:
    發表于 03-13 14:26

    基于瑞薩RA8單片機的智能小車項目方案 附源代碼

    基于瑞薩RA8單片機,e2studio開發環境,給大家講述一下智能小車項目的方案,并附上主要的源代碼
    的頭像 發表于 03-07 14:36 ?1276次閱讀
    基于瑞薩RA8<b class='flag-5'>單片機</b>的智能小車項目方案 附<b class='flag-5'>源代碼</b>

    單片機學習—C51源代碼和Proteus仿真文件

    單片機學習—C51源代碼和Proteus仿真文件.zip, 有各種例子
    發表于 02-10 13:46 ?1次下載

    昂寶單片機相關資料

    昂寶單片機相關資料
    發表于 11-25 14:50 ?0次下載

    如何寫出穩定的單片機代碼

    這篇文章分享怎么寫出穩定的單片機代碼。? ?? 我對優秀代碼的理解,大體分為兩個部分:高效和穩定。 ? 兩者都能做到很好的,如果靠自己摸索,沒有刻意去練習,可能需要花10年,甚至更久
    的頭像 發表于 11-15 16:40 ?750次閱讀
    如何寫出穩定的<b class='flag-5'>單片機</b><b class='flag-5'>代碼</b>

    基于51單片機遠程防盜報警系統

    亮,蜂鳴器報警,表示檢測到聲音;(3)人體感應模式按鍵和聲音感應模式按鍵同時按下,聲光報警,將報警信息“Dangerous!!!”發送到串口調試助手,表示遠程報警。設計介紹51單片機簡介51單片是一種
    的頭像 發表于 10-22 14:10 ?469次閱讀
    基于51<b class='flag-5'>單片機</b>的<b class='flag-5'>遠程</b>防盜報警系統

    基于51單片機TEA5767收音數碼管顯示設計

    這是基于51單片機TEA5767收音數碼管顯示設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)。本資源適合人群:? ? ? 單片機
    發表于 06-27 11:42 ?18次下載

    基于51單片機數字時鐘鬧鐘設計

    本資源內容概要:? ? ? ?這是基于51單片機數字時鐘鬧鐘設計包含了PDF版本電路圖、C語言程序源代碼(keil軟件打開)、proteus仿真。本資源適合人群:? ? ? 單片機愛好者、電子
    發表于 06-25 10:17 ?0次下載

    基于51單片機熱釋紅外報警設計

    本資源內容概要:? ? ? ?這是基于51單片機熱釋紅外報警設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格打開
    發表于 06-25 10:15 ?0次下載

    基于51單片機24秒倒計時設計

    本資源內容概要:? ? ? ?這是基于51單片機24秒倒計時設計包含了 C語言程序源代碼(keil軟件打開) 。本資源適合人群:? ? ? 單片機愛好者、電子類專業學生、電子diy愛好者。本資源能
    發表于 06-25 10:03 ?0次下載

    基于51單片機兩路紅黃綠交通電路圖及程序

    本資源內容概要:? ? ? ?這是基于51單片機兩路紅黃綠交通電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)。本資源適合人群
    發表于 06-24 17:32 ?2次下載

    基于51單片機四路紅黃綠交通電路圖及程序

    本資源內容概要:? ? ? ?這是基于51單片機四路紅黃綠交通電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)。本資源適合人群
    發表于 06-24 17:31 ?2次下載