找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

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

再談我對(duì)單片機(jī)編程的理解

  [復(fù)制鏈接]
ID:460466 發(fā)表于 2019-1-25 21:34 | 顯示全部樓層 |閱讀模式
要對(duì)單片機(jī)寫入程序必須要有“地址”(就是寫在哪里的問(wèn)題),還要有數(shù)據(jù)(也就是程序的組成部分),還要能變化不同的地址(例如二進(jìn)位的0001,0010,0011,,,)還要有數(shù)據(jù)寫入后的固定。最后寫入程序的讀出要有時(shí)序控制(有節(jié)奏的輸出寫入的程序)。
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2019-1-26 00:35 | 顯示全部樓層
樓主需要找的是這貨么,好像市面上很難找到現(xiàn)貨,要玩轉(zhuǎn)它還需下點(diǎn)功夫
回復(fù)

使用道具 舉報(bào)

ID:123289 發(fā)表于 2019-1-26 08:55 | 顯示全部樓層
六不搭對(duì)!
計(jì)算機(jī)含單片機(jī),是由眾多的邏輯電路構(gòu)成,
邏輯電路是:對(duì)應(yīng)于一組輸入就產(chǎn)生一組輸出(狹義的)。
CPU會(huì)沿既定的路徑(存儲(chǔ)區(qū))依序取出數(shù)據(jù)(指令),并把這個(gè)數(shù)據(jù)看成是邏輯電路的“輸入”【取指】,于出就產(chǎn)生出一組“輸出”【執(zhí)行】,也就是“取指”與“執(zhí)行”。
做完一組再取下一組,永遠(yuǎn)不息直至掉電(沒(méi)有休眠,休眠可以看作是時(shí)鐘頻率=0,實(shí)際上也是這么做的:休眠是切斷了時(shí)鐘通道)。
所謂【編程】:就是將特定的、有目的代碼(可以認(rèn)為是數(shù)據(jù)、可以認(rèn)為是指令、其實(shí)就是0101……這樣一串串的字節(jié))有序放在CPU要取指的路徑上(對(duì)于51單片機(jī)來(lái)說(shuō),就是從0000H單元開始的程序區(qū)),讓CPU一條一條的取指執(zhí)行。
用任何語(yǔ)言寫的程序,最終都會(huì)被編譯平臺(tái)(如:KELL)翻譯成這樣的代碼,放入(以51為例)從0000H開始的存儲(chǔ)區(qū)中。
明白這個(gè)道理,就會(huì)知道:C語(yǔ)言為何必須要知道是采用的什么芯片了,實(shí)際就是告訴平臺(tái),讓它按照用什么指令,放在什么地方。(不同的類型的單片機(jī),指令系統(tǒng)可能不同,程序的也可能起點(diǎn)不同。)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:149451 發(fā)表于 2019-1-26 10:10 | 顯示全部樓層
坐地板上聽課..................
回復(fù)

使用道具 舉報(bào)

ID:471066 發(fā)表于 2019-1-26 12:35 | 顯示全部樓層
你對(duì)單片機(jī)還處在一種入門級(jí)的認(rèn)識(shí)中,當(dāng)你后面接觸更多的類型的單位片機(jī),你的認(rèn)識(shí)就會(huì)加深。如果認(rèn)大家現(xiàn)在就給你定一個(gè)認(rèn)識(shí)標(biāo)準(zhǔn)都 是不合理的。因?yàn)榇蠹覍W(xué)的用的單片機(jī)各不相同,光論壇里就的51,PIC,AVR,
STM.不在上面的有合泰,義隆,松翰,NEC等等。每家都有自身的特點(diǎn)

評(píng)分

參與人數(shù) 2黑幣 +30 收起 理由
Sawardeakar + 15 很給力!
shuisheng + 15 贊一個(gè)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2019-1-26 15:53 | 顯示全部樓層
樓主說(shuō)的這貨屬于網(wǎng)友們說(shuō)的“上古時(shí)期”產(chǎn)物,成本低但電路復(fù)雜且還需自制,關(guān)鍵是沒(méi)點(diǎn)基礎(chǔ)還真的玩不轉(zhuǎn)
能把玩的也就早期幾款芯片有點(diǎn)雞肋,真是實(shí)力派看不上而土豪金又不屑一顧的物色
缺的是有意愿又有動(dòng)手能力的玩家

