性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

<>單片機(jī)學(xué)堂<>高手勿進(jìn)<>

基礎(chǔ)知識(shí)
第一節(jié)  數(shù)  制
常說的計(jì)算機(jī),誰(shuí)都會(huì)理解是個(gè)人電腦PC.說得準(zhǔn)確些,應(yīng)叫電子數(shù)字計(jì)算機(jī),以區(qū)別另一類電子模擬計(jì)算機(jī).為什么叫電子數(shù)字計(jì)算機(jī)呢?這是因?yàn)槠鋬?nèi)部是一個(gè)數(shù)字信息世界:空間地址是數(shù)字化;語(yǔ)言是數(shù)字化;信息流動(dòng)是數(shù)字化;運(yùn)算邏輯判斷即“思維”是數(shù)字化;整體管理和控制是數(shù)字化;與外部交換信息也是數(shù)字化.由于世界上最簡(jiǎn)單的數(shù)制是二進(jìn)制數(shù),最適合于具有兩個(gè)穩(wěn)態(tài)的電子器件所制成的計(jì)算機(jī).二進(jìn)制還可以衍生出更方便的數(shù)制,便于運(yùn)算和表達(dá).下面講一下數(shù)制.
4.1數(shù)  制
數(shù)制是指計(jì)數(shù)的規(guī)則.
4.1.1 二進(jìn)制
二進(jìn)制只有兩個(gè)數(shù)1和0,其基數(shù)是2.計(jì)數(shù)規(guī)則是逢二進(jìn)一.通過如圖3-1所示的運(yùn)算可以找出二進(jìn)制與十進(jìn)制的關(guān)系.權(quán)碼, 即該位為1代表的權(quán)值.

二 進(jìn) 制(B)  權(quán)碼 十進(jìn)制(D) 十六進(jìn)制(H)
1624 823 422 221 120
0 0 0 0 0 0 0
0 0 0 0 1 1 1
0 0 0 1 0 2 2
0 0 0 1 1 3 3
0 0 1 0 0 4 4
0 0 1 0 1 5 5
0 0 1 1 0 6 6
0 0 1 1 1 7 7
0 1 0 0 0 8 8
0 1 0 0 1 9 9
0 1 0 1 0 10 A
0 1 0 1 1 11 B
0 1 1 0 0 12 C
0 1 1 0 1 13 D
0 1 1 1 0 14 E
0 1 1 1 1 15 F
1 0 0 0 0 16 10
1 0 0 0 1 17 11

圖4-1  二進(jìn)制、十進(jìn)制及十六進(jìn)制的對(duì)應(yīng)關(guān)系


由圖4-1可以看出4位二進(jìn)制1111表示的是十進(jìn)制的15,二進(jìn)制0000表示的是十進(jìn)制的0.為防止把二進(jìn)制1111讀成壹千壹百壹拾壹,可用一個(gè)下標(biāo)B(Binary)表示:1111B=15D,下標(biāo)D(Decimal)表示十進(jìn)制,一般不寫.從二進(jìn)制與十進(jìn)制的對(duì)應(yīng)關(guān)系可以看到如下特點(diǎn):
            權(quán)碼        1     1     1       1  B=15
對(duì)應(yīng)權(quán)值   1×23+1×22+1×21+1×20 =
對(duì)應(yīng)權(quán)值     8  +  4  +  2  + 1   =15(二進(jìn)制數(shù)值)
式中的8、4、2和1稱為權(quán)值.1111B中的每個(gè)1稱為系數(shù)或權(quán)碼.4位二進(jìn)制數(shù)可表達(dá)十進(jìn)制數(shù)0 ~ 15,共16個(gè)數(shù).當(dāng)十進(jìn)制數(shù)超過15時(shí),則向前進(jìn)1位,變成0000B.進(jìn)上去的1表示溢位.16這個(gè)十進(jìn)制數(shù)已超出4位二進(jìn)制的表示范圍.為表達(dá)比15大的二進(jìn)制數(shù),可采用多位二進(jìn)制.例如,采用8位二進(jìn)制數(shù):
權(quán)碼       1     1     1     1     1     1     1      1  B=
對(duì)應(yīng)權(quán)值 1×27+1×26+1×25+1×24+1×23+1×22+1×21+1×20=
對(duì)應(yīng)權(quán)值  128  +  64  +  32     +  16    +  8   +  4  +   2   +   1   =255(二進(jìn)制數(shù)值)
由上面的式子還可看出一個(gè)特點(diǎn),可幫助我們記憶和心算,即:每一位的權(quán)值都比其右邊所有權(quán)值的和多1.
計(jì)算機(jī)中有8位二進(jìn)制數(shù),再大則要用到16位和32位二進(jìn)制數(shù).

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 數(shù)位
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 權(quán)碼
32 768 16 384 8 192 4 096 2 048 1 024 512 256 128 64 32 16 8 4 2 1 權(quán)值
32K 16K 8K 4K 2K 1K 簡(jiǎn)稱

          高8位           低8位
權(quán)碼   1       1       1       1       1       1       1       1       1
權(quán)值1×215 1×214 1×213 1×212 1×211 1×210 1×29 1×28 1×27
權(quán)值32568 16284 8192 4096   2048    1024    512    256 128
簡(jiǎn)稱 32K 16K   8K 4K 2K     1K
為了方便,其中稱1024為1K.對(duì)單片機(jī)來(lái)說常用的4K、8K、16K、32K應(yīng)當(dāng)記熟.
    當(dāng)用二進(jìn)制表示一個(gè)較大的數(shù)時(shí), 1和0的位數(shù)太多,不便于書寫,很不直觀.因此,又引出十六進(jìn)制(Hexadecimal).十六進(jìn)制數(shù)可用一個(gè)下標(biāo)H表示.
對(duì)幾個(gè)名詞的說明如下:
位(bit):   二進(jìn)制數(shù)的1位,即1或0.
字節(jié)(byte):相鄰的8個(gè)二進(jìn)制位為1個(gè)字節(jié).
字長(zhǎng):     每個(gè)數(shù)所含二進(jìn)制位的數(shù)量叫字長(zhǎng).計(jì)算機(jī)內(nèi)的字長(zhǎng)都是字節(jié)的整數(shù)倍.
地址:     由內(nèi)部存儲(chǔ)器中許多存儲(chǔ)單元組成.將每個(gè)單元都順序地統(tǒng)一編號(hào),這個(gè)編號(hào)就是地址.
4.1.2 十六進(jìn)制
從圖3-1的最右側(cè)一列可見,自9之后就用A、B、C、D、E和F分別表示10、11、12、13、14和15.這樣就可以把沉長(zhǎng)的二進(jìn)制變得簡(jiǎn)短了.
例如:
二進(jìn)制         1 0 1 1 1 1 0 0 0 1 1 1 0 1 0 1
    對(duì)應(yīng)十六進(jìn)制    B        C       7       5
即BC75H,以4位二進(jìn)制為一段,用0~F表示.運(yùn)算時(shí)機(jī)器還是按二進(jìn)制計(jì)算.書寫時(shí)為防止混淆,作數(shù)據(jù)用時(shí)要標(biāo)注H或$或0x, 這表示十六進(jìn)制數(shù).機(jī)器在運(yùn)行時(shí),譯碼器會(huì)自動(dòng)識(shí)別出數(shù)據(jù)或碼制.
在上面兩節(jié)中學(xué)了二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法.下面介紹把十進(jìn)制數(shù)反過來(lái)變成二進(jìn)制數(shù)的余數(shù)法:用2去除二進(jìn)制數(shù),先得的余數(shù)為低位,后得的余數(shù)為高位,直到商為0為止.
  例如:


     2 1  1     余數(shù)
2 5 ——1最低位
  2 2 ——1
     2 1 ——0
        0 ——1 最高位
