找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7796|回復(fù): 47
收起左側(cè)

51單片機(jī)三總線開發(fā)板開始設(shè)計(jì)

  [復(fù)制鏈接]
ID:73992 發(fā)表于 2022-3-26 20:18 | 顯示全部樓層 |閱讀模式
使用兩片51單片機(jī),一片做外圍設(shè)備接口,另一片作主控。
IMG_20220326_195841.jpg
回復(fù)

使用道具 舉報

ID:149451 發(fā)表于 2022-3-27 06:57 | 顯示全部樓層
關(guān)注。加油!若資料全,照仿。
回復(fù)

使用道具 舉報

ID:584814 發(fā)表于 2022-3-27 11:53 | 顯示全部樓層
很好的設(shè)計(jì)。問題是字寫得太丑,建議用電腦軟件
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-27 20:58 | 顯示全部樓層
w1179benp 發(fā)表于 2022-3-27 06:57
關(guān)注。加油!若資料全,照仿。

好的,全力以赴
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-27 21:00 | 顯示全部樓層
man1234567 發(fā)表于 2022-3-27 11:53
很好的設(shè)計(jì)。問題是字寫得太丑,建議用電腦軟件

下面這張圖,我用正楷字寫的,你看咋樣
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-27 21:07 | 顯示全部樓層

片選,控制總線原理圖

片選,控制總線原理圖

回復(fù)

使用道具 舉報

ID:883242 發(fā)表于 2022-3-27 21:10 | 顯示全部樓層
沒看出來三總線,數(shù)據(jù)總線和地址總線配合才能工作,只能算一個總線。
不過8051比較奇葩,有code和xram兩套各64k尋址范圍的總線,不過樓主只用了xram一條總線。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-28 00:34 | 顯示全部樓層
本帖最后由 lyonkon 于 2022-3-28 12:14 編輯
Hephaestus 發(fā)表于 2022-3-27 21:10
沒看出來三總線,數(shù)據(jù)總線和地址總線配合才能工作,只能算一個總線。
不過8051比較奇葩,有code和xram兩套 ...

因?yàn)?9c52片內(nèi)有8KB ROM,所以沒有擴(kuò)展片外ROM。但是擴(kuò)展了32K片外RAM.HM62256芯片。
數(shù)據(jù)總線為P00--P07  
地址總線P00--P07經(jīng)74ls373 鎖存為16位地址線的低8位,P20--P27作為地址線高8位 ,就是16位地址線。
片外尋址64kB RAM,也尋址64KB ROM.  操作尋址片外RAM的時候,單片機(jī)WR RD引腳向RAM芯片發(fā)送脈沖時序。讀取片外ROM的時候,單片機(jī)PSEN引腳向片外ROM發(fā)送脈沖時序。所以雖然總線接在一起,卻不會混淆。
上面這張圖單畫了控制總線,怕數(shù)據(jù)總線和地址總線都畫上去,線路看起來會很亂,所以想分開來畫的。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-3-28 14:20 | 顯示全部樓層
搞這個是干嘛使的呢?
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-29 00:48 | 顯示全部樓層
IMG_20220329_004117.jpg
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-29 06:29 來自觸屏版 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-3-28 14:20
搞這個是干嘛使的呢?

51單片機(jī)桌面系統(tǒng)
回復(fù)

使用道具 舉報

ID:230742 發(fā)表于 2022-3-29 10:59 | 顯示全部樓層
樓主你可能沒注意你學(xué)習(xí)單片機(jī)的書的出版日期,嚴(yán)重被書中的內(nèi)容帶跑偏了,F(xiàn)在誰還用這個62256,一個個手推車8H8K64不夠用嗎?要不32G12K64。又373又138,累不累。就一個12864的時鐘和一堆IO口搞那么復(fù)雜。真是有點(diǎn)直接給自己挖坑,面對實(shí)際一點(diǎn)好不好。就算做什么大型工程,也不能用89C52啊,分分鐘被了。有啥意思呢?
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-29 21:18 | 顯示全部樓層
先擺拍一下,順便曬一下老開發(fā)板的側(cè)臉 IMG_20220329_210450.jpg
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-3-29 21:54 | 顯示全部樓層
啤酒瓶子老大 發(fā)表于 2022-3-29 10:59
樓主你可能沒注意你學(xué)習(xí)單片機(jī)的書的出版日期,嚴(yán)重被書中的內(nèi)容帶跑偏了。現(xiàn)在誰還用這個62256,一個個手 ...