評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-26 16:46 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-1-26 08:55
六不搭對(duì)!
計(jì)算機(jī)含單片機(jī),是由眾多的邏輯電路構(gòu)成,
邏輯電路是:對(duì)應(yīng)于一組輸入就產(chǎn)生一組輸出(狹義 ...

“用任何語(yǔ)言寫的程序,最終都會(huì)被編譯平臺(tái)(如:KELL)翻譯成這樣的代碼,放入(以51為例)從0000H開始的存儲(chǔ)區(qū)中!----------也就是說(shuō)單片機(jī)只能識(shí)別0和1呀!這不就完了嗎?我就是要用0和1和它對(duì)話。
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2019-1-26 18:25 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-26 16:46
“用任何語(yǔ)言寫的程序,最終都會(huì)被編譯平臺(tái)(如:KELL)翻譯成這樣的代碼,放入(以51為例)從0000H開始 ...

看樣子樓主已有更好更新解決途徑和辦法了,能不能和大伙們分享一下
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-1-26 23:20 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-26 16:46
“用任何語(yǔ)言寫的程序,最終都會(huì)被編譯平臺(tái)(如:KELL)翻譯成這樣的代碼,放入(以51為例)從0000H開始 ...

        這程序翻譯成這樣的代碼用0和1 你能識(shí)別用什么指令嗎?
        0b01110101, 0b10110000, 0b00000000,
        0x01111001, 0b11111111,
        0b01111000, 0b11111111,
        0b11011000, 0b11111110,
        0b11011001, 0b11111100,
        0b01110101, 0b10110000, 0b00000001,
        0x01111001, 0b11111111,
        0b01111000, 0b11111111,
        0b11011000, 0b11111110,
        0b11011001, 0b11111100,
        0b10000000, 0b11101000
       


匯編語(yǔ)言編程


start:  mov   0xb0, #0x00     ; //I/O P3.0 口特殊功能寄存器
l1:     mov   r1, #0xff       ;   延時(shí)程序 ;向R1寄存器中載入十六進(jìn)制數(shù)FFH
        mov   r0, #0xff        ;向R0寄存器中載入十六進(jìn)制數(shù)FFH
l2:     djnz  r0, l2
        djnz  r1, l1
        mov   0xb0, #0x01
l3:     mov   r1, #0xff       ;   延時(shí)程序 ;向R1寄存器中載入十六進(jìn)制數(shù)FFH      
        mov   r0, #0xff        ;向R0寄存器中載入十六進(jìn)制數(shù)FFH
l4:     djnz  r0, l4
        djnz  r1, l3
        sjmp  start    ;/ 跳start執(zhí)行循環(huán)體





對(duì)應(yīng)的匯編程序翻譯成這樣的代碼
    0x75, 0xb0, 0x00, // mov 0xb0, 0x00
    0x79, 0xff,       // mov r1, 0x10
    0x78, 0xff,       // mov r0, 0xff
    0xd8, 0xfe,       // djnz r0, -2
    0xd9, 0xfc,       // djnz r1, -4
    0x75, 0xb0, 0x01, // mov  0xb0, 0x01
    0x79, 0xff,       // mov r1, 0x10
    0x78, 0xff,       // mov r0, 0xff
    0xd8, 0xfe,       // djnz r0, -2
    0xd9, 0xfc,       // djnz r1, -4   
    0x80, 0xe8,       // sjmp   -24

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-27 10:50 | 顯示全部樓層
angmall 發(fā)表于 2019-1-26 23:20
這程序翻譯成這樣的代碼用0和1 你能識(shí)別用什么指令嗎?
        0b01110101, 0b10110000, 0b00000000,
        0x011 ...

我不懂
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-27 10:53 | 顯示全部樓層
wc86110 發(fā)表于 2019-1-26 18:25
看樣子樓主已有更好更新解決途徑和辦法了,能不能和大伙們分享一下

我理解這就是用0和1與單片機(jī)對(duì)話的辦法,可是我不懂:
編程步驟.jpg
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2019-1-27 13:44 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-27 10:53
我理解這就是用0和1與單片機(jī)對(duì)話的辦法,可是我不懂:

被樓主整成小白了
回復(fù)

使用道具 舉報(bào)

ID:473159 發(fā)表于 2019-1-27 18:20 | 顯示全部樓層

同一個(gè)不想下水的人談?dòng)斡揪褪浅叮?/td>