即:11=1011B
4.1.3 二進(jìn)制數(shù)的運(yùn)算
1. 二進(jìn)制加法規(guī)則
二進(jìn)制的加法規(guī)則如下:
(1)  0+0=0
(2)  0+1=1
(3)  1+1=0+進(jìn)位
(4)  1+1+1=1+進(jìn)位
例:1110B+1100B=1 1010 B
1 1 1 0     被加數(shù)
+ 1 1 0 0   加數(shù)
   1   進(jìn)位
        ——————————
   1 1 0 1 0   和
2. 二進(jìn)制減法規(guī)則
二進(jìn)制的減法規(guī)則如下:
(1) 0-0=0
(2)  1-0=1
(3)  1-1=0
(4)  0-1=1-借位
例:10110B-1100B= 1010 B
1 0 1 1 0   被減數(shù)
-   1 1 0 0   減數(shù)
    ——————————
     1 0 1 0   差
3. 二進(jìn)制乘法規(guī)則
二進(jìn)制的乘法規(guī)則如下:
(1)  0×0=0
(2) 0×1=0
(3) 1×0=0
(4) 1×1=1
例:1101B×1011B= 1000 1111B
1 1 0 1    
     × 1 0 1 1
  ———————
1 1 0 1
  1 1 0 1
     0 0 0 0
   1 1 0 1
——————————
1 0 0 0 1 1 1 1
注意:乘2相當(dāng)于左移1位.例:
1 1 0 1
×    1 0
——————
    0 0 0 0
   1 1 0 1
——————
   1 1 0 1 0
常用將被乘數(shù)左移1位的方法來(lái)完成乘2運(yùn)算.
4.二進(jìn)制除法規(guī)則
(不考慮余數(shù))
例:10110101B÷1001B=10100B
1 0 1 0 0
         ————————
1001 1 0 1 1 0 1 0 1
1 0 0 1
      ———————
           1 0 0 1
           1 0 0 1
     ———————
                0 0 1
4.2 計(jì)算機(jī)的基本運(yùn)算
計(jì)算機(jī)有3種基本運(yùn)算:算術(shù)運(yùn)算、關(guān)系運(yùn)算和邏輯運(yùn)算.
4.2.1 算術(shù)運(yùn)算
單片機(jī)中的運(yùn)算邏輯單元(ALU)執(zhí)行加、減、乘、除四則運(yùn)算.凡函數(shù)運(yùn)算(三角函數(shù)、指數(shù)、對(duì)數(shù)運(yùn)算)都將其化成四則運(yùn)算.例如,正弦函數(shù)求值計(jì)算變成多項(xiàng)式的求和計(jì)算:
    更復(fù)雜的運(yùn)算,例如求解方程式的根,也都要變成四則運(yùn)算.單片機(jī)中就有加減法指令等, 可完成復(fù)雜的運(yùn)算.
4.2.2 關(guān)系運(yùn)算
計(jì)算機(jī)內(nèi)所要處理的信息不論是數(shù)據(jù)還是字都是用0和1表示.關(guān)系運(yùn)算就是比較兩數(shù)據(jù)是否相同或不相同.若不相同,再區(qū)分大小.關(guān)系運(yùn)算包括“大于”、“小于”、“等于”和“不等于”4種.在實(shí)際工作中應(yīng)用很普遍,例如,自動(dòng)控制中的正轉(zhuǎn)和反轉(zhuǎn),以及機(jī)器人運(yùn)行時(shí)判斷是否離開軌跡線,等等.單片機(jī)中就有條件轉(zhuǎn)移指令中的“大于”、“小于”指令等, 可以完成各種判斷處理工作.
4.2.3 邏輯運(yùn)算
邏輯數(shù)據(jù)只有兩個(gè)值1和0.1表示“真”(True),0表示“假”(False).基本邏輯運(yùn)算有3種,還可衍生1種,即“與(AND)”、“或(OR)”、“非(NOT)”或“異或(EOR)”.
1.“與”運(yùn)算
“與”可用兩串聯(lián)開關(guān)與燈泡、電源串聯(lián)電路來(lái)說明,見圖3-2.當(dāng)開關(guān)A與B都同時(shí)閉合時(shí),燈P才亮.可用邏輯表達(dá)式
A·B=P    或    A∧B=P
來(lái)表示,說明只有A“與”B都閉合,燈P才亮.“與”運(yùn)算的真值表如表3-2所列,即有0即0,全1為1.

圖3-2  “與”運(yùn)算電路示意圖及與門符號(hào)

表3-2  “與”運(yùn)算真值表
輸入A 輸入B 輸出P
0011 0101 0—滅001—亮
   2.“或”運(yùn)算
“或”(OR)可用兩開關(guān)A和B并聯(lián)后與電源和燈P作如圖3-3的連接來(lái)說明,其邏輯關(guān)系可用邏輯表達(dá)式
A+B=P    或    A∨B=P
來(lái)表示.說明A“或”B兩者有一個(gè)閉合,燈P就亮.“或”運(yùn)算的邏輯真值表如表3-3所列,即有1即1,全0為0.
圖3-3  “或”運(yùn)算電路示意圖及或門符號(hào)

   表3-3 “或”運(yùn)算真值表
輸入A 輸入B 輸出P
0011 0101 0111

      
當(dāng)編寫程序時(shí),用邏輯“與”、“或”可對(duì)數(shù)據(jù)起屏蔽和摘取作用.例如:從數(shù)據(jù)1100 1010B中只選取高4位(去掉低4位的值),可用1111 0000 B和1100 1011 B作“與”運(yùn)算來(lái)實(shí)現(xiàn),即
      1 1 0 0 1 0 1 1
∨    1 1 1 1 0 0 0 0
———————— —
  1 1 0 0 0 0 0 0
    若使某數(shù)據(jù)的高4位都變成1,又不影響其低4位,則可用1111 0000B與1001B進(jìn)行“或”運(yùn)算來(lái)實(shí)現(xiàn),即
      
      1 0 0 1 1 0 0 1
∧    1 1 1 1 0 0 0 0
———————— —
  1 1 1 1 1 0 0 1
例如,第6章開關(guān)控制燈的例題中用到的SBR指令“SBR  R16.$F0”,可用“或”指令“OR  R16.$F0”代替.
3.“異或”運(yùn)算
    “異或” (XOR——eXclusive OR)邏輯運(yùn)算可用圖3-4如示電路來(lái)說明.兩個(gè)雙位聯(lián)動(dòng)開關(guān)串聯(lián)之后與燈P和電源并聯(lián).當(dāng)正面A與B或者反面A與B閉合時(shí),燈P不亮,即同一面都閉合時(shí),燈不亮.若有一面不同時(shí)閉合,則燈亮.可用邏輯表達(dá)式

來(lái)表示.3個(gè)表達(dá)式等同.“異或”運(yùn)算的邏輯真值表如表3-4所列.
                    
                                    圖3-4  “異或”運(yùn)算電路示意圖及電路符號(hào)
     表3-4  “異或”運(yùn)算真值表
輸入A 輸入B 輸出P
0011 0101 0110



該邏輯用來(lái)進(jìn)行比較判斷,例如對(duì)兩數(shù)進(jìn)行比較.若兩數(shù)相同“異或”的結(jié)果為零,例如:
      1 0 1 1 1 0 0 1
      1 0 1 1 1 0 0 1
———————— —
  0 0 0 0 0 0 0 0 ——影響
則說明兩數(shù)相同.若兩數(shù)“異或”的結(jié)果不為零,例如:
      1 0 1 1 1 0 0 0
      1 0 1 1 1 0 0 1
———————— —
  0 0 0 0 0 0 0 1