謝謝你的建議和推薦,我知道我做的東西在大師和時代面前是不容易跟得上的。但我現(xiàn)在做的東西是簡單的易學(xué)的。我下面又拍了一張照片,上面有兩種開發(fā)板,一個是現(xiàn)在主流的,老手在教 新手在學(xué)的 也是壇里學(xué)習(xí)的主流      “市售板,另一個就是我現(xiàn)在正在做還沒有完成的。你能看出來12864 和時鐘,那么我問你一個問題:兩種板,做同樣功能的12864 時鐘,兩者操作的著重點(diǎn)是什么 ?
現(xiàn)在大家學(xué)單片機(jī),都是學(xué)操作端口,卻忽略了真正重要的東西,內(nèi)存!
如果照片上兩種開發(fā)板,你只能選擇一種,你會選擇哪一種。
市售開發(fā)板的開發(fā)重點(diǎn)在于操作端口。
我做的電路板,開發(fā)重點(diǎn)在于操作內(nèi)存。
我想,這是單片機(jī)的兩條不同的道路。也望能理解。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-9 15:29 | 顯示全部樓層
DSC00063.JPG DSC00064.JPG DSC00066.JPG
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-4-9 16:21 | 顯示全部樓層
看了半天都不知道這是在干嘛
51單片機(jī)桌面系統(tǒng)是個什么東西?
做時鐘還用DS12C887這玩意?DS3231它不香嗎?能省下多少個IO,而且還可以和24C02共用IIC總線
STC89C52是三塊五一片
STC8A8K_64Pin的是四塊三一片
多花8毛能把一堆74138,一堆上拉電阻,那個比單片機(jī)本身還貴的8位ADC:ADC0809
我甚至都不知道你做的這個是什么東西?是學(xué)習(xí)板還是個帶12864的時鐘?
單片機(jī)這種東西,沒有捷徑,但也沒有楊過式另辟蹊徑,老老實(shí)實(shí)的寫代碼驗(yàn)證,寫代碼驗(yàn)證,畫板驗(yàn)證,畫板驗(yàn)證,一遍又一遍單片機(jī)只是一個技術(shù)性的東西,技術(shù)就擺在那,你去學(xué)就行,前輩們已經(jīng)指明了道路在那,你去走就行
你要是想像楊過一樣,走不尋常道路,要么你的東西就在你的桌子上吃灰,要么你就沉浸你自己一個人世界里,像阿Q一樣
在這個每個月有兩次免費(fèi)打樣的年代,我實(shí)在看不出你那一堆線存在的意義是什么?
這是我畫的開發(fā)板,所有IO有標(biāo)志,哪個單口在哪里都知道,怎么用,用杜邦線插上就行,它不比你那一堆洞洞板好?
51hei截圖20220409161302.png

回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-9 20:00 | 顯示全部樓層
Y_G_G 發(fā)表于 2022-4-9 16:21
看了半天都不知道這是在干嘛
51單片機(jī)桌面系統(tǒng)是個什么東西?
做時鐘還用DS12C887這玩意?DS3231它不香嗎? ...

這塊板子,我從構(gòu)思到焊接完成大概用了3個月。因?yàn)橘I不到總線方式的51成品板,只能動手自己焊接。板上32k內(nèi)存,ps2鍵盤接口,12864顯示,還有時鐘芯片。完成之后 就相當(dāng)于一臺電腦。所以我說是51桌面系統(tǒng)。
接下來就是測試這塊板子各個器件是否正常工作。
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2022-4-9 22:21 | 顯示全部樓層
lyonkon 發(fā)表于 2022-4-9 20:00
這塊板子,我從構(gòu)思到焊接完成大概用了3個月。因?yàn)橘I不到總線方式的51成品板,只能動手自己焊接。板上32k ...

關(guān)鍵是你這玩意能干嘛?是不是還得自己寫程序?
花那么大功夫去搞個這東西.連個ADC都沒有,學(xué)單片機(jī)沒有ADC,這能學(xué)會單片機(jī)機(jī)?
你看你這電路,連個上拉電阻都沒有!也就是你運(yùn)氣好,12864是有內(nèi)部上拉的,接個別的器件,能跑得來?
所有的芯片旁邊,一個濾波電容都沒有
你這么恐怖的電路,也就只有你覺得這是簡單易學(xué)的
你花那么多的成本去搞這東東,兩個單片機(jī)加一個內(nèi)存,整體性能能跟一片20塊的STM32比嗎?
回復(fù)

使用道具 舉報