評(píng)分

參與人數(shù) 8黑幣 +148 收起 理由
zhengchong60 + 12
sheng7533967 + 12
鉆牛尖滴劉尖尖 + 12
站著說(shuō)話不腰疼 + 12
Trump1438 + 15
shuisheng60 + 35
shuisheng + 15 贊一個(gè)!
jinsheng7533967 + 35 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-28 19:05 | 顯示全部樓層
yoxi 發(fā)表于 2019-1-27 18:20
同一個(gè)不想下水的人談?dòng)斡揪褪浅叮?/blockquote>

不對(duì)!單片機(jī)就得先下水,你們都上岸了,忘了水下了。^_^,,,,,,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:472242 發(fā)表于 2019-1-28 21:43 | 顯示全部樓層
下什么水了、你去看數(shù)模電路教程,單片機(jī)教程,C語(yǔ)言教程了么......?整天的在那里糾結(jié)對(duì)單片機(jī)的理解。

評(píng)分

參與人數(shù) 4黑幣 +97 收起 理由
areyouok + 35
yoxi + 15
Sawardeakar + 35 淡定
Trump1438 + 12

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-29 08:54 | 顯示全部樓層
shuisheng60 發(fā)表于 2019-1-28 21:43
下什么水了、你去看數(shù)模電路教程,單片機(jī)教程,C語(yǔ)言教程了么......?整天的在那里糾結(jié)對(duì)單片機(jī)的理解。

怎么就沒(méi)遇到一位能講明白硬件如何接線的呢!什么C語(yǔ)言?C語(yǔ)言不也是單片機(jī)出現(xiàn)以后才有的嗎?沒(méi)有C語(yǔ)言單片機(jī)就不能動(dòng)了嗎?
回復(fù)

使用道具 舉報(bào)

ID:472242 發(fā)表于 2019-1-29 17:35 | 顯示全部樓層
接線去看模電數(shù)電。C語(yǔ)言真不是單片機(jī)出現(xiàn)以后才有!你有這功夫用在該用的地方。

評(píng)分

參與人數(shù) 8黑幣 +192 收起 理由
shuisheng + 35
刀刀見紅 + 10
sheng7533967 + 12
Trump1438 + 15
#include51.h + 15
Sawardeakar + 35
areyouok + 35 批評(píng)的很對(duì)!
jinsheng7533967 + 35 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-29 18:14 | 顯示全部樓層
shuisheng60 發(fā)表于 2019-1-29 17:35
接線去看模電數(shù)電。C語(yǔ)言真不是單片機(jī)出現(xiàn)以后才有!你有這功夫用在該用的地方。

C語(yǔ)言真不是單片機(jī)出現(xiàn)以后才有!那C語(yǔ)言在單片機(jī)之前是干什么的?
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-1-29 20:17 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-29 18:14
C語(yǔ)言真不是單片機(jī)出現(xiàn)以后才有!那C語(yǔ)言在單片機(jī)之前是干什么的?

C語(yǔ)言在單片機(jī)之前是編程大型計(jì)算機(jī)的.

評(píng)分

參與人數(shù) 1黑幣 +35 收起 理由
jinsheng7533967 + 35 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-29 21:45 | 顯示全部樓層
angmall 發(fā)表于 2019-1-29 20:17
C語(yǔ)言在單片機(jī)之前是編程大型計(jì)算機(jī)的.

還是先有計(jì)算機(jī)呀
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-1-30 07:27 來(lái)自觸屏版 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-29 21:45
還是先有計(jì)算機(jī)呀

沒(méi)有人之前,還有誰(shuí)會(huì)說(shuō)人話。

評(píng)分

參與人數(shù) 1黑幣 +4 收起 理由
就你**** + 4 這也是人說(shuō)的話?

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:466578 發(fā)表于 2019-1-30 09:24 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-1-26 16:46
“用任何語(yǔ)言寫的程序,最終都會(huì)被編譯平臺(tái)(如:KELL)翻譯成這樣的代碼,放入(以51為例)從0000H開始 ...