則說明兩數(shù)不同.其應(yīng)用見后指令表EOR指令.
4.“非”運(yùn)算
“非(NOT)”邏輯運(yùn)算對(duì)應(yīng)的電路如圖3-5所示.A閉合則燈滅,A斷開則燈亮.“非”運(yùn)算的邏輯真值表如表3-5所列.






圖3-5  “非”運(yùn)算電路示意圖及電路符號(hào)

表3-5  “非”運(yùn)算真值表
輸入A 輸出P
10 01
4.3 運(yùn)算后的狀態(tài)
計(jì)算機(jī)的算術(shù)邏輯單元ALU在不停地運(yùn)算.對(duì)每次運(yùn)算我們不僅要注意數(shù)值結(jié)果,同時(shí)還要根據(jù)其運(yùn)算狀態(tài)來(lái)決定下面程序流程的走向.運(yùn)算后的狀態(tài)存放在狀態(tài)寄存器SREG中.它的8個(gè)位被設(shè)計(jì)者定義為如圖3-6所示的涵意.

圖4-6  運(yùn)算中影響程序狀態(tài)字

對(duì)于圖3-6中的8個(gè)位,僅要求初學(xué)者了解其中的位C、Z、H、I和T.
· 因第7位有進(jìn)位C=1.
· 若結(jié)果為0(即8位全0),則Z=1.
· 若低4位的高位向高4位進(jìn)位(叫半進(jìn)位),則H=1.
· 若在機(jī)器運(yùn)行過程中遇有特殊的意外事件發(fā)生時(shí)允許機(jī)器作應(yīng)急處理,即執(zhí)行應(yīng)急程序,則I=1(中斷的概念見后).
· T是留出的1位,為監(jiān)視所關(guān)注的寄存器的某一位而設(shè).

4.4  中斷的慨念
用日常生活中遇到的中斷慨念來(lái)說明計(jì)算機(jī)中的中斷概念.例如,寫字樓的高層有位資深的總編日理萬(wàn)機(jī).當(dāng)他寫作的思緒正如潮涌,筆下如神時(shí),突然,洪水訣堤而泄,必須停止眼下的工作,盡快去搶險(xiǎn),這就是中斷.而且他的工作也不是絕對(duì)不可停的,即是可允許中斷的.這時(shí)就把狀態(tài)寄存器SREG的I位置1.但在同樣情況下,一位正在作開顱手術(shù)或作心臟手術(shù)的大夫就絕不可停止手術(shù),即不可中斷.這時(shí)SREG的最高位就應(yīng)置0.在中斷時(shí)應(yīng)當(dāng)作什么工作呢?對(duì)總編來(lái)說,就應(yīng)當(dāng)記住工作到計(jì)劃的哪一頁(yè),例如第9頁(yè).而且還要把所用的資料、素材和照片有序地放在專用的第5號(hào)保險(xiǎn)柜第3層第7號(hào)文件夾中.要牢記537這個(gè)號(hào),待緊急任務(wù)完成后,取出537號(hào)文件夾,接著從第9頁(yè)開始工作.單片機(jī)處理中斷與此類似.它是在叫做RAM的存儲(chǔ)器中設(shè)置一個(gè)空間,作為存放資料的“保險(xiǎn)柜”,中斷的地址即“第幾頁(yè)”.機(jī)器會(huì)自動(dòng)“告訴”程序計(jì)數(shù)器PC指針,所存放的資料也會(huì)自動(dòng)彈出.
在執(zhí)行中斷時(shí)還會(huì)遇到更重要的緊急事件,還得在中斷中嵌套中斷.過程與第1次中斷相同.中斷的處理完全可以在編寫程序時(shí)隨心安排.
4.5 定時(shí)器/計(jì)數(shù)器(T/C)
它與我們用的鬧鐘類似.鬧鐘實(shí)質(zhì)是計(jì)數(shù)器,只不過計(jì)量的是標(biāo)準(zhǔn)電秒脈沖信號(hào).把它撥到早6點(diǎn),當(dāng)計(jì)“數(shù)”一到,就響鈴催人起床.
單片機(jī)內(nèi)部資源應(yīng)有盡有,8515芯片中有一個(gè)8位計(jì)數(shù)器和一個(gè)16位計(jì)數(shù)器.每當(dāng)輸入一個(gè)計(jì)數(shù)脈沖時(shí),二進(jìn)制計(jì)數(shù)器就逢二進(jìn)一計(jì)下去.8位計(jì)數(shù)器最多可計(jì)到255個(gè)脈沖,16位計(jì)數(shù)器可計(jì)到65 535個(gè)脈沖.用計(jì)數(shù)器在生產(chǎn)線上作計(jì)數(shù)用會(huì)大顯神通.以裝藥片為例,要求每個(gè)大瓶裝入1 000片藥片,當(dāng)裝滿之后控制機(jī)器轉(zhuǎn)動(dòng)推走裝滿的瓶子,并跟過來(lái)一個(gè)空瓶.解決這個(gè)問題的思路就同聰明的烏鴉想喝細(xì)頸瓶中的剩水一樣,往瓶中銜小石頭,水就被逐漸地?cái)D上來(lái)了.
通過計(jì)算可知,在計(jì)數(shù)器中應(yīng)預(yù)置的數(shù)為
65 535-1 000=64 535
64 535再變成二進(jìn)制數(shù)或十六進(jìn)制數(shù),即
64 535=1111 1100 0001 1000B=FC18H
應(yīng)預(yù)置入FC18H,當(dāng)計(jì)滿時(shí)即可產(chǎn)生進(jìn)位信號(hào).用它可以驅(qū)動(dòng)機(jī)器轉(zhuǎn)動(dòng),并可將FC18H再次自動(dòng)預(yù)置.
用它來(lái)驅(qū)動(dòng)機(jī)器轉(zhuǎn)動(dòng).因?yàn)橛?jì)滿數(shù)之后16位計(jì)數(shù)器變成全0,所以在下一次計(jì)數(shù)時(shí)還得預(yù)置FC18H.這個(gè)常數(shù)是自動(dòng)置入的,見3-7工作示意圖.
圖3-7 計(jì)數(shù)器自動(dòng)預(yù)置數(shù)原理

