![]() |
發布時間: 2024-2-1 09:05
正文摘要:用撥碼開關和按鍵向89C2051單片機寫入數據(如圖,輸出部分略)。可以實現P1-0到P1-7口輸出LED的流水燈顯示。但是在89C2051的最小系統上不能運行!笆謩泳幊獭笔遣皇前褑纹瑱C當存儲器用了? |
人中狼 發表于 2024-2-8 16:47 地址變化是單獨的脈沖發生器, |
覺得你應該是一個是確定擦除成功,一個是確定擦除后寫入代碼時程序存儲器的地址是0,一個是讀出寫入的代碼,看是否寫入正確。暫時沒從你的流程里看到如何確定程序存儲器的具體操作地址 |
理論上應該是的。 |
海闊天空8 發表于 2024-2-7 10:06 手寫4:撥一條指令,執行一條。 手寫3:程序來源多樣性。如sd卡,其他單片機實時傳入的,電腦通過串口寫入的。這些程序是外界傳人。單片機隨時可以從外界獲取一些程序,然后執行。 手寫3的亮點是,單片機可以自己給自己寫程序,然后執行。 |
海闊天空8 發表于 2024-2-7 10:06 沒啥不同都是0和1 |
lyonkon 發表于 2024-2-6 23:26 手寫3和手寫4(撥碼開關輸入)有什么不同? |
lyonkon 發表于 2024-2-6 23:26 謝謝,您這是挺負責任的解釋!還是太專業,基本不懂。 |
![]() 程序來源大致分為4種方式; 手寫方式,1,2,3是程序先寫存儲器,cpu后執行。 樓主說的是 手寫1 ,程序寫入了片內存儲器。 只是“”把單片機當存儲器用"這個說法有點偏差。因為那一塊本來就是存儲器。當還是不當它都是存儲器。 手寫4 是樓主標題涵蓋,但不操作程序存儲器的方式。 我上面回復樓主,建議樓主玩 手動3。51單片機串口接收到的程序,寫入片外ram。然后單片機從片外ram執行程序。類似于多媒體那種形式。 |
hi等你 發表于 2024-2-6 09:16 純粹電路實驗,不講效率效果。電路連接是實實在在的。 “高手”您給講講題目問的什么?直接回答是還是不是? |
hhdsdy 發表于 2024-2-2 19:46 看了樓主其他帖子,不是十幾年是幾十年了毫無進展,樓主學單片機時間比我年齡都長。我學三年是高手了, 樓主到現在連點燈都不會,偶也是服了。這個完完全全是個負能量的帖子。在這帖子學不到一絲一毫的知識 |
TTQ001 發表于 2024-2-4 08:36 它既然叫“手動編程”(名字不是我起的),好像和程序有關?我不知道對P1口設置0,1電平的過程叫什么?好像一個地址里的0或1叫數據?數據組成字節?寫入后再讀出來的過程叫什么? |
rayin 發表于 2024-2-4 09:36 這里是討論原始的電路原理,這個過程是不是編程?,不講·速度,效率。 |
89C2051也好, 89C52也好, 內部4k/8K的flash本質上就是存儲器, 不管是手動寫入還是通過編程器寫入, 都是寫入了1,0這樣的數據. 手動寫入工作量太大, 就好比回到了電腦最原始的打孔錄入時代, 搞錯一個1/0就會導致程序死機跑不下去, 查錯也異常麻煩. 與編程器寫入速度對比就是螞蟻爬的速度與火箭速度的差距. |
海闊天空8 發表于 2024-2-3 14:03 不是當存儲器用,這個使用方式在我理解就是用編譯器生成機器碼,然后把機器碼一個一個字節的輸入到單片機rom里面,輸入完了上電可以跑程序。但是這種輸入方式太落伍了,編程器幾秒鐘寫完,手動輸入得一天,還容易出錯,出錯就得重頭來過。最早程序員要通過在紙帶上打點輸入程序,和你說的這個有點像,都是當時沒有高效的燒錄器導致的。 以前的單片機還只能燒錄一次呢,一個燒錄器很貴的,一般都是在工廠燒錄,之后就不能改了。后來才有紫外線擦除的單片機,燒錄器也挺貴的,現在的電擦除單片機出來后,才有低廉的燒錄器用。 |
我認為它直接寫入程序內存 |
海闊天空8 發表于 2024-2-3 07:43 沒開竅而已。。我2003年就買了第一個51 開發板,兜兜轉轉到2018年才算入門 ![]() |
dalaoshi 發表于 2024-2-3 14:43 對我基本不適用 |
從玩邏輯電路到玩單片機必須過一道門檻,雖然我們可以用邏輯電路組成一個有特定功能的設備,但其運作是固定的,比如我做過一個數字比較器,一邊是我設定一個數字,另一邊是輸出,電路能自行判斷兩邊的大小,自動跟隨讓輸出與輸入相等,已經是會運算的電路了,但這個設備用途有限,只是作為學習邏輯電路之用,而這個功能用單片機來做就非常簡單了,而且單片機的運作都是“放了就走”,結果放在寄存器就走,去干別的事,不會死呆在一個地方,這是邏輯電路與單片機最大的不同。邏輯電路學精通的也要盡快學會用單片機,不然就什么都玩不了,以前自學單片機非常困難,8031里面是沒有記憶體的,程序還得用外面的EPROM,還要有燒錄器,紫外線擦除器,現在一粒STC單片機里面什么都有,一塊錢就玩到瘋,真是幸福感高到天!不想玩就是笨,學會單片機后自己掌握的邏輯電路能力更能發揮,比如輸出端口不夠,隨便就懂得擴展,記憶體不夠,隨便就能擴容,要有超高速先進先出,先進后出的緩存,隨便用移位寄存器就能辦到,這樣自己平生所學更能得到發揮,趕快買一片學習板來玩,不要太復雜的,最好上面只要有一粒LED,能把那粒LED點亮,就已經學會單片機了。 |
dj3365191 發表于 2024-2-3 12:15 你說不是當存儲器用?那是當什么用?能輸入數據,也能取出來,那是什么? |
wc86110 發表于 2024-2-3 04:23 你說的應該是對的。最小系統有晶振頻率很高。“手動編程”的輸出節奏由外部輸入。最小系統復位腳是0電平,手動編程讀出時復位腳是+5V。 可是他就有人說按手動編程P1-0到P1-7輸出的12個字節(按他說的數據,不能變)在最小系統上就能使P1-0口的LED閃爍。 |
dj3365191 發表于 2024-2-3 12:15 你說了半天也是名詞解釋名詞!我是按電路接好?锤饕_功能。你說我弄得什么都不是,可它具有存儲器的功能又如何解釋?以其昏昏豈能使人昭昭? |
海闊天空8 發表于 2024-2-3 07:49 你連AT89C2051和AT89C51的區別都不知道還學什么單片機!EA/VPP只有89C51有,EA/VPP加高電平可以使用外部存儲,但跟編程沒關系。你在幾個論壇來回折騰個什么勁,你這種學法一輩子也學不會,還總覺得自己有理,英文不會也不要學了,你那個純硬件加高低電平不是編程,也不是當存儲器來用,更毫無意義!你還是看看病吧,希望以后沒有人回你貼了! |
lyonkon 發表于 2024-2-2 18:16 您能不能注釋一下“EA”引腳是什么意思?是2051的哪個引腳?外國字!這是一大障礙! |
hhdsdy 發表于 2024-2-2 19:46 不是學了十幾年不會,是幾十年學不會!這有什么奇怪的? |
樓主那玩意移植到最小系統是肯定不行,首先和原板上的時鐘有天差地別地大。別問俺怎么知道 |
lyonkon 發表于 2024-2-2 18:16 他不是2051無法寫入的問題,而是根本就不想學單片機的編程,只想純硬件的玩,一個單片機學了十幾年還沒一點基礎,可能是全網獨一份的。 |
海闊天空8 發表于 2024-2-2 14:30 可以用at89c51.EA引腳控制單片機從外部內存讀取程序?赏嫘愿谩:蛯懭雈lash原理一樣。 |
wwh2382 發表于 2024-2-2 17:06 我問的是,是不是當存儲器用了? |
數據不等于程序,不是程序,單片機自然不會運行。 |
hhdsdy 發表于 2024-2-2 14:00 不是尋找一種原始的方法嘛? |
人中狼 發表于 2024-2-2 09:11 擦除,撥碼開關設置是LHHH。擦除電壓1腳也是12V。 |
放棄吧,不想學習單片機程序的卻又不停發帖求助,有意義嗎? |
我覺得它具備馮氏計算機所有結構了,但是不知道能否提供三種基本語句:順序,分支和循環;如果能夠通過用開關錄入的語句,實現三個功能,那就算錄入程序了,否則不過是一種輸入、輸出功能,不是程序。 |
沒看到擦除的流程 |
hi等你 發表于 2024-2-1 11:00 豈有此理!原理性的實驗一種方法就不行了嗎?歐姆定律講了快200年了,現在有飛機火箭,步行的人比比皆是! |
都2024年了,居然不用編程器,還有人這樣折騰消極和進步相違背的東西,給編程新手看到了 得埋汰了多少程序員、強烈建議管理員刪除本帖 |
手動編程,很難操控吧 |
原來89C2051單片機的編程流程是這樣的 |