国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

zzxydedu118的個人空間 http://www.qingdxww.cn/space-uid-83159.html [收藏] [復(fù)制] [RSS]

博客

新手必看,初學(xué)51單片機幾個不易掌握的概念!

已有 1694 次閱讀2014-5-24 17:35

隨著電子技術(shù)的迅速發(fā)展,計算機已深入地滲透到我們的生活中,許多電子

愛好者開始學(xué)習(xí)單片機知識,但單片機的內(nèi)容比較抽象,相對電子愛好者已熟悉

的模擬電路、數(shù)字電路,單片機中有一些新的概念,這些概念非常基本以至于一

般作者不屑去談,教材自然也不會很深入地講解這些概念,但這些內(nèi)容又是學(xué)習(xí)

中必須要理解的,下面就結(jié)合本人的學(xué)習(xí)、教學(xué)經(jīng)驗,對這些最基本概念作一說

明,希望對自學(xué)者有所幫助。 
  一、總線:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬

電路中,連線并不成為一個問題,因為各器件間一般是串行關(guān)系,各器件之間的

連線并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與

微處理器相連,各器件之間的工作必須相互協(xié)調(diào),所以就需要的連線就很多了,

如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線,則線的數(shù)量將多

得驚人,所以在微處理機中引入了總線的概念,各個器件共同享用連線,所有器

件的8根數(shù)據(jù)線全部接到8根公用的線上,即相當(dāng)于各個器件并聯(lián)起來,但僅這樣

還不行,如果有兩個器件同時送出數(shù)據(jù),一個為0,一個為1,那么,接收方接收

到的究竟是什么呢?這種情況是不允許的,所以要通過控制線進行控制,使器件

分時工作,任何時候只能有一個器件發(fā)送數(shù)據(jù)(可以有多個器件同時接收)。器

件的數(shù)據(jù)線也就被稱為數(shù)據(jù)總線,器件所有的控制線被稱為控制總線。在單片機

內(nèi)部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配地址,才

能使用,分配地址當(dāng)然也是以電信號的形式給出的,由于存儲單元比較多,所以

,用于地址分配的線也較多,這些線被稱為地址總線。

  二、數(shù)據(jù)、地址、指令:之所以將這三者放在一起,是因為這三者的本質(zhì)都

是一樣的──數(shù)字,或者說都是一串‘0’和‘1’ 組成的序列。換言之,地址

、指令也都是數(shù)據(jù)。指令:由單片機芯片的設(shè)計者規(guī)定的一種數(shù)字,它與我們常

用的指令助記符有著嚴格的一一對應(yīng)關(guān)系,不可以由單片機的開發(fā)者更改。地址

:是尋找單片機內(nèi)部、外部的存儲單元、輸入輸出口的依據(jù),內(nèi)部單元的地址值

已由芯片設(shè)計者規(guī)定好,不可更改,外部的單元可以由單片機開發(fā)者自行決定,

但有一些地址單元是一定要有的(詳見程序的執(zhí)行過程)。數(shù)據(jù):這是由微處理

機處理的對象,在各種不同的應(yīng)用電路中各不相同,一般而言,被處理的數(shù)據(jù)可

能有這么幾種情況:

1·地址(如MOV DPTR,#1000H),即地址1000H送入DPTR。

2·方式字或控制字(如MOV TMOD,#3),3即是控制字。

3·常數(shù)(如MOV TH0,#10H)10H即定時常數(shù)。

4·實際輸出值(如P1口接彩燈,要燈全亮,則執(zhí)行指令:MOV P1,#0FFH,要燈

全暗,則執(zhí)行指令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用于

LED的字形碼,也是實際輸出的值。

理解了地址、指令的本質(zhì),就不難理解程序運行過程中為什么會跑飛,會把數(shù)據(jù)

當(dāng)成指令來執(zhí)行了。

  三、P0口、P2口和P3的第二功能用法初學(xué)時往往對P0口、P2口和P3口的第二

功能用法迷惑不解,認為第二功能和原功能之間要有一個切換的過程,或者說要

有一條指令,事實上,各端口的第二功能完全是自動的,不需要用指令來轉(zhuǎn)換。

如P3.6、P3.7分別是WR、RD信號,當(dāng)微片理機外接RAM或有外部I/O口時,它們被

用作第二功能,不能作為通用I/O口使用,只要一微處理機一執(zhí)行到MOVX指令,

就會有相應(yīng)的信號從P3.6或P3.7送出,不需要事先用指令說明。事實上‘不能作

為通用I/O口使用’也并不是‘不能’而是(使用者)‘不會’將其作為通用I/O

口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當(dāng)單片機執(zhí)行到

這條指令時,也會使P3.7變?yōu)楦唠娖剑褂谜卟粫@么去做,因為這通常這會

導(dǎo)致系統(tǒng)的崩潰(即死機)。

  四、程序的執(zhí)行過程單片機在通電復(fù)位后8051內(nèi)的程序計數(shù)器(PC)中的值

為‘0000’,所以程序總是從‘0000’單元開始執(zhí)行,也就是說:在系統(tǒng)的ROM

中一定要存在‘0000’這個單元,并且在‘0000’單元中存放的一定是一條指令


  五、堆棧堆棧是一個區(qū)域,是用來存放數(shù)據(jù)的,這個區(qū)域本身沒有任何特殊

之處,就是內(nèi)部RAM的一部份,特殊的是它存放和取用數(shù)據(jù)的方式,即所謂的‘

先進后出,后進先出’,并且堆棧有特殊的數(shù)據(jù)傳輸指令,即‘PUSH’和‘POP

’,有一個特殊的專為其服務(wù)的單元,即堆棧指針SP,每當(dāng)執(zhí)一次PUSH指令時,

SP就(在原來值的基礎(chǔ)上)自動加1,每當(dāng)執(zhí)行一次POP指令,SP就(在原來值的

基礎(chǔ)上)自動減1。由于SP中的值可以用指令加以改變,所以只要在程序開始階

段更改了SP的值,就可以把堆棧設(shè)置在規(guī)定的內(nèi)存單元中,如在程序開始時,用

一條MOV SP,#5FH指令,就時把堆棧設(shè)置在從內(nèi)存單元60H開始的單元中。一般

程序的開頭總有這么一條設(shè)置堆棧指針的指令,因為開機時,SP的初始值為07H

,這樣就使堆棧從08H單元開始往后,而08H到1FH這個區(qū)域正是8031的第二、三

、四工作寄存器區(qū),經(jīng)常要被使用,這會造成數(shù)據(jù)的渾亂。不同作者編寫程序時

,初始化堆棧指令也不完全相同,這是作者的習(xí)慣問題。當(dāng)設(shè)置好堆棧區(qū)后,并

不意味著該區(qū)域成為一種專用內(nèi)存,它還是可以象普通內(nèi)存區(qū)域一樣使用,只是

一般情況下編程者不會把它當(dāng)成普通內(nèi)存用了。

  六、單片機的開發(fā)過程這里所說的開發(fā)過程并不是一般書中所說的從任務(wù)分

析開始,我們假設(shè)已設(shè)計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件

之前,首先要確定一些常數(shù)、地址,事實上這些常數(shù)、地址在設(shè)計階段已被直接

或間接地確定下來了。如當(dāng)某器件的連線設(shè)計好后,其地址也就被確定了,當(dāng)器

件的功能被確定下來后,其控制字也就被確定了。然后用文本編緝器(如EDIT、

CCED等)編寫軟件,編寫好后,用編譯器對源程序文件編譯,查錯,直到?jīng)]有語

法錯誤,除了極簡單的程序外,一般應(yīng)用仿真機對軟件進行調(diào)試,直到程序運行

正確為止。運行正確后,就可以寫片(將程序固化在EPROM中)。在源程序被編

譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,

只要將此文件調(diào)入即可寫片。在此,為使大家對整個過程有個認識,舉一例說明


ORG 0000H

LJMP START

ORG 040H

START:

MOV SP,#5FH ;設(shè)堆棧

LOOP:

NOP

LJMP LOOP ;循環(huán)

END ;結(jié)束

表1

:03000000020040BB

:0700400075815F000200431F

表2

02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 

FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 75 81 5F 00 02 

00 43

表3

表1為源程序,表2是匯編后得到的HEX文件,表3是由HEX文件轉(zhuǎn)換成的目標文件

,也就是最終寫入EPROM的文件,它由編程器轉(zhuǎn)換得到,也可以由HEXBIN一類的

程序轉(zhuǎn)換得到。學(xué)過手工匯編者應(yīng)當(dāng)不難找出表3與表1的一一對應(yīng)關(guān)系,值得注

意的是從02 00 40后開始的一長串‘FF’,直到75 81,這是由于偽指令:ORG 

040H造成的結(jié)果。

  七、仿真、仿真機仿真是單片機開發(fā)過程中非常重要的一個環(huán)節(jié),除了一些

極簡單的任務(wù),一般產(chǎn)品開發(fā)過程中都要進行仿真,仿真的主要目的是進行軟件

調(diào)試,當(dāng)然借助仿真機,也能進行一些硬件排錯。一塊單片機應(yīng)用電路板包括單

片機部份及為達到使用目的而設(shè)計的應(yīng)用電路,仿真就是利用仿真機來代替應(yīng)用

電路板(稱目標機)的單片機部份,對應(yīng)用電路部份進行測試、調(diào)試。仿真有

CPU仿真和ROM仿真兩種,所謂CPU仿真是指用仿真機代替目標機的CPU,由仿真機

向目標機的應(yīng)用電路部份提供各種信號、數(shù)據(jù),進行調(diào)試的方法。這種仿真可以

通過單步運行、連續(xù)運行等多種方法來運行程序,并能觀察到單片機內(nèi)部的變化

,便于改正程序中的錯誤。所謂ROM仿真,就是用仿真機代替目標機的ROM,目標

機的CPU工作時,從仿真機中讀取程序,并執(zhí)行。這種仿真其實就是將仿真機當(dāng)

成一片EPROM,只是省去了擦片、寫片的麻煩,并沒有多少調(diào)試手段可言。通常

這是二種不同類型的仿真機,也就是說,一臺仿真機不能既做CPU仿真,又做ROM

仿真。可能的情況下,當(dāng)然以CPU仿真好。

學(xué)習(xí)單片機看到的一篇文章,供大家學(xué)習(xí)參考。

更多內(nèi)容歡迎交流:宋老師 15238336542 QQ2905283896
歡迎大家進入中原地區(qū)的單片機嵌入式學(xué)習(xí)群:184441417。共同交流、學(xué)習(xí)。

路過

雞蛋

鮮花

握手

雷人

評論 (0 個評論)

facelist

您需要登錄后才可以評論 登錄 | 立即注冊

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
返回頂部
主站蜘蛛池模板: 国产高清一级毛片在线人 | 91天堂最新在线观看 | 无遮挡免费视频 | 黄页视频免费观看 | 狠狠色丁香久久婷婷综合_中 | 欧美老人另类视频 | 精品久久一 | 久久香蕉国产线看观看式 | 香蕉国产人午夜视频在线 | 成人精品一区二区三区 | 青青操手机看 | 夜夜春网站| 日本精品国产 | 99久久99久久精品国产 | 亚洲高清在线视频 | 日本不卡在线观看免费v | 五月天丁香婷婷综合久久 | 五月天婷婷久久 | 日韩精品久久一区二区三区 | eeuss影院www免费 | 欧美国产成人一区二区三区 | 狠狠色狠狠色综合日日小蛇 | 国产亚洲第一精品社区麻豆 | 五月天中文字幕 | 在线免费看黄的网站 | 噜噜噜久久 | 日本大片在线免费观看 | 色a4yy综合私人 | 亚洲视频黄色 | 欧美精品 在线观看 | 理论片在线免费观看 | 操操操网站 | 偷拍区自拍区 | 国产愉拍精品视频手机 | 欧美 日韩 亚洲另类专区 | 六月丁香伊人 | 国产精品欧美一区二区三区不卡 | 久久久久免费精品国产小说 | 国产91po在线观看免费观看 | 国产乱码精品一区二区三上 | 日韩欧美在线一级一中文字暮 |