如果計(jì)數(shù)電脈沖換成時(shí)間間隔十分精密的時(shí)間電脈沖,則16位計(jì)數(shù)器就可以變成計(jì)時(shí)器了.
4.6 看門狗(Watch Dog)
舉個(gè)例子:黑心的業(yè)主顧來(lái)工人給他干活,在工人反復(fù)必經(jīng)的路上設(shè)置了一個(gè)紅外傳感電子鬧鐘,用來(lái)監(jiān)視工人.工人緊張工作,大約10分鐘左右經(jīng)過一次.每經(jīng)過紅外傳感時(shí),電子鬧鐘就復(fù)位一次重新計(jì)時(shí).業(yè)主就把電子鬧鐘設(shè)置11分鐘就響,不讓工人稍緩一口氣,他卻睡大覺去了.一旦鈴響,他就把工人拉回來(lái)從頭干活.因此,把這個(gè)鬧鐘叫做“看門狗”.
單片機(jī)中的看門狗,是為替我們監(jiān)視程序運(yùn)行情況而設(shè).我們?cè)诰帉懗绦驎r(shí),在程序流程中多設(shè)些看門狗復(fù)位指令.當(dāng)程序正常運(yùn)行時(shí),使看門狗這個(gè)鬧鐘不斷清0,不會(huì)因計(jì)滿而“狂叫”.程序一旦受外界干擾而不能正常工作,或陷入死循環(huán),就不能及時(shí)使看門狗復(fù)位.看門狗就發(fā)出復(fù)位信號(hào),強(qiáng)行把程序計(jì)數(shù)器PC值置0,使單片機(jī)從頭開始工作.
要注意的是,看門狗有一個(gè)在單片機(jī)內(nèi)部獨(dú)立的時(shí)鐘信號(hào)源,其工作頻率為1 MHz,與單片機(jī)的外部時(shí)鐘源完全無(wú)關(guān).
4.7 有關(guān)名詞介紹
4.7.1 指令和程序
1. 指 令  
它是人對(duì)計(jì)算機(jī)發(fā)出的完成一個(gè)最基本操作的工作命令.由計(jì)算機(jī)的硬件來(lái)執(zhí)行.因計(jì)算機(jī)硬件的結(jié)構(gòu)不同,指令也不同.某一種計(jì)算機(jī)的基本指令的集合稱為該計(jì)算機(jī)的指令系統(tǒng).指令系統(tǒng)中的指令按功能分有:數(shù)據(jù)傳送、算術(shù)邏輯運(yùn)算、程序控制、輸入/輸出以及控制等功能.指令系統(tǒng)在很大程度上決定了計(jì)算機(jī)的處理能力,是計(jì)算機(jī)的重要特征.詳細(xì)內(nèi)容見第5章.
2. 程 序
人們?yōu)榻鉀Q某一問題而寫出的有序的一條條指令稱為程序.設(shè)計(jì)和書寫程序的過程稱為程序設(shè)計(jì).計(jì)算機(jī)的指令系統(tǒng)是程序設(shè)計(jì)的基本依據(jù).
指令和程序在計(jì)算機(jī)中的執(zhí)行過程如下:計(jì)算機(jī)執(zhí)行程序中的每條指令分為兩個(gè)階段,第1階段是將要執(zhí)行的指令從內(nèi)存(AVR單片機(jī)從Flash)中取出CPU;第2階段是CPU對(duì)該指令進(jìn)行分析譯碼,判斷該指令要執(zhí)行的操作,然后向相關(guān)部件發(fā)出執(zhí)行該指令的控制信號(hào),并執(zhí)行相應(yīng)的操作.
程序是由一系列指令的集合而構(gòu)成的.程序的執(zhí)行就是程序中一條條指令執(zhí)行的全過程.
4.7.2 關(guān)于程序設(shè)計(jì)語(yǔ)言和語(yǔ)言處理程序
計(jì)算機(jī)能自動(dòng)連續(xù)地工作,是由程序控制而實(shí)現(xiàn)的,程序是用程序設(shè)計(jì)語(yǔ)言按任務(wù)的要求事先編寫的.程序設(shè)計(jì)語(yǔ)言按發(fā)展過程分為:機(jī)器語(yǔ)言、匯編語(yǔ)言和高級(jí)語(yǔ)言.
1. 機(jī)器語(yǔ)言
機(jī)器語(yǔ)言是以二進(jìn)制代碼表示的指令的集合,是計(jì)算機(jī)惟一能直接識(shí)別和執(zhí)行的語(yǔ)言.
優(yōu)點(diǎn):占用內(nèi)容少,執(zhí)行速度快.
缺點(diǎn):它是面向機(jī)器的語(yǔ)言,隨機(jī)型而異,通用性差,難閱讀,難記憶,難維護(hù),編程工作量大,易出錯(cuò).
2. 匯編語(yǔ)言
匯編語(yǔ)言是用助記符來(lái)表示機(jī)器指令的語(yǔ)言,也稱符號(hào)語(yǔ)言.
優(yōu)點(diǎn):比機(jī)器語(yǔ)言易學(xué)、易記.
缺點(diǎn):通用性差,隨機(jī)而異.
由于計(jì)算機(jī)只能識(shí)別和執(zhí)行機(jī)器語(yǔ)言,因此,必須用匯編(形容詞)程序(工具軟件)把用匯編(形容詞)語(yǔ)言編寫的源程序翻譯成機(jī)器能識(shí)別和執(zhí)行的二進(jìn)制碼的目標(biāo)程序.這個(gè)翻譯過程稱為匯編(動(dòng)詞).(請(qǐng)注意此段匯編詞性的涵意.)
3.  源程序  
指用高級(jí)語(yǔ)言編寫的程序.
4. 目標(biāo)程序  
指計(jì)算機(jī)可直接執(zhí)行的程序,就是以二進(jìn)制機(jī)器碼指令所組成的程序集合.
5.  編  譯  
將源程序翻譯成目標(biāo)程序,再作些必要的處理,這個(gè)操作過程稱為“編譯”.
全部回復(fù)(12)
正序查看
倒序查看
abing
LV.8
2
2005-11-27 22:37
Thanks a lot.
0
回復(fù)
pastorwei
LV.1
3
2005-12-03 14:21
感謝樓上兄弟啊!
0
回復(fù)
2005-12-06 15:47
@pastorwei
感謝樓上兄弟啊!
謝謝 ,請(qǐng)繼續(xù)
0
回復(fù)
btyouxia
LV.3
5
2005-12-15 08:35
謝謝,好人啊.繼續(xù)!
0
回復(fù)
mymcu
LV.2
6
2006-03-09 14:28
請(qǐng)各位多多支持,后面還有更精彩的.不懂單片機(jī)的,看完后至少能寫個(gè)走馬燈的程序.
0
回復(fù)
bxz8421
LV.1
7
2006-03-12 20:16
@mymcu
請(qǐng)各位多多支持,后面還有更精彩的.不懂單片機(jī)的,看完后至少能寫個(gè)走馬燈的程序.
頂!
0
回復(fù)
2006-03-12 22:47
支持!!!~~~I AM STUDYING NOW.偶是菜鳥哈~~
0
回復(fù)
sunfxji
LV.1
9
2008-03-11 11:16
@zhangj0126
支持!!!~~~IAMSTUDYINGNOW.偶是菜鳥哈~~
我是新來(lái)的:

寫的真精彩通俗易懂
0
回復(fù)
wo0794
LV.2
10
2008-03-12 20:07
0000                  13             ORG     0000H
0000 0133             14             AJMP    START
                      15                    
0033                  16             ORG     0033H
0033                  17     START:  
  00B3                18             DQ      BIT     P3.3
  00A0                19             RS      EQU     P2.0
  00A1                20             RW      EQU     P2.1
  00A2                21             E       EQU     P2.2
  00A6                22             LED8P   EQU     P2.6
  00A7                23             BLA     EQU     P2.7
                      24              
  0080                25             LCD     EQU     P0
  0001                26             DS18B20         BIT     01H
  0002                27             TEMPERRB        BIT     02H
  0003                28             TEMPSBIT        BIT     03H
  0030                29             TEMPFH  EQU     30H     ;溫度符號(hào)位
  0031                30             TEMPBW  EQU     31H     ;溫度"百"位
  0032                31             TEMPSW  EQU     32H     ;溫度"十"位
  0033                32             TEMPGW  EQU     33H     ;溫度"個(gè)"位
  0034                33             TEMPXS1 EQU     34H     ;溫度小飾壞?1"位
  0035                34             TEMPXS2 EQU     35H     ;溫度小飾壞?2"位
  0036                35             TEMPXS3 EQU     36H     ;溫度小飾壞?3"位
  0037                36             TEMPXS4 EQU     37H     ;溫度小飾壞?4"?
  0038                37             TEMPXSD EQU     38H
  0039                38             TEMPZS  EQU     39H
  003A                39             TEMPXS  EQU     3AH
  003B                40             TEMPL   EQU     3BH
  003C                41             TEMPH   EQU     3CH
  003D                42             ID1     EQU     3DH
  003E                43             ID2     EQU     3EH
  003F                44             ID3     EQU     3FH
  0040                45             ID4     EQU     40H
  0041                46             ID5     EQU     41H
  0042                47             ID6     EQU     42H
  0043                48             ID7     EQU     43H
  0044                49             ID8     EQU     44H
  0046                50             DLCD1   EQU     46H
  0047                51             DLCD2   EQU     47H
  0048                52             DLCD3   EQU     48H
  0049                53             DLCD4   EQU     49H
  004A                54             DLCD5   EQU     4AH
  004B                55             DLCD6   EQU     4BH
  004C                56             DLCD7   EQU     4CH
  004D                57             DLCD8   EQU     4DH
  004E                58             DLCD9   EQU     4EH
