標題: 不用電腦,編程器,軟件就用0和1和單片機對話究竟能不能叫單片機工作起來? [打印本頁]
作者: 海闊天空8 時間: 2020-8-17 08:28
標題: 不用電腦,編程器,軟件就用0和1和單片機對話究竟能不能叫單片機工作起來?
本帖最后由 海闊天空8 于 2020-8-31 15:32 編輯
各位網友多數認為不能,這或許是單片機技術發展到今天的一般認為。但我還是認為歸根結底還是要用0和1與計算機電路(硬件)對話。如果我的電路硬件連接正確,總會有辦法使單片機工作起來的!我承認我的單片機基礎知識很差(就是想繞過各種繁雜的語言),用數碼開關設置好相應的管腳電平,向哪些管腳,如何輸入數據?如果有人能告訴我,我還是能聽得明白的,,,,,,,
熱心的網友不厭其煩的給予我幫助,并且提供了比較詳細的電路,解決了我的一些問題,在此致以真誠的謝意!
不好意思,不管我的問題多么荒謬但至今沒有100%否定,有朋友說我在戲弄壇友,浪費大家精力,對此在下覺得奇怪?起碼我的本意不是如此。如果說是,那責任不在我。如果您看著煩,盡管不看好了。在此也提請管理如果是我在戲弄壇友浪費大家精力盡管依規處理。
,最后,我也反省了我的問題,怎么就不能把問題提得清晰一些?看來就是89C2051單片機的20個引腳功能不清楚,具體怎么使用的問題吧?希望能有高人不厭其煩的講清楚具體用法,對于真誠幫助我的朋友在此致謝了,耽誤大家時間!
單片機功能要比單純的存儲器功能多得多,難道就不能有存儲器的功能嗎?年輕人玩電腦游戲有幾個真懂電腦的?有幾個能把電腦能做的事情都作了?只會玩游戲簡直就是摧殘高科技!
這些天來我也反省自己的看法。根本問題就是不清楚89C2051各引腳的功能,用法。有關資料說明也講不清楚,這或許是我想象的用法特殊的原因吧?不過網友提供的電路圖(數據端,地址端,單脈沖產生電路等)提供了不用晶體產生振蕩89C2051完成數據輸入,儲存,輸出的可能性。
作者: hbcqd 時間: 2020-8-18 09:22
可以用PLC,PLC內有成百上千個可供用戶使用的編程元件,有很強的功能,可以實現非常復雜的控制功能。
作者: 海闊天空8 時間: 2020-8-18 11:15
謝謝,您又提供了我一種器件。我的目的是從純硬件電路考慮用0和1怎樣教89C2051動起來。在什么狀態下,0和1往哪些引腳上加。有具體電路圖最好!
作者: xstong 時間: 2020-8-18 12:13
“繞開各種繁雜的語言”,我想你是想多了,設計編程語言目的就是為了“繞開復雜的0和1”!!!
0和1是數字電路的靈魂,單片機本身就是一個龐大而復雜的數字電路而已!!!
只要你有足夠的耐心、認知,你可以通過大規模的開關連接設計出自己的X86!!
作者: xstong 時間: 2020-8-18 12:24
有些問題,只能個人沒事兒時,想想就好!不要太過當真,好比為了砍點柴火,需要把斧子,沒必要從盤古開天辟地開始,采礦、煉鐵做斧子!!
作者: 海闊天空8 時間: 2020-8-18 12:45
不好意思,我一看見外國字母就暈!^_^,PLC?我好像見過?是什么?忘了,可編程器件嗎?
作者: toyboy 時間: 2020-8-18 12:58
樓主,建議你暫時放棄這個想法!玩玩電子開關電路吧!先玩三極管開關電路,再加入‘門電路’,、、然后再來玩你現在的想法!輕車路熟不敢說,但至少你思路會寬很多!
作者: Roy-2010 時間: 2020-8-18 15:40
可以啊,用播碼開關來撥碼或者用電鍵來按的也有啊
作者: 海闊天空8 時間: 2020-8-18 17:09
我就認識0和1,語言是別人規定的規則,太繁瑣
作者: 海闊天空8 時間: 2020-8-18 17:11
語言產生于0和1以后沒錯吧?我還是從基礎開始吧?
作者: 海闊天空8 時間: 2020-8-18 17:14
^_^,我相信你的話!但你就是不告訴我?沒關系。或許你也沒這樣做過?
作者: 海闊天空8 時間: 2020-8-18 17:19
我就不相信89C2051一共20個引腳我就弄不明白它的基本功能!只是關鍵的地方卡住了,我大膽猜想回帖的朋友還是沒這樣做過得多,
作者: 海闊天空8 時間: 2020-8-18 17:29
謝謝。系統學習我是不可能了。我就相信從存儲器6116到簡單單片機距離并不是太遠,只是對計算機語言不懂,人家一用符號說我就蒙頭轉向了!沒關系,不就是再沖刺一回嘛!承蒙各位的熱情我還是有進步的^_^在此一并致謝!尤其是“XTXB"師傅,謝謝您!
作者: breakhero 時間: 2020-8-18 19:01
沒忍住回帖了,抱歉~
那個芯片是一共20個引腳,但是引腳少就意味著有些簡單的東西要復雜了,單片機作為計算機設計需要按程序運行,所以首先你要用開關電路(假設你用開關與CPU互動)模擬程序指令,把指令寫進片內存儲器(這部分需要先學習編程器的工作原理),為了配合你的速度,你需要讓單片機工作在極低的的頻率,比如你用一個開關觸發它的時鐘,然后,然后。。。然后我寫不下去了。精神可嘉!其實這和“給我一個支點我能撬動地球”是一回事,理論上對,就是實現起來需要“窮其一生”的精神。#^_^#
作者: 海闊天空8 時間: 2020-8-18 19:44
為了配合你的速度,你需要讓單片機工作在極低的的頻率,比如你用一個開關觸發它的時鐘,然后,然后。。。然后我寫不下去了-------------------關鍵的地方就是不說?輸出數據的時候保持什么節奏?尋初期6116可以根據地址變化的速度輸出,單片機是按什么節奏輸出數據的呢?4-5腳接的是6MH的晶體。
作者: 海闊天空8 時間: 2020-8-18 19:48
你講的最后一段我聽不懂了。不過很多資料講手動編程的方法是存在的呀?
作者: 海闊天空8 時間: 2020-8-18 20:24
這不是手動編程步驟嗎?不過我5步以后就看不懂l了。
-
編程步驟3.jpg
(929.92 KB, 下載次數: 66)
下載附件
2020-8-18 20:21 上傳
作者: hhdsdy 時間: 2020-8-19 00:49
以0和1輸入的是單片機的機器碼,你想讓單片機按你的意愿輸出對應的電平,那么就必不可少必須涉及到單片機語言!!!對單片機進行寫入涉及到的是編程器,你既不想學單片機語言又不想用編程器,卻要讓單片機按你的想法輸出,早就被壇友們給否定了,所以一年多了一直無法讓89C2051點亮LED,卻在論壇上以各種主題發新帖,覺得這樣浪費壇友們的精力有意義嗎?
作者: hhdsdy 時間: 2020-8-19 00:57
別說89C2051一共20個引腳,就說和三極管8050外形一樣的DS18B20,僅3個引腳,不去學程序你研究一輩子還是會用不起來的,還是醒醒吧,也別一直發新帖了,這樣下去,不說你已經浪費的一年多的時間,再浪費十年、二十年的你依舊是玩不轉2051的。
作者: cy009 時間: 2020-8-19 01:04
2051需要寫入程序才能工作,你不想編程,怎么可能。建議你用16個開關,手動撥0或1玩玩
作者: toyboy 時間: 2020-8-19 02:46
做過!30年前讀書的時候,用的是8031單片機,簡單的點亮一個燈泡,來來回回的撥開關,按按鈕、、搞了整天,按到手起泡。
作者: 海闊天空8 時間: 2020-8-19 07:01
那請你解釋一下:AT89C2051編程步驟“是怎么回事?
作者: 海闊天空8 時間: 2020-8-19 07:03
”建議你用16個開關,手動撥0或1玩玩“-----這是什么意思?16個開關和編程器什么關系?
作者: 海闊天空8 時間: 2020-8-19 07:05
2051需要寫入程序才能工作,----------寫入程序只有編程語言的唯一方法嗎?
作者: Y_G_G 時間: 2020-8-19 10:17
莫生氣,樓主并不是想學單片機,他只想和別人抬扛,有人回復了他就高興,不管你說什么,他總能跟你抬扛
所以呢,看看就好了,我會經常看樓主的帖子,我覺得樓主是一個有理想的人
他要做的,是整個人類歷史上從來沒有人做過的事:用按鍵去給單片機編程(雖然他不知道怎么區分編程和燒錄這兩個東西)
而且,他已經認定是以前就是用按鍵來輸入的(雖然他不知道這個是錯誤,而且他可能會問:不是用按鍵編程那用什么來編程?難道不是0和1嗎)
從1944年人類開始編程以來,從來就沒有過用按鍵輸入的,穿孔紙帶從1944年就開始使用了,它嚴格的規定是哪個是時鐘孔,哪個是信號孔,有孔就是1,沒孔就是0
如果樓主學會了單純用按鍵輸入程序,將會是整個中國的半導體行業的第一人
而且,樓主還有信心搞定2051,這也是可以的,2051內部好像只有4萬多個晶體管而已,對于現在動不動就上千萬的晶體管的CPU是要簡單很多的,難度并不大
對于這種帖子,要么不回復,要么直接沉了
作者: 阡_陌 時間: 2020-8-19 10:33
0和1組成的機器碼太過晦澀難懂。
作者: hhdsdy 時間: 2020-8-19 12:39
AT89C2051編程步驟壇友早就回答過了,只是你自己不學基礎,連地址都理解不了,叫人怎么和你解釋?另外,別轉移話題,我發現你轉移話題的能力還是不錯的,在別的帖子里一再轉移話題。
還有,你的問話“寫入程序只有編程語言的唯一方法嗎?”讓人怎么理解?還是踏踏實實學好基礎才有辦法和人溝通,否則就像我之前說的,連ABCD都不認識也不想學就想去米國學英語,人家怎么教你?你真當壇友好愚弄,堅持辯稱2+3等于9就會成為事實?
作者: hhdsdy 時間: 2020-8-19 12:42
沒生氣,我只是覺得他這樣一再戲弄壇友看不過去,和他辯一辯讓大家看清事實,沒想到老帖被辯得無話可說就連開兩個新帖了,要是我是版主根本就不讓他通過發帖。
作者: 1692483014 時間: 2020-8-19 14:00

