欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 我建議初學者學 51單片機直接使用三總線接法,暫時不要學模擬接口 [打印本頁]

作者: lyonkon    時間: 2022-3-5 01:00
標題: 我建議初學者學 51單片機直接使用三總線接法,暫時不要學模擬接口
      我學習51單片機很長時間了,C語言學廢了。轉學匯編,現在能用匯編語言實現一些簡單的想法。比較之前學C語言的時候,像1602lcd用模擬端口接法,既要延時 又要寫寫數據程序 寫指令程序。很麻煩,       我C語言沒學下去在lcd顯示控制這方面卡了好長時間,以至于沒有機會做想做的東西,整天消耗在控制硬件上失敗再調試 再失敗再調試。真正的算法沒來得及應用,已經被模擬端口操作整的暈頭轉向。     51單片機可以用三總線模式,接lcd1602就像圖上那樣,編程的時候根本不需要考慮什么時序 什么延時 和寫數據指令。數據直接塞進去就顯示。不是很好嗎。模擬總線操作真的讓人感到痛苦。特別是新手。
      像18b20 這些單總線器件 更是讓人難受,當你學會這些器件操作的時候,你當初學習單片機的想法 目的 激情,可能已經消散殆盡。

      作為初學者,我真正經歷這種痛苦。我不想再在控制時序方面折磨自己。

       所以,我對初學者的建議是,直接使用8位并口器件接P0口,用控制三總線法 來控制器件  盡量不使用需要模擬端口的器件。
       這樣你可以集中精神在算法 邏輯 功能上 ,這樣學起來會更好。

無標題.jpg (57.86 KB, 下載次數: 55)

無標題.jpg

作者: GEECGYJ    時間: 2022-3-5 08:24
LCD1602也可以用I2C轉接模塊驅動,兩個I/0就可以了!!
作者: xiexugang    時間: 2022-3-5 08:54
接口信號時序都是基礎的知識,稍加練習,都容易掌握的.
作者: a399288395    時間: 2022-3-5 14:00
與C和匯編沒有關系; 對于各種周邊外設, 首先自己仔細的把時序圖理清楚,51 本來就是通過IO口模擬各種時序, 如果時序都搞不懂, 我想你搞匯編一樣也搞不明白;
作者: lyonkon    時間: 2022-3-6 08:44
比如用總線法接LCD1602.
要在80H地址顯示字符A,
MOV R1,80H    ;80H值傳遞給R1
MOV A,0X41     ;0X41傳遞給累加器
MOVX @R1,A    ;將0x41傳遞到片外80H地址
end
用匯編總共用3句話,
用C語言應該更簡單      
片外尋址指令   80H   =  "A";
只用一句話。
這樣可以讓新手直接針對數據和算法和目標, 而不是針對硬件
作者: 風158    時間: 2022-3-6 10:02
LCD1602是常用模塊,有現成驅動程序,搬過來嵌入主程序就行。增加硬件不麻煩嗎?
作者: hp34401a    時間: 2022-3-8 17:55
呵呵,我覺得LZ還是初學者。。。
作者: auxccc    時間: 2022-3-9 18:40
我只會C呢,和你相反。
作者: datouyuan    時間: 2022-3-11 08:44
lyonkon 發表于 2022-3-6 08:44
比如用總線法接LCD1602.
要在80H地址顯示字符A,
MOV R1,80H    ;80H值傳遞給R1

新手就不需要知道函數嗎?(匯編叫子程序,C叫函數)
不管是總線法,還是接口法,甚至更換MCU,都可以封裝成同一個函數lcd1602_write(cmd,dat).
這才是讓新手“直接針對數據和算法和目標”的正確方式。
作者: 君工創    時間: 2022-3-11 09:27
其實學單片機,串口.并口都要學。這是基礎。我使用12864一直都是使用串口,為了節省IO口。還沒用過并口。
作者: myemcu    時間: 2022-3-11 10:05
你選擇了Intel時序。
作者: lyonkon    時間: 2022-3-14 10:40
myemcu 發表于 2022-3-11 10:05
你選擇了Intel時序。

你說之前我還不知道有Intel時序,現在我知道了
作者: 一事無成    時間: 2022-3-15 23:04
只會C,表示單總線確實難搞,主要是延時不準,I2C倒是用的挺順手。
作者: rsx9583    時間: 2022-3-16 08:30
我感覺我就沒樓主遇到的這些問題,因為我都是抄別人的程序




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1