1樓:網友
首先計算括號裡面的內容,把1向左移1位(也就是第1位變1,其他位都是0,這裡的最低位是第0位), 然後所有位取反,也就是除第1位是0外,其餘全是1, 然後賦值給s2con。 這個s2con比較少見,估計是比較高檔的微控制器了。
2樓:網友
如果單純的1001 1010和0000 0001這兩個位元組&的話,結果就是如你所說的0000 0000,沒錯的!但是,當串列埠中斷接收到乙個資料之後,s2con 就不再是你定義的初始值0x9a了,這時s2con已自動變為0x9b了,因為s2con暫存器中的最低位s2ri已從0變為1,這個是串列埠接收資料之後自動變的(你的誤區就在這,就是這裡你沒搞明白),所以,這時與出來的結果已不是0了。因此,串列埠每接收乙個資料之後,你都要寫一行程式將s2ri位清零,方能再次接收下乙個資料。
串列埠傳送資料和這個是一樣的,無非是每傳送乙個資料s2ti位會自動置1,你同樣需要寫一行程式將s2ti位清零,方能繼續傳送下乙個資料。
之所以要採用這種按位與的操作方式給s2ri和s2ti賦值,是因為s2ri和s2ti這倆暫存器是不可位定址的,因此也就不能像ri和ti(串列埠1)那樣直接給s2ri和s2ti進行賦值,這也是為什麼直接給s2ri和s2ti直接賦值導致程式編譯通不過的原因。
用什麼語言可以給微控制器程式設計
3樓:緣若夢醒
我學單bai片機的時候是先學du習彙編,這樣可以zhi充分了解51微控制器的內部結dao構,能跑跑馬燈版了就行了。
然後轉權到c語言,因為c語言最簡單了,彙編很麻煩,一般都用c,只有要求苛刻的地方才會用到彙編,因為彙編的**生成的程式比c的好。
4樓:網友
微控制器程式語言有組合語言和c語言,也有其它語言,如bascom組合語言的**佔用專。
空間小,執行速屬度快,但**不易記,不易複製,開發效率低c語言的**可移植性好,開發效率高,但**量和執行速度稍差一些更高階的語言開發效率更高,但執行效率要明顯低一些,**儲存量也大很多。
5樓:網友
一般是c語言或者組合語言。
1、大多數情況下,微控制器執行的程式,都是語言編寫的。不過並不是純粹的傳統c語言,而是變種後的c51語言。
微控制器c51語言是由c語言繼承而來的。和c語言不同的是,c51語言執行於微控制器平臺,而c語言則執行於普通的桌面平臺。c51語言具有c語言結構清晰的優點,便於學習,同時具有組合語言的硬體操作能力。
對於具有c語言程式設計基礎的工程師,能夠輕鬆地掌握微控制器c51語言的程式設計。
2、組合語言:
組合語言(assembly language)是一種用於電子計算機、微處理器、微控制器或其他可程式設計器件的低階語言,亦稱為符號語言。在組合語言中,用助記符(mnemonics)代替機器指令的操作碼,用位址符號(symbol)或標號(label)代替指令或運算元的位址。在不同的裝置中,組合語言對應著不同的機器語言指令集,通過彙編過程轉換成機器指令。
普遍地說,特定的組合語言和特定的機器語言指令集是一一對應的,不同平臺之間不可直接移植。
組合語言不像其他大多數的程式設計語言一樣被廣泛用於程式設計。在今天的實際應用中,它通常被應用在底層,硬體操作和高要求的程式優化的場合。驅動程式、嵌入式作業系統和即時執行程式都需要組合語言。
在一些情況下,c51並不能完美的實現功能,所以組合語言是對c51的乙個重要補充。一般來說,啟動部分(基礎硬體的初始化),往往是由組合語言完成的。除此以外,一些要求時效性特別強,效率要求特別高時,也需要使用組合語言完成。
用c語言編寫還是用程式語言編寫微控制器程式簡單?
6樓:
c語言簡單。
彙編有時候是無法避免的,但是情況不多。也就用在核心**或者wait/delay這樣的函式,要精確到us的時候要算管道時間和clock個數。
核心層面的**處理好了基本上就c語言搞定了。
7樓:一路清晨
當然是c語言了呀,現在很少用匯編寫的了,c語言寫的最好也是編譯成2進位檔案啊,只不過多了一層編譯器而已,但是小的東西期間沒有檔案系統的還是用匯編,舞臺不一樣。但是c是絕對的主流,彙編是永遠的根本。
8樓:網友
彙編是用來寫最精確時間和程式體積的,一般都用c寫,掌握彙編才能瞭解硬體的工作原理,要是光用果斷c
9樓:智人
一般都用c,可讀性,維護性都比較好。
stc12c5a60s2雙串列埠微控制器的串列埠通訊方式問題
在同一個程式裡面,可以串列埠1使用 中斷方式 串列埠2使用查詢方式。當然,串列埠2也可以使用中斷方式,並且推薦這樣做。中斷的開啟和關閉應該怎樣具體操作?為什麼關閉中斷?設定好串列埠 不管1 2 開啟中斷,就不需要關閉中斷了,除非特殊需要。是不是串列埠1收發完成時關總中斷?同上,為什麼老要關中斷你?串...
微控制器中PT11是什麼意思,微控制器中的SMOD是什麼意思
定時中斷1優先順序置1。就是定時中斷1設為高優先順序。定時 計數器t1優先順序設定位,定時中斷1為高中斷級 管腳pt1輸出高電平 微控制器中的 od是什麼意思?od屬於特殊暫存器,該位跟串列埠通訊相關,是對定時器t0 t1工作方式跟模式的選擇。它是80c51微控制器中最具有特色的部分,幾乎所有80c...
使用微控制器為什麼要查資料手冊,微控制器程式設計時如何檢視晶片手冊寫程式,比如驅動,看不明白
因為微控制器的每類 的電路或者要求不一樣,比如有的工作電壓是5v 有的是3.3v,這就要查手冊了 不查資料手冊你不知道微控制器有哪些資源,這些資源怎麼使用,微控制器的電器引數,開發環境等 微控制器程式設計時如何檢視晶片手冊寫程式,比如驅動,看不明白 先看簡單的咯。晶片資料,先看中文的。結合例程,看看...