我想樓主應該看看微機原理相關書籍,了解MCU的架構組成以及工作原理,了解內核和外設分別是怎么運行的。那么語言的作用自然就清楚了。如果再買一些ARM架構的開發板和FPGA/CPLD的開發板實踐一下,然后會更加清晰。如果作者是啥也不想干,只想討論問題,我建議不要在這個行業混,因為時間會讓你越來越后悔,以至于青春已逝后,再無回天之力。
作者: 海闊天空8 時間: 2020-8-19 21:06
“如果樓主學會了單純用按鍵輸入程序,將會是整個中國的半導體行業的第一人”--------------你說的有孔就是1沒孔就是0。有孔和沒孔為什么就不能用微動開關代替?
作者: 海闊天空8 時間: 2020-8-19 21:11
既然我說得行不通,請教一下圖中的編程方法指的是什么
-
2051編程.jpg
(369.42 KB, 下載次數: 88)
下載附件
2020-8-19 21:10 上傳
作者: jhczy 時間: 2020-8-19 23:09
樓主,你所說的“圖中編程方法”,那是編程器向單片機燒錄程序時的工作步驟,也可以說是編程器燒錄程序時的過程,就是這樣一步一步的將程序烤進了單片機內的(如89C2051等)
作者: 海闊天空8 時間: 2020-8-20 07:23
謝謝,你說的或許是對的。步驟里1-3都是對單片機引腳的電平設置這可以用微動開關完成。第4步0001地質單元在哪?P1,0-P`1,7(12-19腳)也好找,“輸入數據代碼”是不是對P1,0-P1,7引腳設置電位的0或1?第5步應該是把輸入的數據固定下來(激活編程)的意思?第6步,使6腳(P3,2口)跳變一次是不是地置加一的意思?,,,,
他這個編程步驟很難理解?
作者: 海闊天空8 時間: 2020-8-20 08:07
你說的是真的假的呀?我這個問題遭到眾多人的反對了!^_^,,,,,,,,,,,,,,,,
作者: 海闊天空8 時間: 2020-8-20 08:09
“你既不想學單片機語言又不想用編程器,卻要讓單片機按你的想法輸出”--------------不是按我的想法輸出。我是“手動編程”步驟的想法,我理解錯了嗎?
作者: 海闊天空8 時間: 2020-8-20 08:10
“建議你用16個開關,手動撥0或1玩玩”----能達到什么效果呢?
作者: 海闊天空8 時間: 2020-8-20 08:14
說了一年你也說不到點子上!一味的指責我的無知!這不要緊,麻煩你認真的解釋一下“手動編程步驟”是怎么回事?如果你能解釋清楚,免得別人被我浪費時間、也不乏是一件善事!。還是說點有用的吧
作者: 海闊天空8 時間: 2020-8-20 08:16
“連地址都理解不了,”-那就麻煩你解釋2051的地址在哪?比一味的指責我沒有基礎好些!
作者: 海闊天空8 時間: 2020-8-20 08:18
請問現在會編程的有幾個明白電腦原理的?就會根據提示軟件按鍵那叫懂單片機?這個我也會!
作者: 海闊天空8 時間: 2020-8-20 08:19
那就是說還得有編程器?或許我理解錯了
作者: yzwzfyz 時間: 2020-8-20 10:57
樓主是個電子、電器愛好者,且經驗豐富,動手能力強,思路獨特,善動腦。
但單片機是樓主的軟肋。
如果能按樓主說是達成目的,那只能叫簡單的邏輯電路。幾乎不能叫程控。
單片機是為復雜邏輯而設的,如果硬要用簡單的方式,來處理復雜的事件。請考慮是否合適。
花點功夫學會單片機不是很好嗎,當你掌握了單片機之后,你會發現它能輕松地能解決許多你以前很解決的復雜問題。
作者: 海闊天空8 時間: 2020-8-20 12:00
說真的單片機我下了幾十年的功夫就是看不懂!不知卡在哪里?總認為設置好電路狀態改變某些引腳的0和1就算輸入“程序”了?總拿存儲器6116的模子套單片機,至于程序語言嘛真的不學了,行將就木之人當作消遣了
作者: xstong 時間: 2020-8-20 12:46
咱們將別人辛勤研究的成果用好,就夠了!
世界真的很大,即便是你傾盡一生也只能看到冰山一角!專業的事,讓專業的人去做吧,咱不糾結!
學會使用單片機真心不復雜,但是,單片機的每個硬件組成模塊,都有很多人用著畢生的精力在研究。
用好他人的成果就是對他人最大的支持和肯定,也是對你個人的肯定,不要再折磨自己,
條條大道通北京,何必非要選最遠的一條路走!!!
作者: 海闊天空8 時間: 2020-8-20 12:54
你說的是有道理,我就認準了從存儲器RAM6116到單片機,不遠了?(存儲器的使用作為單片機的基礎,可以嗎?)為什么就這么困難?6116的輸入/讀出數據不復雜呀(CD4060-CD4520提供6116的地址)?單片機輸入/讀出數據為什么就這么困難?可能還是沒有正確的電路圖及其設置方法?
作者: angmall 時間: 2020-8-20 14:57
遵循此電路圖連接, 就是89C2051的手動編程
Programmer02b.jpg (339.77 KB, 下載次數: 367)
下載附件
2020-8-20 14:36 上傳
作者: 海闊天空8 時間: 2020-8-21 08:05
謝謝您!我相信。但一時難以消化,,,,,,,,
作者: 海闊天空8 時間: 2020-8-21 08:12
二進制數據和地址顯示分開了?555第3腳輸出是顯示輸出節奏嗎?需要兩個電源?12V和5V。12V用作“激活編程”?74LS245做數據輸入轉換?,,,,,,,,,,,,
作者: 海闊天空8 時間: 2020-8-22 18:09
2051的第5腳做地址計數脈沖輸入嗎?同時CD4040顯示地址,K5-K12做數據輸入?
作者: breakhero 時間: 2020-8-22 23:15
ATMEL_89C2051.pdf
(329.49 KB, 下載次數: 7)
2020-8-22 21:39 上傳
點擊文件名下載附件
這個是2051的資料,你找的截圖中文翻譯估計也是來源于此,從第8到第11頁就是有關編程方法部分,你配合44樓(在此感謝44樓有心,換我真的沒有信心耐心寫下去)的古董資料圖理解。
如果你一定要只用外接開關實現編程(你想用2051正常工作就得先給它編程,這個不以你的意志為轉移),那么按如下準備試試(我沒試過,也不準備試,因為我有編程器,所以現在是紙上談兵,我按個人理解復述資料):
20腳VCC接個常開單擲開關(叫K1)到5V電源+,10腳GND接5V電源-(電源共地)。
1腳RST接個100歐3瓦的電阻到地,再接一個常開開關(K2)到一個雙擲開關(K3)動觸點,K3常閉觸點接5V+,常開觸點接12V+。
5腳XTAL1接個4.7K電阻到地,再接個常開開關(K4)到5V+。
6、7、8、9、11腳P3.2~P3.5、P3.7分別接個1K電阻到地,再分別接常開開關(K5~K9)到5V+。
12~19腳P1.0~P1.7分別接個1K電阻到地,再分別接常開開關(K10~K17)到5V+。
然后按你截圖步驟操縱開關。
唉,我困得不行了,寫不下去了。就這樣吧。
作者: 海闊天空8 時間: 2020-8-23 16:55
謝謝您的圖!這個圖和6116存儲器有很多類似之處,地址顯示和數據顯示,手動地址輸入計數(發單脈沖?)進入單片機的第5腳(XATL2)使地址進行累加1的計數(555第3腳是否是數據輸出時自動完成有節奏的輸出?)。按鍵K1-K4對單片機P3-3,P3-4,P3-5,P3-7送入高電位是完成什么功能?是不是完成功能設置?這個電路沒有接入晶體?是不是單片機的簡化應用?基本就是存儲器6116的實驗電路?恐怕寫入的“程序”,也不能脫離這個電路才能顯示,但是它克服了6116存儲器斷電就失去程序的弊端?
以上理解是否正確?望指正,謝謝。
-
裁剪_15.jpg
(100.21 KB, 下載次數: 315)
下載附件
2020-8-23 16:53 上傳
作者: 海闊天空8 時間: 2020-8-23 17:51
謝謝!說明手動編程還是可以的(只要單片機動起來即可,要求不高)。“常開觸點接12V+”就是給1腳(復位端)加一個+12V脈沖把輸入數據固定下來的意思嗎?
我可能硬件連接沒什么問題,我覺得44樓(我真的謝謝他的熱情幫助!)提供的圖對我幫助很大。原因是先入為主我總用存儲器6116的模式去套單片機,^_^。他的圖單片機并沒接入晶體振蕩器,估計脫離了這個電路單片機也運行不起來?是這樣嗎?謝謝。
作者: breakhero 時間: 2020-8-23 20:36
13. Flash Programming Modes
Notes: 1. The internal PEROM address counter is reset to 000H on the rising edge of RST and is advanced by a positive pulse at XTAL1 pin.
2. Chip Erase requires a 10 ms PROG pulse.
3. P3.1 is pulled Low during programming to indicate RDY/BSY.
注:上面三處下劃線原本應該是上劃線;▔╲▁╱▔代表低電平脈沖。
作者: breakhero 時間: 2020-8-23 21:12
2051可以工作在時鐘0赫茲,所以不使用晶振的情況下,5腳可以輸入脈沖,單步運行。
我認為你沒有看我上面貼的2051的PDF手冊。摘錄一段:
11. Programming The Flash
The AT89C2051 is shipped with the 2K bytes of on-chip PEROM code memory array in the erased state (i.e., contents = FFH) and ready to be programmed. The code memory array is pro-grammed one byte at a time. Once the array is programmed, to re-program any non-blank byte, the entire memory array needs to be erased electrically.Internal Address Counter: The AT89C2051 contains an internal PEROM address counter which is always reset to 000H on the rising edge of RST and is advanced by applying a positive going pulse to pin XTAL1.Programming Algorithm: To program the AT89C2051, the following sequence is recommended.
1. Power-up sequence:
Apply power between VCC and GND pins
Set RST and XTAL1 to GND
2. Set pin RST to “H”
Set pin P3.2 to “H”
3. Apply the appropriate combination of “H” or “L” logic
levels to pins P3.3, P3.4, P3.5, P3.7 to select one of the programming operations
shown in the PEROM Programming Modes table.
To Program and Verify the Array:
4. Apply data for Code byte at location 000H to P1.0 to P1.7.
5. Raise RST to 12V to enable programming.
6. Pulse P3.2 once to program a byte in the PEROM array or the lock bits. The byte-write cycle is self-timed and typically takes 1.2 ms.
7. To verify the programmed data, lower RST from 12V to logic “H” level and set pins P3.3 to P3.7 to the appropriate levels. Output data can be read at the port P1 pins.
8. To program a byte at the next address location, pulse XTAL1 pin once to advance the internal address counter. Apply new data to the port P1 pins.
9. Repeat steps 6 through 8, changing data and advancing the address counter for the entire 2K bytes array or until the end of the object file is reached.
10. Power-off sequence:
set XTAL1 to “L”
set RST to “L”
Turn VCC power off
然后百度機翻如下:
11閃存編程
AT89C2051配備了2K字節的片內PEROM代碼存儲陣列,處于擦除狀態(即,內容=FFH),可隨時編程。代碼存儲陣列一次編程一個字節。一旦數組被編程,為了重新編程任何非空白字節,整個內存數組需要被擦除電氣。內部地址計數器:AT89C2051包含一個內部PEROM地址計數器,該計數器總是在RST的上升沿重置為000H,并通過向引腳XTAL1施加正向脈沖來推進。編程算法:至對AT89C2051進行編程,建議采用以下順序。
1、通電順序:
在VCC和GND引腳之間通電
將RST和XTAL1設置為GND
2、將引腳RST設置為“H”
將插腳P3.2設置為“H”
3、應用“H”或“L”邏輯的適當組合
電平至插腳P3.3、P3.4、P3.5、P3.7,以選擇編程操作之一
如PEROM編程模式表所示。
要對陣列進行編程和驗證,請執行以下操作:
4、在位置000H到P1.0到P1.7處應用代碼字節的數據。
5、將RST升高至12V以啟用編程。
6、脈沖P3.2一次,在PEROM數組或鎖位中編程一個字節。字節寫入周期是自定時的,通常需要1.2ms。
7、為驗證編程數據,將RST從12V降低至邏輯“H”電平,并將插腳P3.3至P3.7設置到適當的電平。可在端口P1引腳處讀取輸出數據。
8、為了在下一個地址位置編程一個字節,脈沖XTAL1管腳一次,使內部地址計數器前進。將新數據應用到端口P1引腳。
9、重復步驟6到8,更改數據并為整個2K字節數組前進地址計數器,或者直到到達目標文件的末尾。
10、斷電順序:
將XTAL1設置為“L”
將RST設置為“L”
關閉VCC電源
注意手冊里芯片5腳標記為XTAL1。
寫在最后:雖然你一直在感謝這個感謝那個,但是你似乎并不去深入思考別人的幫助,我認為我已經解釋得足夠清楚,“漁”已經給你了,后面的魚還得靠你自己。提示一下,你所說的“節奏”太過艱澀。關于2051和6116的比較,不合適。堅持寫下來了,措辭如有冒犯,見諒。#^_^#
作者: breakhero 時間: 2020-8-23 22:01
我假設的那個K3為雙擲開關是為了切換高電平“H”和編程電壓+12V的。flash存儲器存儲數據0是靠高壓向存儲單元的mos管絕緣柵極注入電荷,所以這個+12V(高壓)VPP需要在編程操作時引入,2051設計為VPP和RST復用,也就是1腳。
作者: hhdsdy 時間: 2020-8-24 01:23
又被忽悠上了一個,朋友,樓主根本就不是想學單片機,他早就說明了,不學任何的單片機語言,不想使用編程器,只想像6116那樣用開關輸入什么輸出就是什么,所以,你也別費盡心思去指導了,就一個2051單片機重復發帖(你可以認真搜索看一下他發的涉及單片機的帖子),一年多了還在原地踏步。我就發兩個樓主的帖子吧,你自己看看
http://www.raoushi.com/bbs/dpj-192587-1.html
http://www.raoushi.com/bbs/dpj-194066-1.html
作者: 海闊天空8 時間: 2020-8-24 07:26
“我認為我已經解釋得足夠清楚,”--------您說得不錯!但是會者不難難者不會。還是要謝謝您!
7、為驗證編程數據,將RST從12V降低至邏輯“H”電平,并將插腳P3.3至P3.7設置到適當的電平。可在端口P1引腳處讀取輸出數據。
“設置到適當的電平”?是什么電平?
“關于2051和6116的比較,不合適”?但我卻覺得有不少類似之處呢?
作者: 海闊天空8 時間: 2020-8-24 07:32
“所以這個+12V(高壓)VPP需要在編程操作時引入,”?如果您這樣說“輸入數據之后升高1腳電壓到12V可以固定(激活)數據數據完成一個地址的編程”。我不就明白了嘛!是不是這樣理解?^_^謝謝~
作者: 海闊天空8 時間: 2020-8-24 08:08
“2051可以工作在時鐘0赫茲,所以不使用晶振的情況下,5腳可以輸入脈沖,單步運行。”---------這話解除我的疑惑了。越發覺得和存儲器6116相似之處了。謝謝!
作者: 海闊天空8 時間: 2020-8-24 08:11
12V(高壓)我還似乎懂,出來個"VPP"?是不是“峰-峰值”的意思?外國字是我最大的障礙!^_^,,,,,,,,,,,
作者: breakhero 時間: 2020-8-24 21:27
統一回答:
1、set pins P3.3 to P3.7 to the appropriate levels百度機翻為 將插腳P3.3至P3.7設置到適當的電平。因為我51樓摘錄的手冊里解釋了P3.3、P3.4、P3.5和P3.7它們四個引腳的不同二進制組合決定編程操作中對應的工作模式。電平就是我讓你接了4個開關可以通過撥動開關讓這四個引腳電壓為0或者+5V,以實現上面說的不同二進制組合即適當的電平。你要讓2051聽你話,你就得告訴它,這4個引腳的邏輯組合對應不同命令,具體命令是啥,看表格第一列,不認識就復制下來去翻譯。
2、關于那個比較合不合適,你以后如果明白了就明白了,始終不明白那就當他合適吧。
3、多看一些書、資料,就理解了術語了,用術語是因為該嚴謹的地方必須嚴謹。
4、編程操作翻著花變能差到哪,不是相似,本來就一回事。但這倆東西本來就不是一回事。這句就別再問我了,參照上面第二條。
5、我解釋了,1腳是復用引腳,重復使用引腳,因為引腳少,廠家會把一些不沖突的功能引腳合并,那么地1腳就是RST(Reset input)(復位)和VPP(Programming Enable Voltage)(編程使能電壓)的復用,資料標示為RST/VPP,是不是峰峰值我也不知道,不知道不能瞎說,但確定它是編程電壓,而且是+12V(要求范圍11.5~12.5),所以是不是峰峰值并無必要吧。
感謝54樓的善意提醒,我早已知道。其實我用這么大篇幅回復樓主就是希望能幫到樓主最好,幫不到也希望樓主體會到壇友的熱心,盡量多自學一些,聽聽勸,放下執念。
樓主再有疑問把那個PDF完整翻譯了,都在里面,不親自動手動腦永遠無解。
我的回復收工了,完結。#^_^#
作者: 海闊天空8 時間: 2020-8-25 07:20
不是一年多原地踏步,是幾十年原地踏步!為什么?一是我笨,二是還沒有人能具體的講清楚!按電路圖如何接線?如何操作?多是用“正規”的單片機語言說話,就用0和1和電路直接對話。看來多是沒有這樣做過的?有不少朋友認為是可以這樣做的!也有不少人認為我是搗亂!實際不是這樣的。
作者: 黃youhui 時間: 2020-8-25 08:23
你的理論上是可行,但是理論終究只是理論,實現起來很難的,很多器件你只要給他一個電平信號他就能工作,你用撥碼開關沒問題,但是很多器件和單片機之間的通訊是有通訊協議的,例如外加存儲器的讀和寫,往里面寫一個數字你可能要按半天開關,而且按錯一個全白費
作者: XTXB 時間: 2020-8-25 09:06
他說他是“新將就木之人”,猜想他年紀大了,僅僅是希望有人能跟他說話而已,只是可伶了那些熱情的認真的網友,越認真越受傷..........
作者: TTQ001 時間: 2020-8-25 09:54
沒有程序,微處理器將無法工作。
作者: xianfajushi 時間: 2020-8-25 11:49
這種思路只適合玩數字電路,不適合玩蛋騙雞,數字電路與蛋騙雞相去甚遠。數字電路與蛋騙雞各自體系,否則為何要花費時間和精力去研究、開發、學習蛋騙雞。
作者: 海闊天空8 時間: 2020-8-25 12:49
0001表示10進制的1,0010表示2,,,,,,任意數也可以用二進制表示,小學2年級也知道幾十個億怎么表示了,但他不一定用過,,,,,
作者: mengzhixinheng 時間: 2020-8-25 12:50
海闊天空8 發表于 2020-8-18 20:24
這不是手動編程步驟嗎?不過我5步以后就看不懂l了。
這個是做下載器需要考慮的過程,不是手工編程。程序還是電腦寫好的,只是需要按照這些步驟去寫入單片機。
作者: hhdsdy 時間: 2020-8-25 13:45
不是因為笨,而是你自己確定的錯誤的學習方法和態度而造成的。
電路圖如何接線,眾多壇友們一而再再而三地說明了,自己基礎不過關,反倒認為壇友們“沒有人能具體的講清楚!按電路圖如何接線?如何操作?”了,有點倒打一耙的感覺。
“多是用“正規”的單片機語言說話,就用0和1和電路直接對話。看來多是沒有這樣做過的?”----------有些術語、單詞或者名稱等肯定是按規范的或者約定俗成的說法來表達,對成年人說話難道還要用嬰幼兒的語言說?難道數學師傅上課得把2的4次方說成2*2*2*2?手工編程對于近幾年學單片機的人來說是幾乎沒有人做過,淘汰的東西有什么值得津津樂道的?你要去隔壁城市出差辦公事,放著車、船和飛機不用非要走路去,偏又說走路累腳痛,讓大家幫你想辦法到隔壁城市去,你說誰傻?
“有不少朋友認為是可以這樣做的!”----------------你搞清楚大家回復的是什么,是可以手工編程,而不是不用編程就可以給單片機編程輸入;可以用機器碼輸入讓單片機運行,但不是可以不用學單片機語言玩單片機
作者: 海闊天空8 時間: 2020-8-25 14:25
歸根結底還還是向單片機引腳加入0或1吧?其他引腳電平如何設置?(寫入,保存,讀出,,,,各引腳狀態如何設置?)向哪些引腳加數據(數據的組合不就是程序嗎?)?
作者: 海闊天空8 時間: 2020-8-25 19:08
人家都提供電路圖了!你就不能,,,,,,,,
作者: 海闊天空8 時間: 2020-8-25 19:11
這就是您對“語言”的理解嗎?我還是認為,最終單片機就認識0和1.不管什么語言就是一種規則,最終也要用0和1與單片機引腳對話,這樣說對嗎?
作者: 海闊天空8 時間: 2020-8-25 19:14
“燒錄程序”?你解釋一下好嗎?
作者: 海闊天空8 時間: 2020-8-25 19:17
我想象的“玩單片機”無非就是利用電腦,編程器等和特定軟件根據電腦提供的對話框輸入各種計算機語言的代碼,點鼠標而已
作者: 海闊天空8 時間: 2020-8-25 20:42
就說地址吧?地址不就是存儲數據的地方嗎?不對嗎?說了100遍“不懂基礎”了,那就麻煩您舉1--2個基礎的例子好嗎?如果您認為我愚弄壇友,那就干脆別理我好了。
作者: 海闊天空8 時間: 2020-8-25 20:51
您假設的那個K3是不是44樓圖中的T1(9012)導通后就把12V送到1腳(RST)了。
作者: hhdsdy 時間: 2020-8-25 22:48
你這么認為也對,但是你不能回避一點,你想讓單片機輸出00000010,給單片機編程輸入00000010是絕對不行的,因為單片機運行的是程序而不是存儲數據,對于這一點你就不用再爭論了。
作者: 海闊天空8 時間: 2020-8-26 11:35
“給單片機輸入00000010”后,那它輸出的是什么?
作者: 海闊天空8 時間: 2020-8-26 11:38
數據和程序是什么關系?我還真不懂!請教了,,,,,,,,
作者: 海闊天空8 時間: 2020-8-26 11:49
初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有一個切換的過程,或者說要有一條指令,事實上,各端口的第二功能完全是自動的,不需要用指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微處理機外接RAM或有外部I/O口時,它們被用作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會有相應的信號從P3.6或P3.7送出,不需要事先用指令說明。事實上‘不能作為通用I/O口使用’也并不是‘不能’而是(使用者)‘不會’將其作為通用I/O口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當單片機執行到這條指令時,也會使P3.7變為高電平,但使用者不會這么去做,因為這通常會導致系統的崩潰。
作者: 海闊天空8 時間: 2020-8-26 17:56
單片機的各個引腳輸出的是不是0或1變化的電位?
作者: 海闊天空8 時間: 2020-8-26 18:44
抱歉,我的目的不是單片機的實際應用,只是想了解一下單片機的最基本,最簡單原理,能輸入輸出數據就滿足了,某壇友提供的電路圖越看越像存儲器6116的寫入,輸出數據的過程呢?顯示地址,顯示數據,單脈沖改變地址,寫入-輸出的轉換設置,,,,,看來我是思想被存儲器6116限制住了?不過單片機89C2051完全可以勝任6116的功能是毫不奇怪的。89C2051單片機如果斷電后輸入的數據能不能保存呢?這個我不知道?
作者: 海闊天空8 時間: 2020-8-26 18:45
數據和程序的關系我不清楚?
作者: 海闊天空8 時間: 2020-8-26 21:02
單片機可不可以存儲,運行輸出數據?
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |