單片機如何做成PLC?
去:有兩條路。
首先,串口用于與單片機通信,采用無協議模式。但一定要注意PLC的通訊,進行必要的轉換。比如RS422,RS485等。,可以使用相應的芯片與MCU連接。
第二,利用IO口,可以通過編碼與單片機交換數據,節省硬件資源。這種不需要任何協議,雖然慢,但是對于數據顯示來說綽綽有余。如果PLC沒有通訊口,可以考慮使用PLC編程口,具體取決于PLC的編程口是rs485/rs232還是協議。大多數PLC支持R232觸摸屏。
51單片機編程方法?
1.唐不要定義太多變量。低128位是用戶定義變量的存儲區(默認)。也可以把變量放在高128位,但是容易出錯。盡量少放,最好不放。可以通過*.M51檢查內存變量的存儲情況,最好不要超過110字節,否則程序不會運行或者出錯。
2.如果一個變量被用在很多地方,它可以被定義為一個全局變量。例如,循環變量I和J用于最小化參數傳遞。
3.靜態變量最好放在程序存儲區,由代碼定義。
4.變量應該定義為無符號數,只占一位的變量,比如標志位,應該定義為位。
()主程序后面的子程序要提前聲明,前面的不用聲明。
6.如果定義了變量和子程序但沒有使用,系統會給出警告。
7.盡管局部變量和全局變量的名稱不同,但運行時可能會被全局變量更改。
8.程序編譯后,有可能產生非常大的文件。比如原來的5k在編譯后變成了10k,這是C匯編時程序空間隨機分配造成的。程序編譯的一部分可以先屏蔽,然后解除屏蔽再編譯,可恢復,或者復制到另一個文件進行編譯。
9.如果在定時器中使用脈沖信號,當要去除脈沖信號時,應先關閉定時器,然后根據需要將電平設置為高電平或低電平。
10.軟件可以用來實現看門狗功能。例如,如果程序運行一個周期需要50毫秒,則計時器可以設置為100毫秒。當超過100毫秒時,程序將復位,定時器將在程序周期結束時重新加載或復位。
11.為了提高所得數值的準確性,可以多次測量,然后排序,去掉最大值和最小值,再取平均值,或者直接取平均值。
12.一個定時器可以用于多個計時。一般來說,兩個定時器對于較大的程序是不夠的。如果幾個計時時間分別為10ms、200us和50ms,則計時值可以位于200us,并且可以設置另外兩個變量。當需要多個計時時,只需找到它們的最小公約數計時即可。
13.當我們把一個程序寫入單片機時。,用*寫的。十六進制,唐不要被它的大小迷惑,對于8k的單片機來說,小于20k的程序都可以寫入。