亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

第二次改模確認(rèn)后可以小批試廠

  • 單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載

    單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開(kāi)始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫(xiě)進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆?,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫(xiě)指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫(xiě)的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類(lèi)指令開(kāi)始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫(xiě)了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類(lèi)指令中,均將目的地寫(xiě)在指令的后面,而將源寫(xiě)在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫(xiě)的: MAIN: SETB P1.0    ?。唬ǎ保?   LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN   ??;(5) ;以下子程序 DELAY: MOV R7,#250  ??;(6) D1: MOV R6,#250  ??;(7) D2: DJNZ R6,D2   ?。唬ǎ福?   DJNZ R7,D1  ??;(9)    RET       ?。唬ǎ保埃?   END       ??;(11)     表1  MAIN: SETB P1.0    ?。唬ǎ保?   MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY  ??;(4)     AJMP MAIN   ?。唬ǎ担?;以下子程序 DELAY: MOV R7,30H  ??;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2   ??;(8)    DJNZ R7,D1   ;(9)    RET       ??;(10)    END        ;(11) 表2    這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開(kāi)始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫(xiě)完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫(xiě)上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫(xiě)在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫(xiě)在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開(kāi)始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類(lèi)指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。

    標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)

    上傳時(shí)間: 2013-10-13

    上傳用戶:3294322651

  • PCtoLCD2002完美版_漢字字模生成軟件

    更新說(shuō)明:   1。界面采用新的字體,不會(huì)再有那種難看的黑色粗體字,比以前的要漂亮多了。   2。加入全面的提示幫助,盡量減少普通用戶的各種疑惑。   3。修正生成文件的擴(kuò)展名的一些BUG,不會(huì)總是加上FON的擴(kuò)展名了。   4。修正生成字模數(shù)據(jù)的一些格式BUG,現(xiàn)在生成的C51格式字模數(shù)據(jù)基本上可以直接粘貼到源程序中使用而不需要修改了   5。加入新的字模數(shù)據(jù)格式調(diào)整項(xiàng),允許用戶更自由的定制自己需要的數(shù)據(jù)格式   6。最重要的更新:全面支持保存當(dāng)前設(shè)置功能,用戶設(shè)置的字模格式,主窗口狀態(tài)和字庫(kù)生成窗口選項(xiàng)信息均可保存,下一次打開(kāi)窗口時(shí)不用重新設(shè)置(由于要全面更改程序使用的變量結(jié)構(gòu),所以這部分化了很多時(shí)間)。   7。修正了新建圖象時(shí)會(huì)自動(dòng)跳到圖形模式的BUG   8。增加輸出緊湊格式數(shù)據(jù)選項(xiàng),可以生成不包含空白行的字模數(shù)據(jù)。   9。完善了每行數(shù)據(jù)顯示個(gè)數(shù)的功能,可以任意設(shè)置每行顯示的數(shù)據(jù)個(gè)數(shù),并同時(shí)可以設(shè)置每行索引數(shù)據(jù)顯示個(gè)數(shù)。   10。修正了取模說(shuō)明的一些錯(cuò)誤,并改動(dòng)了格式。   11?,F(xiàn)在當(dāng)用戶選擇10進(jìn)制輸出時(shí),會(huì)自動(dòng)去掉生成字模數(shù)據(jù)前的“0x",或后面的“H”,選擇16進(jìn)制時(shí)則會(huì)自動(dòng)加上。   12。對(duì)各個(gè)窗體重新設(shè)計(jì)以全面適應(yīng)最大化的需要,如果您覺(jué)得當(dāng)前窗口不夠大,可以最大化使用。   13。增加生成英文點(diǎn)陣字庫(kù)功能,可自動(dòng)生成ASCII碼從0-127的任意點(diǎn)陣字庫(kù),使用方法同生成國(guó)標(biāo)點(diǎn)陣字庫(kù)功能。   14。再次優(yōu)化代碼,去掉各種調(diào)試信息,使程序速度再快一些。   15。還有一些細(xì)微的調(diào)整我記不清了…… 需要注意的地方:  在測(cè)試的過(guò)程中我發(fā)現(xiàn)了一個(gè)問(wèn)題:在WIN98或WINME下當(dāng)用戶需要生成特大點(diǎn)陣的字模時(shí)(例如320*320,1024*768的漢字字模),此時(shí)由于數(shù)據(jù)量非常龐大,而WIN98/WINME會(huì)有64K的數(shù)據(jù)容量限制,所以在主窗口中是無(wú)法得到全部的字模數(shù)據(jù)的,這時(shí)您需要使用字庫(kù)生成功能,通過(guò)形成一個(gè)數(shù)據(jù)文件才能得到完整的字模數(shù)據(jù)。   另外生成特大字模時(shí)如果出現(xiàn)“內(nèi)存不足”的提示,請(qǐng)把液晶仿真面板的像素點(diǎn)改小一些,這樣可以節(jié)省內(nèi)存。

    標(biāo)簽: PCtoLCD 2002 漢字 字模生成

    上傳時(shí)間: 2013-10-17

    上傳用戶:fengzimili

  • Linux下的usb無(wú)線網(wǎng)卡驅(qū)動(dòng)程序源碼(下載后請(qǐng)將名稱改為atmelwlandriver-3.3.5.5.tar.bz2

    Linux下的usb無(wú)線網(wǎng)卡驅(qū)動(dòng)程序源碼(下載后請(qǐng)將名稱改為atmelwlandriver-3.3.5.5.tar.bz2,然后可以解壓使用)

    標(biāo)簽: atmelwlandriver Linux usb tar

    上傳時(shí)間: 2015-03-01

    上傳用戶:bruce

  • 由于簡(jiǎn)單模式匹配算法在一次字符比較失敗后

    由于簡(jiǎn)單模式匹配算法在一次字符比較失敗后,簡(jiǎn)單的把模式串位置向前移動(dòng)一個(gè)字符位置,這樣就丟掉了前面字符匹配中得到的信息,效率差。所以就需要一種無(wú)回溯的算法來(lái)提高效率,這里使用KMP(Knuth-Morris-Pratt)算法。模式串前面的連續(xù)片斷部分稱“前綴模式”,前綴模式在模式串后部重復(fù)出現(xiàn)的情況可以用來(lái)避免重復(fù)進(jìn)行已經(jīng)做過(guò)的檢查,這是KMP算法中的一個(gè)重要概念。

    標(biāo)簽: 模式匹配 字符 算法 比較

    上傳時(shí)間: 2015-03-21

    上傳用戶:lizhen9880

  • 此程序用提升法實(shí)現(xiàn)第二代小波變換 我用的是非整數(shù)階小波變換 采用時(shí)域?qū)崿F(xiàn),步驟先列后行 正變換:分裂

    此程序用提升法實(shí)現(xiàn)第二代小波變換 我用的是非整數(shù)階小波變換 采用時(shí)域?qū)崿F(xiàn),步驟先列后行 正變換:分裂,預(yù)測(cè),更新; 反變換:更新,預(yù)測(cè),合并 只做一層(可以多層,而且每層的預(yù)測(cè)和更新方程不同)

    標(biāo)簽: 小波變換 程序 變換

    上傳時(shí)間: 2015-05-10

    上傳用戶:shawvi

  • 此程序用提升法實(shí)現(xiàn)第二代小波變換 %% 我用的是非整數(shù)階小波變換 %% 采用時(shí)域?qū)崿F(xiàn),步驟先列后行 %% 正變換:分裂

    此程序用提升法實(shí)現(xiàn)第二代小波變換 %% 我用的是非整數(shù)階小波變換 %% 采用時(shí)域?qū)崿F(xiàn),步驟先列后行 %% 正變換:分裂,預(yù)測(cè),更新; %% 反變換:更新,預(yù)測(cè),合并 %% 只做一層(可以多層,而且每層的預(yù)測(cè)和更新方程不同)

    標(biāo)簽: 小波變換 程序 變換

    上傳時(shí)間: 2013-12-08

    上傳用戶:jyycc

  • 實(shí)現(xiàn)乘法后取模運(yùn)算

    實(shí)現(xiàn)乘法后取模運(yùn)算,已調(diào)試好的??梢詰?yīng)用在通信加解密算法中

    標(biāo)簽: 乘法 取模 運(yùn)算

    上傳時(shí)間: 2015-10-25

    上傳用戶:leixinzhuo

  • 利用giveio實(shí)現(xiàn)在windows下直接訪問(wèn)pci卡的程序.安裝giveio后,將源代碼中的pci的venderid和deviceid改為自己pci卡的id號(hào),就能夠在widows下得到自己pci卡

    利用giveio實(shí)現(xiàn)在windows下直接訪問(wèn)pci卡的程序.安裝giveio后,將源代碼中的pci的venderid和deviceid改為自己pci卡的id號(hào),就能夠在widows下得到自己pci卡的基地址,在giveio運(yùn)行的條件下可以直接對(duì)pci的io端口進(jìn)行操作!

    標(biāo)簽: pci giveio deviceid venderid

    上傳時(shí)間: 2013-12-24

    上傳用戶:gaojiao1999

  • rsa加密過(guò)程中需要大數(shù)的冪運(yùn)算后求模

    rsa加密過(guò)程中需要大數(shù)的冪運(yùn)算后求模,本程序即計(jì)算a的b次方的結(jié)果對(duì)c求模,其中a,b,c均為大自然數(shù),編寫(xiě)rsa加密的朋友可以作為參考(其實(shí)就是rsa的精華)

    標(biāo)簽: rsa 加密 過(guò)程

    上傳時(shí)間: 2013-12-27

    上傳用戶:myworkpost

  • AR模型的Burg算法的matlab程序! 只要把程序里面的K的值改為所求問(wèn)題的階次

    AR模型的Burg算法的matlab程序! 只要把程序里面的K的值改為所求問(wèn)題的階次,把x改成所求問(wèn)題的數(shù)據(jù)矢量就可以非常方便的求出Burg算法的AR模型的參數(shù)!

    標(biāo)簽: matlab Burg 程序 AR模型

    上傳時(shí)間: 2016-03-25

    上傳用戶:zyt

主站蜘蛛池模板: 云阳县| 平顺县| 建平县| 左权县| 和林格尔县| 江川县| 凤阳县| 星座| 东乌珠穆沁旗| 筠连县| 沁阳市| 呼玛县| 若羌县| 东乌珠穆沁旗| 长岭县| 成都市| 双峰县| 濉溪县| 宕昌县| 乌兰浩特市| 永宁县| 杭锦旗| 大新县| 筠连县| 新安县| 菏泽市| 江津市| 合江县| 翼城县| 呼玛县| 台南县| 佛冈县| 潜山县| 南江县| 双桥区| 长沙县| 尼勒克县| 商丘市| 蚌埠市| 大渡口区| 雷州市|