A51 MACRO ASSEMBLER  LCDTEMP                                                              03/08/2007 03:05:53 PAGE     2

  004F                59             DLCD10  EQU     4FH
  0050                60             DLCD11  EQU     50H
  0051                61             DLCD12  EQU     51H
  0052                62             DLCD13  EQU     52H
  0053                63             DLCD14  EQU     53H
  0054                64             DLCD15  EQU     54H
  0055                65             DLCD16  EQU     55H
                      66                    
                      67     ;---------------------------------------------------------
                      68    
0033 3133             69     MAIN:   ACALL   GETTEMP
0035 200102           70             JB      DS18B20,MAIN1
0038 0133             71             AJMP    MAIN
003A                  72     MAIN1:  
003A C2A6             73             CLR     LED8P           ;開啟事牘芟允?
003C D2A7             74             SETB    BLA             ;關(guān)閉液晶模塊背光
003E 120049           75             LCALL   DISP
0041 120119           76             LCALL   GETROM
0044 120049           77             LCALL   DISP
0047 0133             78             AJMP    MAIN
                      79    
                      80    
                      81     ;-------- 事牘芟允咀映絳?-------
0049 300365           82     DISP:   JNB     TEMPSBIT,ZHWD           ;溫度大于0嗎?
004C 7580BF           83             MOV     P0,#0BFH                ;負(fù)號(hào)
004F C2A0             84             CLR     P2.0
0051 D2A1             85             SETB    P2.1
0053 D2A2             86             SETB    P2.2
0055 D2A3             87             SETB    P2.3
0057 D2A4             88             SETB    P2.4
0059 1202B5           89             LCALL   YS4722U
                      90    
005C E532             91             MOV     A,TEMPSW                ;瘴露認(rèn)允敬?
005E 900298           92             MOV     DPTR,#SGTB
0061 93               93             MOVC    A,@A+DPTR
0062 F580             94             MOV     P0,A
0064 C2A1             95             CLR     P2.1
0066 D2A0             96             SETB    P2.0
0068 D2A2             97             SETB    P2.2
006A D2A3             98             SETB    P2.3
006C D2A4             99             SETB    P2.4
006E 1202B5          100             LCALL   YS4722U
                     101    
0071 E533            102             MOV     A,TEMPGW
0073 900298          103             MOV     DPTR,#SGTB
0076 93              104             MOVC    A,@A+DPTR
0077 547F            105             ANL     A,#01111111B
0079 F580            106             MOV     P0,A
007B C2A2            107             CLR     P2.2
007D D2A0            108             SETB    P2.0
007F D2A1            109             SETB    P2.1
0081 D2A3            110             SETB    P2.3
0083 D2A4            111             SETB    P2.4
0085 1202B5          112             LCALL   YS4722U
                     113    
0088 E534            114             MOV     A,TEMPXS1
008A 900298          115             MOV     DPTR,#SGTB
008D 93              116             MOVC    A,@A+DPTR
008E F580            117             MOV     P0,A
0090 F580            118             MOV     P0,A
0092 C2A3            119             CLR     P2.3
0094 D2A0            120             SETB    P2.0
0096 D2A1            121             SETB    P2.1
0098 D2A2            122             SETB    P2.2
009A D2A4            123             SETB    P2.4
009C 1202B5          124             LCALL   YS4722U
A51 MACRO ASSEMBLER  LCDTEMP                                                              03/08/2007 03:05:53 PAGE     3

                     125    
009F 7446            126             MOV     A,#01000110B
00A1 F580            127             MOV     P0,A
00A3 C2A4            128             CLR     P2.4
00A5 D2A0            129             SETB    P2.0
00A7 D2A1            130             SETB    P2.1
00A9 D2A2            131             SETB    P2.2
00AB D2A3            132             SETB    P2.3
00AD 1202B5          133             LCALL   YS4722U
00B0 22              134             RET
                     135                    
00B1 E532            136     ZHWD:   MOV     A,TEMPSW                ;瘴露認(rèn)允敬?
00B3 900298          137             MOV     DPTR,#SGTB
00B6 93              138             MOVC    A,@A+DPTR
00B7 F580            139             MOV     P0,A
00B9 C2A0            140             CLR     P2.0
00BB D2A1            141             SETB    P2.1
00BD D2A2            142             SETB    P2.2
00BF D2A3            143             SETB    P2.3
00C1 D2A4            144             SETB    P2.4
00C3 1202B5          145             LCALL   YS4722U
                     146    
00C6 E533            147             MOV     A,TEMPGW
00C8 900298          148             MOV     DPTR,#SGTB
00CB 93              149             MOVC    A,@A+DPTR
00CC 547F            150             ANL     A,#01111111B
00CE F580            151             MOV     P0,A
00D0 C2A1            152             CLR     P2.1
00D2 D2A0            153             SETB    P2.0
00D4 D2A2            154             SETB    P2.2
00D6 D2A3            155             SETB    P2.3
00D8 D2A4            156             SETB    P2.4
00DA 1202B5          157             LCALL   YS4722U
                     158    
00DD E534            159             MOV     A,TEMPXS1
00DF 900298          160             MOV     DPTR,#SGTB
00E2 93              161             MOVC    A,@A+DPTR
00E3 F580            162             MOV     P0,A
00E5 C2A2            163             CLR     P2.2
00E7 D2A0            164             SETB    P2.0
00E9 D2A1            165             SETB    P2.1
00EB D2A3            166             SETB    P2.3
00ED D2A4            167             SETB    P2.4
00EF 1202B5          168             LCALL   YS4722U
                     169    
00F2 E535            170             MOV     A,TEMPXS2
00F4 900298          171             MOV     DPTR,#SGTB
00F7 93              172             MOVC    A,@A+DPTR
00F8 F580            173             MOV     P0,A
00FA C2A3            174             CLR     P2.3
00FC D2A0            175             SETB    P2.0
00FE D2A1            176             SETB    P2.1
0100 D2A2            177             SETB    P2.2
0102 D2A4            178             SETB    P2.4
0104 1202B5          179             LCALL   YS4722U
                     180    
0107 7446            181             MOV     A,#01000110B
0109 F580            182             MOV     P0,A
010B C2A4            183             CLR     P2.4
010D D2A0            184             SETB    P2.0
010F D2A1            185             SETB    P2.1
0111 D2A2            186             SETB    P2.2
0113 D2A3            187             SETB    P2.3
0115 1202B5          188             LCALL   YS4722U
0118 22              189             RET
                     190    
A51 MACRO ASSEMBLER  LCDTEMP                                                              03/08/2007 03:05:53 PAGE     4

                     191    
                     192     ;|------------------------------------------------|
                     193     ;| 讀出DS18B20序列號(hào)應(yīng)用程序
                     194     ;|------------------------------------------------|
0119 C2AF            195     GETROM: CLR     EA
011B 1201E1          196             LCALL   INIT18B20
011E 200103          197             JB      DS18B20,GETROM1
0121 D2AF            198             SETB    EA
0123 22              199             RET
0124 7433            200     GETROM1:MOV     A,#33H
0126 120230          201             LCALL   WRITE18B20      ;送入讀DS18B20的ROM命令
0129 7C08            202             MOV     R4,#8           ;從DS18B20中讀出8字節(jié)ROM示?
012B 793D            203             MOV     R1,#ID1
012D 120210          204             LCALL   READ18B20
0130 D2AF            205             SETB    EA
0132 22              206             RET
                     207    