ID:139866 發(fā)表于 2022-4-13 12:08 | 顯示全部樓層
我的評價是:
自己感動自己系列
雖然很努力但是作用并不大
現(xiàn)在無論是做產(chǎn)品還是做教學(xué),都不會用你這種,姑且算電路板吧
也不會手畫電路圖的
換句話說,能力夠的人不會用你這電路板,能力不夠的人也不會用你這電路板
回復(fù)

使用道具 舉報

ID:88256 發(fā)表于 2022-4-13 13:09 | 顯示全部樓層
搞不懂為什么要這么使用,以及為什么要用兩片單片機(jī)
回復(fù)

使用道具 舉報

ID:88256 發(fā)表于 2022-4-13 13:15 | 顯示全部樓層
非要玩老元件,這個的功能夠齊全的了,我學(xué)單片機(jī),就是自己焊接組裝的SCB-2-51單片單板機(jī),還自行增加了臺式微打端口,修改監(jiān)控程序使之可以進(jìn)行簡單的反匯編并打印
回復(fù)

使用道具 舉報

ID:283954 發(fā)表于 2022-4-13 15:08 | 顯示全部樓層
這些都是單片機(jī)早期使用的元件,現(xiàn)代單片機(jī)就是從這些元件的實(shí)際使用中逐漸發(fā)展起來的,現(xiàn)在買一粒幾塊錢的單片機(jī),什么都在里面了,寫幾行代碼就能用起來,但對內(nèi)部總線的運(yùn)作不甚了了,樓主這項(xiàng)工作,是一種返祖現(xiàn)象,人類胚胎的成長過程也要把全部進(jìn)化過程演示一遍,最后出生是才是個人樣,所以不要譏笑蜥蜴,魚,雞,我們胚胎時期都曾經(jīng)有過這個樣。

成才都需要有個學(xué)習(xí)過程,樓主經(jīng)過這番折騰,以后肯定對計(jì)算機(jī)硬件的了解比一般人強(qiáng)些,成才的機(jī)會也大些。
回復(fù)

使用道具 舉報

ID:230742 發(fā)表于 2022-4-14 10:39 | 顯示全部樓層
頂起來,持續(xù)關(guān)注中。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-18 20:51 | 顯示全部樓層
今天是分享喜悅的日子,近十天的檢查調(diào)試,每走一步都是相當(dāng)?shù)碾y,辛酸就不講了。今天lcd顯示終于完成。字符顯示的那一刻真的是很開心。波形大的是51單片機(jī)psen引腳,波形小的是P2.7引腳。

29引腳脈沖信號

29引腳脈沖信號

P2.7輸出波形

P2.7輸出波形


一,74ls138同時只能片選1只引腳,而lcd rs,rw 需要兩者引腳,所以用138作lcd rs rw控制不合適。
二,51單片機(jī)的EA引腳要接
三,lcd第三腳,就是調(diào)整對比度的要接,不接不顯示。
四,P0口驅(qū)動lcd,不加上拉電阻,可以顯示
五,12兆晶振51單片機(jī) 總線法驅(qū)動lcd1602,12864,時序沒問題 DSC00083.JPG
下面是測試代碼
                  SJMP        MAIN
WRCMD:                                                                                   //寫指令子程序
                                push        ACC                    
                  lcall        READ12864BF
                                  POP        ACC                    
                                  MOV        A,R3
                                  MOV        DPTR,#009000H                  //lcd寫指令地址 9000H
                                  MOVX        @DPTR,A
                  RET
WRDAT:                                        //寫數(shù)據(jù)子程序      
                         push        ACC         
                                  lcall        READ12864BF
                                  POP        ACC        
                                  MOV        A,R4
                                  MOV        DPTR,#00B000H                  //lcd寫寫數(shù)據(jù)地址        B000H
                                  MOVX        @DPTR,A               
                  RET
INIT:                                                                                  //lcd初始化程序
                MOV                R3,#0X38               
                LCALL        WRCMD
                MOV                R3,#0X38                     
                LCALL        WRCMD
                MOV                R3,#0X0c                       
                LCALL        WRCMD            
                MOV                R3,#0X06
                LCALL        WRCMD              
                MOV                R3,#0X01                       
                LCALL        WRCMD
                RET