曾經(jīng),我遇見一個(gè)奇人,小學(xué)都沒(méi)畢業(yè),憑著自己對(duì)單片機(jī)的愛好執(zhí)著,寫程序只用機(jī)器碼(16進(jìn)制)就搞定,一般51單片機(jī)的燒錄文件(bin文件),不用反匯編,直接在bin文件上修改代碼添加功能.看來(lái)這位兄臺(tái)想走這條路了,加油
回復(fù)

使用道具 舉報(bào)

ID:111634 發(fā)表于 2019-1-30 12:04 | 顯示全部樓層
鉆牛角尖!若你是個(gè)聰明人,鉆鉆也罷!若你不是個(gè)聰明人,就是浪費(fèi)時(shí)間!
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:07 | 顯示全部樓層
本帖最后由 海闊天空8 于 2019-1-30 15:31 編輯
angmall 發(fā)表于 2019-1-30 07:27
沒(méi)有人之前,還有誰(shuí)會(huì)說(shuō)人話。

您說(shuō)得沒(méi)錯(cuò)!有人之后才有得人話,很多不同種類的話,C語(yǔ)言也差不多是這個(gè)意思,但C語(yǔ)言絕不是唯一的和計(jì)算機(jī)對(duì)話的語(yǔ)言,,,,,,,,我的辦法更直觀:就像手指著一個(gè)蘋果說(shuō)“蘋果”(中文),APPLE(外文),XXXX(他國(guó)文字),,,“蘋果”也好,“APPLE”也好,“XXXX”也好都是和嘴對(duì)話(吃)的!^_^,,,,,,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:10 | 顯示全部樓層
佛云 發(fā)表于 2019-1-30 09:24
曾經(jīng),我遇見一個(gè)奇人,小學(xué)都沒(méi)畢業(yè),憑著自己對(duì)單片機(jī)的愛好執(zhí)著,寫程序只用機(jī)器碼(16進(jìn)制)就搞定,一般51 ...

您說(shuō)的大概就是這個(gè)意思吧!我時(shí)間不多了,不學(xué)什么C語(yǔ)言了,就想用0和1(電位的H,L)對(duì)單片機(jī)的引腳進(jìn)行交流,,,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:11 | 顯示全部樓層
zl2168 發(fā)表于 2019-1-30 12:04
鉆牛角尖!若你是個(gè)聰明人,鉆鉆也罷!若你不是個(gè)聰明人,就是浪費(fèi)時(shí)間!