0133 C2AF            208     GETTEMP:CLR     EA
0135 1201E1          209             LCALL   INIT18B20       ;先復(fù)位DS18B20
0138 200103          210             JB      DS18B20,TSS2
013B D2AF            211             SETB    EA
013D 22              212             RET
013E 74CC            213     TSS2:   MOV     A,#0CCH         ; 跳筊OM匹配
0140 120230          214             LCALL   WRITE18B20
0143 7444            215             MOV     A,#44H          ; 發(fā)出溫度轉(zhuǎn)換命令
0145 120230          216             LCALL   WRITE18B20
0148 1202DB          217             LCALL   YS800M          ;延時(shí)0.8S,延時(shí)>750MS
014B 1201E1          218             LCALL   INIT18B20
014E 74CC            219             MOV     A,#0CCH         ;跳筊OM匹配
0150 120230          220             LCALL   WRITE18B20
0153 74BE            221             MOV     A,#0BEH         ;發(fā)出讀溫度命令
0155 120230          222             LCALL   WRITE18B20
0158 7C02            223             MOV     R4,#2           ;從DS18B20中讀出2字節(jié)溫度示?
015A 793B            224             MOV     R1,#TEMPL
015C 120210          225             LCALL   READ18B20       ;讀溫度
                     226            
                     227     ;       MOV     TEMPH,#0FEH
                     228     ;       MOV     TEMPL,#37H
                     229                    
015F D2AF            230             SETB    EA
                     231    
                     232    
0161 75382E          233     DOTEMP: MOV     TEMPXSD,#2EH
0164 E53C            234     TESTS1: MOV     A,TEMPH
0166 54F8            235             ANL     A,#11111000B
0168 B4F80A          236             CJNE    A,#0F8H,TESTS0
016B 7530FF          237             MOV     TEMPFH,#0FFH
016E D203            238             SETB    TEMPSBIT
0170 C202            239             CLR     TEMPERRB
0172 020187          240             LJMP    DOTEMP1
0175 B4000A          241     TESTS0: CJNE    A,#00H,TEMPERR
0178 753000          242             MOV     TEMPFH,#00H
017B C203            243             CLR     TEMPSBIT
017D C202            244             CLR     TEMPERRB
017F 020187          245             LJMP    DOTEMP1
0182                 246     TEMPERR:
0182 D202            247             SETB    TEMPERRB
0184 0201DE          248             LJMP    TEMPRET
0187                 249     DOTEMP1:
0187 300315          250             JNB     TEMPSBIT,DOTEMP2
018A E53C            251             MOV     A,TEMPH
018C F4              252             CPL     A
018D F53C            253             MOV     TEMPH,A
018F E53B            254             MOV     A,TEMPL
0191 F4              255             CPL     A
0192 C3              256             CLR     C
A51 MACRO ASSEMBLER  LCDTEMP                                                              03/08/2007 03:05:53 PAGE     5

0193 2401            257             ADD     A,#1
0195 F53B            258             MOV     TEMPL,A
0197 E53C            259             MOV     A,TEMPH
0199 3400            260             ADDC    A,#00H
019B 5407            261             ANL     A,#00000111B
019D F53C            262             MOV     TEMPH,A
019F                 263     DOTEMP2:
019F E53C            264             MOV     A,TEMPH
01A1 C4              265             SWAP    A
01A2 F53C            266             MOV     TEMPH,A
01A4 E53B            267             MOV     A,TEMPL
01A6 540F            268             ANL     A,#00001111B
01A8 F53A            269             MOV     TEMPXS,A
01AA E53B            270             MOV     A,TEMPL
01AC 54F0            271             ANL     A,#11110000B
01AE C4              272             SWAP    A
01AF A93C            273             MOV     R1,TEMPH
01B1 49              274             ORL     A,R1
01B2 F539            275             MOV     TEMPZS,A
01B4                 276     HBCD:
01B4 E539            277             MOV     A,TEMPZS
01B6 75F064          278             MOV     B,#100
01B9 84              279             DIV     AB
01BA F531            280             MOV     TEMPBW,A
01BC 740A            281             MOV     A,#10
01BE C5F0            282             XCH     A,B
01C0 84              283             DIV     AB
01C1 F532            284             MOV     TEMPSW,A
01C3 E5F0            285             MOV     A,B
01C5 F533            286             MOV     TEMPGW,A
01C7 7A04            287     FLXS:   MOV     R2,#4
01C9 E53A            288             MOV     A,TEMPXS
01CB 540F            289             ANL     A,#00001111B
01CD 75F004          290             MOV     B,#4
01D0 A4              291             MUL     AB
01D1 F9              292             MOV     R1,A
01D2 7834            293             MOV     R0,#TEMPXS1
01D4 900248          294     FLXS1:  MOV     DPTR,#DISPXS
01D7 E9              295             MOV     A,R1
01D8 93              296             MOVC    A,@A+DPTR
01D9 F6              297             MOV     @R0,A
01DA 08              298             INC     R0
01DB 09              299             INC     R1
01DC DAF6            300             DJNZ    R2,FLXS1
                     301                            
01DE                 302     TEMPRET:
01DE D2AF            303             SETB    EA
01E0 22              304             RET
                     305    
                     306     ;-----------------------------------------------------
