A. 89c51單片機最多能控制幾個二相四線步進電機需要同時控制
理論上不添加外設,可以像樓上說的,32個IO口接8個電機,如果接外設,可以和2樓說的一樣,接滿地球,因為有專用的控制步進電機的晶元,單片機控制電機就非常方便了,不過這樣可能就沒體會到提問者的意思。我們僅就不添加外設進行討論。
但是除了IO口的限制,還有單片機的限制,由於單片機運行指令是一條一條執行的,沒有並發機制,所以如果對多個步進電機進行同時操作,如果操作頻率並不高,可以做到幾乎同時(不是嚴格意義上的完全同時,因為指令一次只執行一條,當然兩個電機同步操作同步運轉不在討論范圍之內)。但如果接上比較精密的高速度高頻率操作的步進電機時,可能就會有問題。
通俗的說,你給步進電機發一個指令,電機會運動一個步距,在電機運動到下一個步距之後,單片機再發送下一個指令,在這兩個指令之間單片機可以去做別的事情,比如去控制另一個電機。如果電機操控精細,在最極端的情況下,兩個指令之間的間隔,還不足以執行額外的一條指令,那麼單片機就只能控制一個電機了。即使用中斷也是沒用的,第一個電機的運轉會受到影響。
所以可以控制多少個電機,要參考你單片機的晶振,和你電機到底需要什麼樣的控制,如果需要的操作並不太精細,在第一個電機的兩條指令間隔能夠有時間發送多條指令,那麼就能夠增加控制電機的數量,這個數量需要根據實際情況來看。
B. 單片機中斷是並行還是並發
這個問題不太敢確定,我以個人觀點回答,僅供參考。 拿定時器來說,51開中斷,設置初始置後,便不用再管定時器,此時看來應該屬於並行,因為單片機在執行其他程序時的同時定時器仍在工作,屬於同時進行,直到定時溢出,進入中斷,此時應該屬於「並發」,其他程序壓棧,系統進入中斷服務程序,中斷處理完後再彈棧,繼續其他程序,因為51屬8位單核心單進程,還不能說是操作系統里的並發,我認為,實質上和並發沒有「並發」沒有多大區別 個人觀點,僅供參考!
C. 單片機串列通信實驗
1、實驗:用單片機串列口,實現兩個實驗台之間的串列通訊。其中一個實驗台作為發送方,
另一側為接收方。發送方讀入按鍵值,並發送給接收方,接收方收到數據後在LED上顯示
2、原理:串列通信是指數據按位順序傳送的通信。串列數據傳送的特點是:通信線路簡單,最多隻需一對傳輸線即可實現通信,成本低但速度慢,其通信線路既能傳送數據信息,又能傳送控制信息。它對信息的傳送格式有固定要求,具體分為非同步和同步兩種信息格式.與此相應有非同步通信和同步通信兩種方式;在串列通信中,對信息的邏輯定義與TTL不兼容,需要進行邏輯電平轉換:計算機與外界的數據傳送大多是串列的,其傳送的距離可以從幾米到幾千公里。單片機中使用的串列通信通常都是非同步方式的
3、實驗目的:1)掌握單片機串列口工作方式的程序設計,及簡易三線式通訊的方法。 2)了解實現串列通訊的硬環境、數據格式的協議、數據交換的協議。 3)學習串口通訊的中斷方式的程序編寫方法
4、參考實現:
http://wenku..com/link?url=uyYKlkBQqwjGl-akFJ3xWa67R814ShF50uwd3