MAIN:                                         //主程序                     
                                LCALL        INIT                              
                    D1:         
                                                                MOV          R3,#0x80        
                                LCALL        WRCMD
                                                                   MOV        R4,#0X35                           //5
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x81
                                                                LCALL        WRCMD
                                                            MOV        R4,#0X31                           //1
                                                                LCALL        WRDAT
                                                                   MOV         R3,#0x82
                                                                LCALL        WRCMD
                                                                MOV        R4,#0X48                           //H
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x83        
                                LCALL        WRCMD
                                                                   MOV        R4,#0X45                          //E
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x84            
                                                                LCALL   WRCMD
                                                                MOV        R4,#0X49                          //I
                                                                LCALL        WRDAT
                                                                MOV         R3,#0x85
                                                                LCALL        WRCMD
                                                                MOV        R4,#0X2E                          //.
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x86        
                                LCALL        WRCMD
                                                                   MOV        R4,#0X43                          //C
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x87
                                                                LCALL   WRCMD
                                                                MOV        R4,#0X4F                          //O
                                                                LCALL        WRDAT
                                                                MOV          R3,#0x88
                                                                LCALL   WRCMD
                                                                MOV        R4,#0X4D                          //M
                                                                LCALL        WRDAT        
                                                                SJMP        $
READ12864BF:                                    //判斷忙子程序
                 MOV        DPTR,#0XD000           //lcd讀指令地址          D000H
                MOVX        A,@DPTR         
                JB        ACC.7,READ12864BF
            ret
END      


回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-18 21:01 | 顯示全部樓層
本帖最后由 lyonkon 于 2022-4-18 22:43 編輯
hhdsdy 發(fā)表于 2022-4-13 13:15
非要玩老元件,這個的功能夠齊全的了,我學(xué)單片機(jī),就是自己焊接組裝的SCB-2-51單片單板機(jī),還自行增加了臺 ...

這個是老哥本人設(shè)計(jì)的嗎軟件硬件設(shè)計(jì)功力深厚啊。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-18 23:13 | 顯示全部樓層
本帖最后由 lyonkon 于 2022-4-19 08:25 編輯

本來程序中準(zhǔn)備定義數(shù)組的,奈何數(shù)組不肯顯示

P2.7引腳輸出波形

P2.7引腳輸出波形

psen引腳輸出波形

psen引腳輸出波形
DSC00083.JPG
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-25 14:45 | 顯示全部樓層
DSC00091.JPG 雙機(jī)通訊測試完成,沒想到被使用中斷卡了十幾天,從機(jī)程序一直改,一直改不成功,今天在本論壇兩位老師指正下,完成了雙機(jī)數(shù)據(jù)交換測試。至此板上的除了時鐘芯片沒有檢測,其他器件都可以正常工作了。lcd1602地址會自動加1,導(dǎo)致滿屏跑數(shù)字
下一步ASCII鍵盤測試,不知道會不會被串口卡。
下面就是被中斷卡住了的原因
匯編情況下
一,程序中如果使用中斷,那么該中斷地址不能被占用。
外部中斷0入口地址    0003H
定時計(jì)數(shù)器T0溢出中斷 000BH
外部中斷1入口地址    0013H
定時計(jì)數(shù)器T1溢出中斷 001BH
串口中斷    0023H
定時計(jì)數(shù)器T2溢出中斷  002BH    (89C52系列含有T2)
回復(fù)

使用道具 舉報

ID:68468 發(fā)表于 2022-4-25 23:38 | 顯示全部樓層
佩服佩服,不但玩起了三總線,還玩了匯編,精神可嘉。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-4-26 01:12 | 顯示全部樓層
wysh_2004 發(fā)表于 2022-4-25 23:38
佩服佩服,不但玩起了三總線,還玩了匯編,精神可嘉。

雕蟲小技,不敢班門弄斧
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-5-8 21:24 | 顯示全部樓層
作為初學(xué)者,稍不留神就被卡?ㄔ赑s2鍵盤上折騰倆周了,現(xiàn)在還沒有好方法,也不想加芯片。因?yàn)榛A(chǔ)不好,現(xiàn)在在串口,計(jì)數(shù)器,中斷之間來回繞。不斷嘗試,希望能成功
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-11-13 15:20 | 顯示全部樓層
框架寫大體差不多了,下一步準(zhǔn)備寫內(nèi)容。 DSC00113.JPG https://v.youku.com/v_show/id_XNTkxODA1NDcxMg==.html?spm=a2hcb.profile.app.5~5!2~5~5!3~5!2~5~5~A先測試一下手工計(jì)算
回復(fù)

使用道具 舉報

ID:308903 發(fā)表于 2022-11-25 08:44 | 顯示全部樓層
突然感覺,51單片機(jī)要當(dāng)PC機(jī),不加芯片是不行的。就目前這些芯片來說,就算當(dāng)年喬布斯和蓋茲 ,也不能用這么幾個芯片做出個PC機(jī)吧?
回復(fù)

使用道具 舉報

ID:298011 發(fā)表于 2022-11-25 09:18 | 顯示全部樓層
有點(diǎn)當(dāng)年蘋果機(jī)的樣子。
回復(fù)