^_^,我現(xiàn)在有的就是時(shí)間!希望有高人把話說(shuō)明白(哪跟哪接不就完了嗎?繞不完的圈子還真是浪費(fèi)時(shí)間。
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:24 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-1-26 08:55
六不搭對(duì)!
計(jì)算機(jī)含單片機(jī),是由眾多的邏輯電路構(gòu)成,
邏輯電路是:對(duì)應(yīng)于一組輸入就產(chǎn)生一組輸出(狹義 ...

您說(shuō)得太專業(yè)!還是聽不懂。謝謝,真的謝謝。
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:40 | 顯示全部樓層
yzwzfyz 發(fā)表于 2019-1-26 08:55
六不搭對(duì)!
計(jì)算機(jī)含單片機(jī),是由眾多的邏輯電路構(gòu)成,
邏輯電路是:對(duì)應(yīng)于一組輸入就產(chǎn)生一組輸出(狹義 ...

我承認(rèn)我對(duì)基礎(chǔ)知識(shí)一知半解(半解也不到),邏輯電路還有時(shí)序邏輯電路吧?好像是“對(duì)應(yīng)一組輸入不一定有一組輸出”?是這個(gè)意思嗎?您下面的我一點(diǎn)也不懂了,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-1-30 15:44 | 顯示全部樓層
shuisheng60 發(fā)表于 2019-1-28 21:43
下什么水了、你去看數(shù)模電路教程,單片機(jī)教程,C語(yǔ)言教程了么......?整天的在那里糾結(jié)對(duì)單片機(jī)的理解。

我就是想用0和1于單片機(jī)對(duì)話。在一定的各引腳設(shè)置成特定電位狀態(tài)下,向哪些引腳加上什么電位,怎么寫入0和1的問(wèn)題,,,,,,,,,,
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2019-1-30 16:57 | 顯示全部樓層

因?yàn)槿藗儾欢脵C(jī)器語(yǔ)言0和1代碼和它(計(jì)算機(jī))對(duì)話,所以使用了匯編語(yǔ)言, c語(yǔ)言 來(lái)編程
你要用0和1和它對(duì)話。你就要懂機(jī)器語(yǔ)言用0和1的代碼。
回復(fù)

使用道具 舉報(bào)

ID:429805 發(fā)表于 2019-1-30 21:05 | 顯示全部樓層
對(duì)單片機(jī)還處在一種入門級(jí)的認(rèn)識(shí)中,當(dāng)你后面接觸更多的類型的單位片機(jī),你的認(rèn)識(shí)就會(huì)加深。如果認(rèn)大家現(xiàn)在就給你定一個(gè)認(rèn)識(shí)標(biāo)準(zhǔn)都 是不合理的。加油!
回復(fù)

使用道具 舉報(bào)

ID:474232 發(fā)表于 2019-1-30 22:12 | 顯示全部樓層
本帖最后由 鉆牛尖滴劉尖尖 于 2019-1-31 05:03 編輯

努力!努力!再努力!努力........地鉆下去!
回復(fù)

使用道具 舉報(bào)

ID:472268 發(fā)表于 2019-1-30 22:24 | 顯示全部樓層
圍觀圍觀,靖彩的獨(dú)角戲!戲別停!
回復(fù)

使用道具 舉報(bào)

ID:474670 發(fā)表于 2019-2-18 23:17 | 顯示全部樓層
這是關(guān)于二進(jìn)制的好話題,續(xù)繼..................
回復(fù)

使用道具 舉報(bào)

ID:280876 發(fā)表于 2019-2-22 19:56 | 顯示全部樓層
兄弟,建議多看看相關(guān)的書再學(xué)單片機(jī)吧
回復(fù)

使用道具 舉報(bào)

ID:477932 發(fā)表于 2019-2-22 23:48 | 顯示全部樓層
wushiye54 發(fā)表于 2019-2-22 19:56
兄弟,建議多看看相關(guān)的書再學(xué)單片機(jī)吧

樓主只是感興趣,在家維修個(gè)家電,有經(jīng)濟(jì)來(lái)源,單片機(jī)完全是好玩而己,勸多了也皮了。
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-2-23 21:53 | 顯示全部樓層
static 發(fā)表于 2019-2-22 23:48
樓主只是感興趣,在家維修個(gè)家電,有經(jīng)濟(jì)來(lái)源,單片機(jī)完全是好玩而己,勸多了也皮了。

為什么不少人都把單片機(jī)神秘化了?包括寫書的!怎么就不會(huì)說(shuō)明白話呢?小孩子都能玩單片機(jī),大人們卻說(shuō)不了明白話。
回復(fù)

使用道具 舉報(bào)

ID:96682 發(fā)表于 2019-2-24 03:56 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-2-23 21:53
為什么不少人都把單片機(jī)神秘化了?包括寫書的!怎么就不會(huì)說(shuō)明白話呢?小孩子都能玩單片機(jī),大人們卻說(shuō)不 ...

樓主抱怨啥呢,做個(gè)換顱手術(shù)不就能秒懂了么
回復(fù)

使用道具 舉報(bào)

ID:460466 發(fā)表于 2019-2-24 08:38 | 顯示全部樓層
static 發(fā)表于 2019-2-22 23:48
樓主只是感興趣,在家維修個(gè)家電,有經(jīng)濟(jì)來(lái)源,單片機(jī)完全是好玩而己,勸多了也皮了。

懂不懂與我沒(méi)什么實(shí)際意義了。算精神生活的組成吧。矛盾之所以存在主要是雙方?jīng)]有“交集”,我問(wèn)我的你答你的距離較遠(yuǎn),還會(huì)產(chǎn)生誤解,確有隔靴搔癢之感,,,,,,,,,,,,,

評(píng)分

參與人數(shù) 2黑幣 +12 收起 理由
春風(fēng)十里吹 + 8 說(shuō)的很透明了
yoxi + 4 天天蹭熱度講廢話!找.....

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:469932 發(fā)表于 2019-2-24 17:37 | 顯示全部樓層
海闊天空8 發(fā)表于 2019-2-23 21:53
為什么不少人都把單片機(jī)神秘化了?包括寫書的!怎么就不會(huì)說(shuō)明白話呢?小孩子都能玩單片機(jī),大人們卻說(shuō)不 ...

跟不下水的人談水就是扯唄
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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