01E1                 307     INIT18B20:
01E1 D2B3            308             SETB    DQ
01E3 00              309             NOP
01E4 C2B3            310             CLR     DQ
01E6 786B            311             MOV     R0,#107         ;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖[2]
01E8 7903            312             MOV     R1,#3
01EA D8FE            313     TSR1:   DJNZ    R0,TSR1
01EC 786B            314             MOV     R0,#107
01EE D9FA            315             DJNZ    R1,TSR1
01F0 D2B3            316             SETB    DQ
01F2 00              317             NOP
01F3 00              318             NOP
01F4 00              319             NOP
01F5 7825            320             MOV     R0,#25H
01F7 30B304          321     TSR2:   JNB     DQ,TSR3
01FA D8FB            322             DJNZ    R0,TSR2
A51 MACRO ASSEMBLER  LCDTEMP                                                        &nbs
0
回復(fù)
2008-04-30 18:23
@wo0794
0000                  13            ORG    0000H00000133            14            AJMP    START                      15                    0033                  16            ORG    0033H0033                  17    START:    00B3                18            DQ      BIT    P3.3  00A0                19            RS      EQU    P2.0  00A1                20            RW      EQU    P2.1  00A2                21            E      EQU    P2.2  00A6                22            LED8P  EQU    P2.6  00A7                23            BLA    EQU    P2.7                      24                0080                25            LCD    EQU    P0  0001                26            DS18B20        BIT    01H  0002                27            TEMPERRB        BIT    02H  0003                28            TEMPSBIT        BIT    03H  0030                29            TEMPFH  EQU    30H    ;溫度符號(hào)位  0031                30            TEMPBW  EQU    31H    ;溫度"百"位  0032                31            TEMPSW  EQU    32H    ;溫度"十"位  0033                32            TEMPGW  EQU    33H    ;溫度"個(gè)"位  0034                33            TEMPXS1EQU    34H    ;溫度小飾壞?1"位  0035                34            TEMPXS2EQU    35H    ;溫度小飾壞?2"位  0036                35            TEMPXS3EQU    36H    ;溫度小飾壞?3"位  0037                36            TEMPXS4EQU    37H    ;溫度小飾壞?4"?  0038                37            TEMPXSDEQU    38H  0039                38            TEMPZS  EQU    39H  003A                39            TEMPXS  EQU    3AH  003B                40            TEMPL  EQU    3BH  003C                41            TEMPH  EQU    3CH  003D                42            ID1    EQU    3DH  003E                43            ID2    EQU    3EH  003F                44            ID3    EQU    3FH  0040                45            ID4    EQU    40H  0041                46            ID5    EQU    41H  0042                47            ID6    EQU    42H  0043                48            ID7    EQU    43H  0044                49            ID8    EQU    44H  0046                50            DLCD1  EQU    46H  0047                51            DLCD2  EQU    47H  0048                52            DLCD3  EQU    48H  0049                53            DLCD4  EQU    49H  004A                54            DLCD5  EQU    4AH  004B                55            DLCD6  EQU    4BH  004C                56            DLCD7  EQU    4CH  004D                57            DLCD8  EQU    4DH  004E                58            DLCD9  EQU    4EHA51MACROASSEMBLER  LCDTEMP                                                              03/08/200703:05:53PAGE    2  004F                59            DLCD10  EQU    4FH  0050                60            DLCD11  EQU    50H  0051                61            DLCD12  EQU    51H  0052                62            DLCD13  EQU    52H  0053                63            DLCD14  EQU    53H  0054                64            DLCD15  EQU    54H  0055                65            DLCD16  EQU    55H                      66                                          67    ;---------------------------------------------------------                      68    00333133            69    MAIN:  ACALL  GETTEMP0035200102          70            JB      DS18B20,MAIN100380133            71            AJMP    MAIN003A                  72    MAIN1:  003AC2A6            73            CLR    LED8P          ;開啟事牘芟允?003CD2A7            74            SETB    BLA            ;關(guān)閉液晶模塊背光003E120049          75            LCALL  DISP0041120119          76            LCALL  GETROM0044120049          77            LCALL  DISP00470133            78            AJMP    MAIN                      79                          80                          81    ;--------事牘芟允咀映絳?-------0049300365          82    DISP:  JNB    TEMPSBIT,ZHWD          ;溫度大于0嗎?004C7580BF          83            MOV    P0,#0BFH                ;負(fù)號(hào)004FC2A0            84            CLR    P2.00051D2A1            85            SETB    P2.10053D2A2            86            SETB    P2.20055D2A3            87            SETB    P2.30057D2A4            88            SETB    P2.400591202B5          89            LCALL  YS4722U                      90    005CE532            91            MOV    A,TEMPSW                ;瘴露認(rèn)允敬?005E900298          92            MOV    DPTR,#SGTB006193              93            MOVC    A,@A+DPTR0062F580            94            MOV    P0,A0064C2A1            95            CLR    P2.10066D2A0            96            SETB    P2.00068D2A2            97            SETB    P2.2006AD2A3            98            SETB    P2.3006CD2A4            99            SETB    P2.4006E1202B5          100            LCALL  YS4722U                    101    0071E533            102            MOV    A,TEMPGW0073900298          103            MOV    DPTR,#SGTB007693              104            MOVC    A,@A+DPTR0077547F            105            ANL    A,#01111111B0079F580            106            MOV    P0,A007BC2A2            107            CLR    P2.2007DD2A0            108            SETB    P2.0007FD2A1            109            SETB    P2.10081D2A3            110            SETB    P2.30083D2A4            111            SETB    P2.400851202B5          112            LCALL  YS4722U                    113    0088E534            114            MOV    A,TEMPXS1008A900298          115            MOV    DPTR,#SGTB008D93              116            MOVC    A,@A+DPTR008EF580            117            MOV    P0,A0090F580            118            MOV    P0,A0092C2A3            119            CLR    P2.30094D2A0            120            SETB    P2.00096D2A1            121            SETB    P2.10098D2A2            122            SETB    P2.2009AD2A4            123            SETB    P2.4009C1202B5          124            LCALL  YS4722UA51MACROASSEMBLER  LCDTEMP                                                              03/08/200703:05:53PAGE    3                    125    009F7446            126            MOV    A,#01000110B00A1F580            127            MOV    P0,A00A3C2A4            128            CLR    P2.400A5D2A0            129            SETB    P2.000A7D2A1            130            SETB    P2.100A9D2A2            131            SETB    P2.200ABD2A3            132            SETB    P2.300AD1202B5          133            LCALL  YS4722U00B022              134            RET                    135                    00B1E532            136    ZHWD:  MOV    A,TEMPSW                ;瘴露認(rèn)允敬?00B3900298          137            MOV    DPTR,#SGTB00B693              138            MOVC    A,@A+DPTR00B7F580            139            MOV    P0,A00B9C2A0            140            CLR    P2.000BBD2A1            141            SETB    P2.100BDD2A2            142            SETB    P2.200BFD2A3            143            SETB    P2.300C1D2A4            144            SETB    P2.400C31202B5          145            LCALL  YS4722U                    146    00C6E533            147            MOV    A,TEMPGW00C8900298          148            MOV    DPTR,#SGTB00CB93              149            MOVC    A,@A+DPTR00CC547F            150            ANL    A,#01111111B00CEF580            151            MOV    P0,A00D0C2A1            152            CLR    P2.100D2D2A0            153            SETB    P2.000D4D2A2            154            SETB    P2.200D6D2A3            155            SETB    P2.300D8D2A4            156            SETB    P2.400DA1202B5          157            LCALL  YS4722U                    158    00DDE534            159            MOV    A,TEMPXS100DF900298          160            MOV    DPTR,#SGTB00E293              161            MOVC    A,@A+DPTR00E3F580            162            MOV    P0,A00E5C2A2            163            CLR    P2.200E7D2A0            164            SETB    P2.000E9D2A1            165            SETB    P2.100EBD2A3            166            SETB    P2.300EDD2A4            167            SETB    P2.400EF1202B5          168            LCALL  YS4722U                    169    00F2E535            170            MOV    A,TEMPXS200F4900298          171            MOV    DPTR,#SGTB00F793              172            MOVC    A,@A+DPTR00F8F580            173            MOV    P0,A00FAC2A3            174            CLR    P2.300FCD2A0            175            SETB    P2.000FED2A1            176            SETB    P2.10100D2A2            177            SETB    P2.20102D2A4            178            SETB    P2.401041202B5          179            LCALL  YS4722U                    180    01077446            181            MOV    A,#01000110B0109F580            182            MOV    P0,A010BC2A4            183            CLR    P2.4010DD2A0            184            SETB    P2.0010FD2A1            185            SETB    P2.10111D2A2            186            SETB    P2.20113D2A3            187            SETB    P2.301151202B5          188            LCALL  YS4722U011822              189            RET                    190    A51MACROASSEMBLER  LCDTEMP                                                              03/08/200703:05:53PAGE    4                    191                        192    ;|------------------------------------------------|                    193    ;|讀出DS18B20序列號(hào)應(yīng)用程序                    194    ;|------------------------------------------------|0119C2AF            195    GETROM:CLR    EA011B1201E1          196            LCALL  INIT18B20011E200103          197            JB      DS18B20,GETROM10121D2AF            198            SETB    EA012322              199            RET01247433            200    GETROM1:MOV    A,#33H0126120230          201            LCALL  WRITE18B20      ;送入讀DS18B20的ROM命令01297C08            202            MOV    R4,#8          ;從DS18B20中讀出8字節(jié)ROM示?012B793D            203            MOV    R1,#ID1012D120210          204            LCALL  READ18B200130D2AF            205            SETB    EA013222              206            RET                    207    0133C2AF            208    GETTEMP:CLR    EA01351201E1          209            LCALL  INIT18B20      ;先復(fù)位DS18B200138200103          210            JB      DS18B20,TSS2013BD2AF            211            SETB    EA013D22              212            RET013E74CC            213    TSS2:  MOV    A,#0CCH        ;跳筊OM匹配0140120230          214            LCALL  WRITE18B2001437444            215            MOV    A,#44H          ;發(fā)出溫度轉(zhuǎn)換命令0145120230          216            LCALL  WRITE18B2001481202DB          217            LCALL  YS800M          ;延時(shí)0.8S,延時(shí)>750MS014B1201E1          218            LCALL  INIT18B20014E74CC            219            MOV    A,#0CCH        ;跳筊OM匹配0150120230          220            LCALL  WRITE18B20015374BE            221            MOV    A,#0BEH        ;發(fā)出讀溫度命令0155120230          222            LCALL  WRITE18B2001587C02            223            MOV    R4,#2          ;從DS18B20中讀出2字節(jié)溫度示?015A793B            224            MOV    R1,#TEMPL015C120210          225            LCALL  READ18B20      ;讀溫度                    226                                227    ;      MOV    TEMPH,#0FEH                    228    ;      MOV    TEMPL,#37H                    229                    015FD2AF            230            SETB    EA                    231                        232    016175382E          233    DOTEMP:MOV    TEMPXSD,#2EH0164E53C            234    TESTS1:MOV    A,TEMPH016654F8            235            ANL    A,#11111000B0168B4F80A          236            CJNE    A,#0F8H,TESTS0016B7530FF          237            MOV    TEMPFH,#0FFH016ED203            238            SETB    TEMPSBIT0170C202            239            CLR    TEMPERRB0172020187          240            LJMP    DOTEMP10175B4000A          241    TESTS0:CJNE    A,#00H,TEMPERR0178753000          242            MOV    TEMPFH,#00H017BC203            243            CLR    TEMPSBIT017DC202            244            CLR    TEMPERRB017F020187          245            LJMP    DOTEMP10182                246    TEMPERR:0182D202            247            SETB    TEMPERRB01840201DE          248            LJMP    TEMPRET0187                249    DOTEMP1:0187300315          250            JNB    TEMPSBIT,DOTEMP2018AE53C            251            MOV    A,TEMPH018CF4              252            CPL    A018DF53C            253            MOV    TEMPH,A018FE53B            254            MOV    A,TEMPL0191F4              255            CPL    A0192C3              256            CLR    CA51MACROASSEMBLER  LCDTEMP                                                              03/08/200703:05:53PAGE    501932401            257            ADD    A,#10195F53B            258            MOV    TEMPL,A0197E53C            259            MOV    A,TEMPH01993400            260            ADDC    A,#00H019B5407            261            ANL    A,#00000111B019DF53C            262            MOV    TEMPH,A019F                263    DOTEMP2:019FE53C            264            MOV    A,TEMPH01A1C4              265            SWAP    A01A2F53C            266            MOV    TEMPH,A01A4E53B            267            MOV    A,TEMPL01A6540F            268            ANL    A,#00001111B01A8F53A            269            MOV    TEMPXS,A01AAE53B            270            MOV    A,TEMPL01AC54F0            271            ANL    A,#11110000B01AEC4              272            SWAP    A01AFA93C            273            MOV    R1,TEMPH01B149              274            ORL    A,R101B2F539            275            MOV    TEMPZS,A01B4                276    HBCD:01B4E539            277            MOV    A,TEMPZS01B675F064          278            MOV    B,#10001B984              279            DIV    AB01BAF531            280            MOV    TEMPBW,A01BC740A            281            MOV    A,#1001BEC5F0            282            XCH    A,B01C084              283            DIV    AB01C1F532            284            MOV    TEMPSW,A01C3E5F0            285            MOV    A,B01C5F533            286            MOV    TEMPGW,A01C77A04            287    FLXS:  MOV    R2,#401C9E53A            288            MOV    A,TEMPXS01CB540F            289            ANL    A,#00001111B01CD75F004          290            MOV    B,#401D0A4              291            MUL    AB01D1F9              292            MOV    R1,A01D27834            293            MOV    R0,#TEMPXS101D4900248          294    FLXS1:  MOV    DPTR,#DISPXS01D7E9              295            MOV    A,R101D893              296            MOVC    A,@A+DPTR01D9F6              297            MOV    @R0,A01DA08              298            INC    R001DB09              299            INC    R101DCDAF6            300            DJNZ    R2,FLXS1                    301                            01DE                302    TEMPRET:01DED2AF            303            SETB    EA01E022              304            RET                    305                        306    ;-----------------------------------------------------01E1                307    INIT18B20:01E1D2B3            308            SETB    DQ01E300              309            NOP01E4C2B3            310            CLR    DQ01E6786B            311            MOV    R0,#107        ;主機(jī)發(fā)出延時(shí)537微秒的復(fù)位低脈沖[2]01E87903            312            MOV    R1,#301EAD8FE            313    TSR1:  DJNZ    R0,TSR101EC786B            314            MOV    R0,#10701EED9FA            315            DJNZ    R1,TSR101F0D2B3            316            SETB    DQ01F200              317            NOP01F300              318            NOP01F400              319            NOP01F57825            320            MOV    R0,#25H01F730B304          321    TSR2:  JNB    DQ,TSR301FAD8FB            322            DJNZ    R0,TSR2A51MACROASSEMBLER  LCDTEMP                                                        &nbs
我有大量學(xué)習(xí)資料全是視頻講課逢送大家有需要者請(qǐng)盡快13116568786主要嵌入式系統(tǒng)講座,數(shù)控機(jī)床技術(shù),單片機(jī)視頻,C語(yǔ)言,計(jì)算機(jī)接口,集成電路設(shè)計(jì),數(shù)字信號(hào)處理,數(shù)字電路設(shè)計(jì)基礎(chǔ),模擬電路設(shè)計(jì),人工智能,射頻模擬接口,電路分析基礎(chǔ),單片機(jī)應(yīng)用,EDA,電路分析,計(jì)算機(jī)硬件,模擬電路入門,網(wǎng)寬,看懂各類電路圖紙,無(wú)線電全集,電視機(jī)手機(jī)維修視頻講座,電工電子傳感器等應(yīng)用資料,DSP視頻教程,PLC視頻教程,觸摸屏學(xué)習(xí)手冊(cè)及軟件,還有我新開發(fā)的15KW電磁加熱技術(shù)買斷轉(zhuǎn)讓價(jià)為1萬(wàn)元.以上學(xué)習(xí)資料全為多媒體電腦視頻光盤.每門課均在40左右節(jié)課程.有需要者只需付材料和快遞費(fèi)50元即可.
0
回復(fù)
yuly1
LV.4
12
2008-05-18 12:58
@自學(xué)成才
我有大量學(xué)習(xí)資料全是視頻講課逢送大家有需要者請(qǐng)盡快13116568786主要嵌入式系統(tǒng)講座,數(shù)控機(jī)床技術(shù),單片機(jī)視頻,C語(yǔ)言,計(jì)算機(jī)接口,集成電路設(shè)計(jì),數(shù)字信號(hào)處理,數(shù)字電路設(shè)計(jì)基礎(chǔ),模擬電路設(shè)計(jì),人工智能,射頻模擬接口,電路分析基礎(chǔ),單片機(jī)應(yīng)用,EDA,電路分析,計(jì)算機(jī)硬件,模擬電路入門,網(wǎng)寬,看懂各類電路圖紙,無(wú)線電全集,電視機(jī)手機(jī)維修視頻講座,電工電子傳感器等應(yīng)用資料,DSP視頻教程,PLC視頻教程,觸摸屏學(xué)習(xí)手冊(cè)及軟件,還有我新開發(fā)的15KW電磁加熱技術(shù)買斷轉(zhuǎn)讓價(jià)為1萬(wàn)元.以上學(xué)習(xí)資料全為多媒體電腦視頻光盤.每門課均在40左右節(jié)課程.有需要者只需付材料和快遞費(fèi)50元即可.
很好!
0
回復(fù)
pangxie84
LV.3
13
2008-05-28 19:34
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/65/237761211974479.jpg');}" onmousewheel="return imgzoom(this);">
0
回復(fù)
發(fā)