使用道具 舉報

ID:651494 發(fā)表于 2022-11-25 16:17 | 顯示全部樓層
樓主應(yīng)該是前輩!具51匯編和硬件功底!
有這基礎(chǔ),3個月就可學(xué)會C語言,看康輝的C語視頻教程。然后芯片先轉(zhuǎn)STC,得意的匯編程序用C改寫一次,成功后,可選擇馬上轉(zhuǎn)STM32,您會體會到現(xiàn)在芯片的強(qiáng)大,以前的8位芯片擴(kuò)展I/O,擴(kuò)展內(nèi)存,雙機(jī)通訊,都太過時了。現(xiàn)在的單片機(jī),資源非常豐富,用不完的內(nèi)存和寄存器,各種定時器,數(shù)量巨大的GPIO且多功能,多的用不完的ADC高精度檢測端口,DMA,PWM,I2C,I2S,USART,SPI,USB,看門狗,CAN。。。你想要的鍵盤,LED、LCD、LCM,各種你想要驅(qū)動的外設(shè)都可編程實(shí)現(xiàn),用C,好玩的很!
回復(fù)

使用道具 舉報

ID:77589 發(fā)表于 2022-11-25 17:16 | 顯示全部樓層
呵呵!看到最后,還是不知道樓主做的是什么!
回復(fù)

使用道具 舉報

ID:195496 發(fā)表于 2022-11-28 21:23 | 顯示全部樓層
20多年前,你這還是可以學(xué)習(xí)的,現(xiàn)在已經(jīng)落后了,我當(dāng)時學(xué)的時候還是比C51更老的8751,那才真是三總線,單片機(jī)是個祼機(jī),沒有程序,程序是在片外的。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-11-29 23:15 來自觸屏版 | 顯示全部樓層
Longan.Wang 發(fā)表于 2022-11-25 17:16
呵呵!看到最后,還是不知道樓主做的是什么!

就相當(dāng)于用鍵盤輸入程序,然后運(yùn)行輸入的程序。類似于basic。可以實(shí)時控制硬件。但basic我現(xiàn)在知識不夠。支持匯編程序我想嘗試一下
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-11-29 23:36 來自觸屏版 | 顯示全部樓層
feeling1791 發(fā)表于 2022-11-25 16:17
樓主應(yīng)該是前輩!具51匯編和硬件功底!
有這基礎(chǔ),3個月就可學(xué)會C語言,看康輝的C語視頻教程。然后芯片先 ...

實(shí)在慚愧,幾年前學(xué)一段時間c當(dāng)時想寫64卦的。學(xué)了大概好幾個月,實(shí)在做不出東西來,連12864都沒學(xué)會21年底學(xué)的匯編,一路學(xué)一路做就這塊板子。其實(shí)我算初學(xué)者,stm32前幾天我也想試試看的,畢竟沒學(xué)過32。自己做的板子修怕了,1602接觸不良,又也找不到原因所以用開發(fā)版試機(jī)。剛好從壇友那學(xué)了一點(diǎn)硬件知識,準(zhǔn)備板子改進(jìn)一下。隨便改線路。準(zhǔn)備這塊板子完成再學(xué)32
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-11-30 07:21 來自觸屏版 | 顯示全部樓層
1261867136qq 發(fā)表于 2022-11-25 08:44
突然感覺,51單片機(jī)要當(dāng)PC機(jī),不加芯片是不行的。就目前這些芯片來說,就算當(dāng)年喬布斯和蓋茲 ,也不 ...

51的內(nèi)部RAM低128字節(jié)暫時是夠用的,剩下高128字節(jié)內(nèi)存做用戶內(nèi)存,只有8行。的確有點(diǎn)小。51單片機(jī)比6502多個程序存儲器,和io端口,所以做起來省不少事。
回復(fù)

使用道具 舉報

ID:73992 發(fā)表于 2022-12-11 19:55 | 顯示全部樓層
DSC00146.JPG DSC00147.JPG 無標(biāo)題.png DSC00145.JPG 剛學(xué)匯編的時始做這塊板到今天快一年,因?yàn)?1單片機(jī)沒有總線模式成品板選擇所以必須自己做。板子經(jīng)過多少次修改,也多次想過換更高級別的mcu,但是我還沒有學(xué)過那些mcu,就是51單片機(jī)我還是初學(xué)者。到今天,這塊板子終于做到自己滿意了。以后可以專心學(xué)習(xí)51匯編了,至于后期程序能不能跑現(xiàn)在還不清楚。
但是板子,今天完工,非常開心!
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表