327 單片機(jī)原理及應(yīng)用328 MCS-51單片機(jī)原理及實(shí)用技術(shù)329 位微型計(jì)算機(jī)原理·接口技術(shù)及其應(yīng)用330 單片機(jī)開(kāi)發(fā)與典型應(yīng)用設(shè)計(jì)331 單片機(jī)實(shí)用系統(tǒng)設(shè)計(jì)技術(shù)332 IBM PC微型計(jì)算機(jī)原理及接口技術(shù)333 MCS-51單片機(jī)原理及接口技術(shù) 修訂版334 北京職業(yè)教育計(jì)算機(jī)應(yīng)用培訓(xùn)教材 單片機(jī)——原理·操作·實(shí)驗(yàn)·應(yīng)用335 單片機(jī)實(shí)用技術(shù)_整機(jī)設(shè)計(jì)、多機(jī)通信、實(shí)用技術(shù)336 EM78系列單片機(jī)簡(jiǎn)介337 單片機(jī)器件應(yīng)用手冊(cè)338 MCS 96 MC68單片機(jī)原理與應(yīng)用339 數(shù)字PID及其算法699 MCS-51單片機(jī)開(kāi)發(fā)系統(tǒng)與監(jiān)控分析700 MCS-51單片機(jī)原理及接口技術(shù)701 MCS-51系列單片機(jī)實(shí)用接口技術(shù)702 PC機(jī)及單片機(jī)數(shù)據(jù)通信技術(shù)703 PIC系列單片機(jī)應(yīng)用設(shè)計(jì)與實(shí)例704 單片機(jī)外圍器件實(shí)用手冊(cè) 電源器件分冊(cè)705 單片機(jī)基礎(chǔ)706 單片機(jī)模糊控制系統(tǒng)設(shè)計(jì)與應(yīng)用實(shí)例707 單片機(jī)器件應(yīng)用手冊(cè)708 單片機(jī)實(shí)用開(kāi)發(fā)指南709 單片機(jī)應(yīng)用技術(shù)大全710 單片機(jī)應(yīng)用系統(tǒng)抗干擾技術(shù)711 單片機(jī)應(yīng)用技術(shù)選編712 單片機(jī)原理及系統(tǒng)設(shè)計(jì)713 單片機(jī)原理與應(yīng)用教程714 數(shù)字信號(hào)處理C語(yǔ)言程序集715 單片機(jī)接口技術(shù)實(shí)驗(yàn)指導(dǎo)716 信號(hào)處理單片機(jī)及應(yīng)用(上)717 信號(hào)處理單片機(jī)及應(yīng)用(下)718 智能儀器(單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì))719 自裝單片微電腦快速入門720 8051單片機(jī)實(shí)踐與應(yīng)用741 邊學(xué)邊用C語(yǔ)言
上傳時(shí)間: 2014-04-05
上傳用戶:q986086481
計(jì)算機(jī)的指令系統(tǒng)是表征計(jì)算機(jī)性能的重要指標(biāo),每種計(jì)算機(jī)都有自己的指令系統(tǒng)。MCS—51單片機(jī)的指令系統(tǒng)是一個(gè)具有255種代碼的集合,絕大多數(shù)指令包含兩個(gè)基本部分:操作碼和操作數(shù)。操作碼表明指令要執(zhí)行的操作的性質(zhì);操作數(shù)說(shuō)明參與操作的數(shù)據(jù)或數(shù)據(jù)所存放的地址。MCS—51指令系統(tǒng)中所有程序指令是以機(jī)器語(yǔ)言形式表示,可分為單字節(jié)、雙字節(jié)、三字節(jié)3種格式。用二進(jìn)制編碼表示的機(jī)器語(yǔ)言由于閱讀困難,且難以記憶。因此在微機(jī)控制系統(tǒng)中采用匯編語(yǔ)言指令來(lái)編寫程序。本章介紹MCS—51指令系統(tǒng)就是以匯編語(yǔ)言來(lái)描述的。 一條匯編語(yǔ)言指令中最多包含4個(gè)區(qū)段,如下所示: 標(biāo)號(hào): 操作碼目的操作數(shù),源源操作數(shù);注釋 標(biāo)號(hào)與操作碼之間“:”隔開(kāi); 操作碼與操作數(shù)之間用“空格”隔開(kāi); 目的操作數(shù)和源源操作數(shù)之間有“,”分隔; 操作數(shù)與注釋之間用“;”隔開(kāi)。 標(biāo)號(hào)是由用戶定義的符號(hào)組成,必須用英文大寫字母開(kāi)始。標(biāo)號(hào)可有可無(wú),若一條指令中有標(biāo)號(hào),標(biāo)號(hào)代表該指令所存放的第一個(gè)字節(jié)存儲(chǔ)單元的地址,故標(biāo)號(hào)又稱為符號(hào)地址,在匯編時(shí),把該地址賦值給標(biāo)號(hào)。 操作碼是指令的功能部分,不能缺省。MCS—51指令系統(tǒng)中共有42種助記符,代表了33種不同的功能。例如MOV是數(shù)據(jù)傳送的助記符。 操作數(shù)是指令要操作的數(shù)據(jù)信息。根據(jù)指令的不同功能,操作數(shù)的個(gè)數(shù)有3、2、1或沒(méi)有操作數(shù)。例如MOV A,#20H,包含了兩個(gè)操作數(shù)A和#20H,它們之間用“,”隔開(kāi)。注釋可有可無(wú),加入注釋主要為了便于閱讀,程序設(shè)計(jì)者對(duì)指令或程序段作簡(jiǎn)要的功能說(shuō)明,在閱讀程序或調(diào)試程序時(shí)將會(huì)帶來(lái)很多方便。
標(biāo)簽: 8051 指令系統(tǒng) 單片機(jī) 計(jì)算機(jī)
上傳時(shí)間: 2013-11-04
上傳用戶:kr770906
單片機(jī)指令系統(tǒng) 3.1 MCS-51指令簡(jiǎn)介 3.2 指令系統(tǒng) 3.1 MCS-51指令簡(jiǎn)介 二、MCS-51系列單片機(jī)指令系統(tǒng)分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數(shù)據(jù)傳送指令位操 2、直接尋址 2、算術(shù)運(yùn)算指令 3、寄存器尋址 3、邏輯運(yùn)算指令 4、寄存器間接尋址指令 4、控制轉(zhuǎn)移類指令 5、相對(duì)尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數(shù)是通過(guò)寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數(shù)在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數(shù)的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號(hào)說(shuō)明 Rn——當(dāng)前寄存器區(qū)的8個(gè)工作寄存器R0~R7(n=0~7); Ri——當(dāng)前寄存器區(qū)可作地址寄存器的2個(gè)工作寄存器R0和R1(i=0,1); direct——8位內(nèi)部數(shù)據(jù)存儲(chǔ)器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(shù)(立即數(shù)); #datal6——表示16位常數(shù); add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號(hào)的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號(hào)中單元的內(nèi)容 (( ))——表示間接尋址的內(nèi)容; 五、MCS-51指令簡(jiǎn)介 1. 以累加器A為目的操作數(shù)的指令 2. 以Rn為目的操作數(shù)的指令 3. 以直接地址為目的操作數(shù)的指令 4. 以寄存器間接地址為目的操作數(shù)指令 應(yīng)用舉例1 8段數(shù)碼管顯示 應(yīng)用舉例2 3.2 指令系統(tǒng) 2、堆棧操作指令 3. 累加器A與外部數(shù)據(jù)傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節(jié)交換指令 6. 半字節(jié)交換指令 二、算術(shù)操作類指令 PSW寄存器 2. 帶進(jìn)位加法指令 3. 加1指令 4. 十進(jìn)制調(diào)整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運(yùn)算指令 1. 簡(jiǎn)單邏輯操作指令 2. 循環(huán)指令 帶進(jìn)位左循環(huán)指令(Rotate Accumulator Left through Carry flag) 右循環(huán)指令(Rotate Accumulator Right) 帶進(jìn)位右循環(huán)指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉(zhuǎn)移類指令 1. 跳轉(zhuǎn)指令 相對(duì)轉(zhuǎn)移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標(biāo)號(hào)與地址之間的關(guān)系 2. 條件轉(zhuǎn)移指令 3. 比較不相等轉(zhuǎn)移指令 4. 減 1 不為 0 轉(zhuǎn)移指令 5. 調(diào)用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數(shù)據(jù)位傳送指令 2. 位變量邏輯指令 3. 條件轉(zhuǎn)移類指令
標(biāo)簽: 單片機(jī) 指令系統(tǒng)
上傳時(shí)間: 2013-10-27
上傳用戶:xuanjie
含原理圖+電路圖+程序的波形發(fā)生器:在工作中,我們常常會(huì)用到波形發(fā)生器,它是使用頻度很高的電子儀器。現(xiàn)在的波形發(fā)生器都采用單片機(jī)來(lái)構(gòu)成。單片機(jī)波形發(fā)生器是以單片機(jī)核心,配相應(yīng)的外圍電路和功能軟件,能實(shí)現(xiàn)各種波形發(fā)生的應(yīng)用系統(tǒng),它由硬件部分和軟件部分組成,硬件是系統(tǒng)的基礎(chǔ),軟件則是在硬件的基礎(chǔ)上,對(duì)其合理的調(diào)配和使用,從而完成波形發(fā)生的任務(wù)。 波形發(fā)生器的技術(shù)指標(biāo):(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設(shè)計(jì)1、 機(jī)器通電后,系統(tǒng)進(jìn)行初始化,LED在面板上顯示6個(gè)0,表示系統(tǒng)處于初始狀態(tài),等待用戶輸入設(shè)置命令,此時(shí),無(wú)任何波形信號(hào)輸出。2、 用戶按下“F”、“V”、“W”,可以分別進(jìn)入頻率,幅值波形設(shè)置,使系統(tǒng)進(jìn)入設(shè)置狀態(tài),相應(yīng)的數(shù)碼管顯示“一”,此時(shí),按其它鍵,無(wú)效;3、 在進(jìn)入某一設(shè)置狀態(tài)后,輸入0~9等數(shù)字鍵,(數(shù)字鍵僅在設(shè)置狀態(tài)時(shí),有效)為欲輸出的波形設(shè)置相應(yīng)參數(shù),LED將參數(shù)顯示在面板上;4、 如果在設(shè)置中,要改變已設(shè)定的參數(shù),可按下“CL”鍵,清除所有已設(shè)定參數(shù),系統(tǒng)恢復(fù)初始狀態(tài),LED顯示6個(gè)0,等待重新輸入命令;5、 當(dāng)必要的參數(shù)設(shè)定完畢后,所有參數(shù)顯示于LED上,用戶按下“EN”鍵,系統(tǒng)會(huì)將各波形參數(shù)傳遞到波形產(chǎn)生模塊中,以便控制波形發(fā)生,實(shí)現(xiàn)不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發(fā)生器開(kāi)始輸出滿足參數(shù)的波形信號(hào),面板上相應(yīng)類型的運(yùn)行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號(hào),頻率值、電壓幅值等波形參數(shù);7、 波形發(fā)生器在輸出信號(hào)時(shí),按下任意一個(gè)鍵,就停止波形信號(hào)輸出,等待重新設(shè)置參數(shù),設(shè)置過(guò)程如上所述,如果不改變參數(shù),可按下“EN”鍵,繼續(xù)輸出原波形信號(hào);8、 要停止波形發(fā)生器的使用,可按下復(fù)位按鈕,將系統(tǒng)復(fù)位,然后關(guān)閉電源。硬件組成部分通過(guò)綜合比較,決定選用獲得廣泛應(yīng)用,性能價(jià)格高的常用芯片來(lái)構(gòu)成硬件電路。單片機(jī)采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅(qū)動(dòng)器 ULN2803A(一塊),運(yùn)算放大器 LM324(一塊) 波形發(fā)生器的硬件電路由單片機(jī)、鍵盤顯示器接口電路、波形轉(zhuǎn)換(D/ A)電路和電源線路等四部分構(gòu)成。1.單片機(jī)電路功能:形成掃描碼,鍵值識(shí)別,鍵功能處理,完成參數(shù)設(shè)置;形成顯示段碼,向LED顯示接口電路輸出;產(chǎn)生定時(shí)中斷;形成波形的數(shù)字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴(kuò)展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機(jī)尋址外設(shè),采用存儲(chǔ)器映像方式,外部接口芯片與內(nèi)部存儲(chǔ)器統(tǒng)一編址,89C51提供16根地址線P0(分時(shí)復(fù)用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時(shí)還要負(fù)責(zé)與8255,0832的數(shù)據(jù)傳遞。P2.7是8255的片選信號(hào),P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經(jīng)過(guò)74LS373鎖存后,送到8255的A1、A2作,片內(nèi)A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發(fā)光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機(jī)89C51內(nèi)部有兩個(gè)定時(shí)器/計(jì)數(shù)器,在波形發(fā)生器中使用T0作為中斷源。不同的頻率值對(duì)應(yīng)不同的定時(shí)初值,定時(shí)器的溢出信號(hào)作為中斷請(qǐng)求。控制定時(shí)器中斷的特殊功能寄存器設(shè)置如下:定時(shí)控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅(qū)動(dòng)6位數(shù)碼管動(dòng)態(tài)顯示; 提供響應(yīng)界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅(qū)動(dòng)器ULN2803A,6位共陰極數(shù)碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態(tài),按鍵的分布如圖所示。8255的A口作為L(zhǎng)ED段碼輸出口,與74LS244相連接,B口作為L(zhǎng)ED的位選信號(hào)輸出口,與ULN2803A相連接。8255內(nèi)部的4個(gè)寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數(shù)字編碼轉(zhuǎn)換成模擬值;完成單極性向雙極性的波形輸出;構(gòu)成由兩片0832和一塊LM324運(yùn)放組成。0832(1)是參考電壓提供者,單片機(jī)向0832(1)內(nèi)的鎖存器送數(shù)字編碼,不同的編碼會(huì)產(chǎn)生不同的輸出值,在本發(fā)生器中,可輸出1V、2V、3V、4V、5V等五個(gè)模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號(hào)時(shí),其幅度是可調(diào)的。0832(2)用于產(chǎn)生各種波形信號(hào),單片機(jī)在波形產(chǎn)生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經(jīng)過(guò)D/A轉(zhuǎn)換,得到波形的模擬樣值點(diǎn),假如N個(gè)點(diǎn)就構(gòu)成波形的一個(gè)周期,那么0832(2)輸出N個(gè)樣值點(diǎn)后,樣值點(diǎn)形成運(yùn)動(dòng)軌跡,就是波形信號(hào)的一個(gè)周期。重復(fù)輸出N個(gè)點(diǎn)后,由此成第二個(gè)周期,第三個(gè)周期……。這樣0832(2)就能連續(xù)的輸出周期變化的波形信號(hào)。運(yùn)放A1是直流放大器,運(yùn)放A2是單極性電壓放大器,運(yùn)放A3是雙極性驅(qū)動(dòng)放大器,使波形信號(hào)能帶得起負(fù)載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發(fā)生器提供直流能量;構(gòu)成由變壓器、整流硅堆,穩(wěn)壓塊7805組成。220V的交流電,經(jīng)過(guò)開(kāi)關(guān),保險(xiǎn)管(1.5A/250V),到變壓器降壓,由220V降為10V,通過(guò)硅堆將交流電變成直流電,對(duì)于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩(wěn)定,使用7805進(jìn)行穩(wěn)壓。最后,+5V電源配送到各用電負(fù)載。
標(biāo)簽: 波形發(fā)生器 原理圖 電路圖 源程序
上傳時(shí)間: 2013-11-08
上傳用戶:685
微型機(jī)算計(jì)發(fā)展概述人類從原始社會(huì)學(xué)會(huì)使用工具以來(lái)到現(xiàn)代社會(huì)經(jīng)歷了三次大的產(chǎn)業(yè)革命:農(nóng)業(yè)革命、工業(yè)革命、信息革命。而信息革命是以計(jì)算機(jī)技術(shù)和通信技術(shù)的發(fā)展和普及為代表的。人類已進(jìn)入了高速發(fā)展的現(xiàn)代時(shí)期。其中計(jì)算機(jī)科學(xué)和技術(shù)發(fā)展之快,是任何其他技術(shù)都無(wú)法相提并論的自從1946年美國(guó)賓夕法尼亞大學(xué)研制成功的世界上第一臺(tái)電子計(jì)算機(jī)到現(xiàn)在已50多年的歷史。計(jì)算機(jī)的發(fā)展經(jīng)歷了四代:第一代:電子管電路計(jì)算機(jī),電子管數(shù):18800個(gè);繼電器數(shù)量:5000個(gè);耗電量:150KW;重量:30t;占地面積:150平方米;運(yùn)算速度:5000次加法運(yùn)算/s。第二代:晶體管電路計(jì)算機(jī)(60年代初)第三代:小規(guī)模集成電路計(jì)算機(jī)。第四代:大規(guī)模(LSI)和超大規(guī)模(VSLI)集成電路計(jì)算機(jī)。第四代計(jì)算機(jī)基本情況:運(yùn)算速度為每秒幾千億次到幾萬(wàn)億次;從數(shù)值計(jì)算和數(shù)據(jù)處理到目前進(jìn)行知識(shí)處理的人工智能階段;計(jì)算機(jī)不僅可以處理文字、字符、圖形圖象信息,而且可以處理音頻、視頻等多媒體信息;計(jì)算機(jī)正朝著智能化和多媒體化方向發(fā)展。微型計(jì)算機(jī)的定義:以微處理器為核心,再配上半導(dǎo)體存儲(chǔ)器、輸入/輸出接口電路、系統(tǒng)總線及其它支持邏輯電路組成的計(jì)算機(jī)稱微型計(jì)算機(jī)。在1971年美國(guó)Intel公司首先研制成功世界上第一塊微處理器芯片4004以來(lái),差不多每隔2~3年就推出一代新的微處理器產(chǎn)品;如今已推出了第五代微處理器。因?yàn)槲⑻幚砥魇俏⑿陀?jì)算機(jī)的核心部件,它的性能在很大程度上決定了微型計(jì)算機(jī)的性能,所以微型計(jì)算機(jī)的發(fā)展是以微處理器的發(fā)展而更新?lián)Q代的。微處理器和微型計(jì)算機(jī)的發(fā)展:1.第一代微處理器和微型計(jì)算機(jī):(1971~1973年)——4位CPU和低檔8位處理器,典型的產(chǎn)品有:Intel 4004、改進(jìn)型的4040,是4位處理器,以它為核心構(gòu)成的微機(jī)是MCS-4。Intel 8008是8位通用微處理器,以它為核心所構(gòu)的微機(jī)是MCS-8。參數(shù):芯片采用PMOS工藝;集成度為2000管/片;時(shí)鐘頻率1MHz;平均指令執(zhí)行時(shí)間為20μs。2.第二代微處理器和微型計(jì)算機(jī)(1973~1978年)——成熟的8位CPU,典型的產(chǎn)品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美國(guó)Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改進(jìn)型。MOS 6502,由MOS公司推出,它是IBM PC機(jī)問(wèn)世之前世界上最流行的微型計(jì)算機(jī)Apple2(蘋果機(jī))的CPU。第二代微處理器的參數(shù):芯片工藝采用NMOS工藝,集成度達(dá)到5000~9000管/片;時(shí)鐘頻率2~4MHz;平均指令執(zhí)行時(shí)間為1~2μs;具有多種尋址方式,指令系統(tǒng)完善,基本指令100多條。特點(diǎn):具有中斷、DMA等控制功能;也考慮了兼容性、接口標(biāo)準(zhǔn)化和通用性、配套的外圍電路功能和種類齊全。在軟件方面:主要是匯編,還有一些簡(jiǎn)單的高級(jí)語(yǔ)言和操作系統(tǒng)。
上傳時(shí)間: 2013-11-24
上傳用戶:蔣清華嗯
設(shè)計(jì)一個(gè)單片機(jī)控制的簡(jiǎn)易定時(shí)報(bào)警器。要求根據(jù)設(shè)定的初始值(1-59秒)進(jìn)行倒計(jì)時(shí),當(dāng)計(jì)時(shí)到0時(shí)數(shù)碼管閃爍“00”(以1Hz閃爍),按鍵功能如下:(1)設(shè)定鍵:在倒計(jì)時(shí)模式時(shí),按下此鍵后停止倒計(jì)時(shí),進(jìn)入設(shè)置狀態(tài);如果已經(jīng)處于設(shè)置狀態(tài)則此鍵無(wú)效。(2)增一鍵:在設(shè)置狀態(tài)時(shí),每按一次遞增鍵,初始值的數(shù)字增1。(3)遞一鍵:在設(shè)置狀態(tài)時(shí),每按一次遞減鍵,初始值的數(shù)字減1。(4)確認(rèn)鍵:在設(shè)置狀態(tài)時(shí),按下此鍵后,單片機(jī)按照新的初始值進(jìn)行倒計(jì)時(shí)及顯示倒計(jì)時(shí)的數(shù)字。如果已經(jīng)處于計(jì)時(shí)狀態(tài)則此鍵無(wú)效。3.1.2 模塊1:系統(tǒng)設(shè)計(jì)(1)任務(wù)分析與整體設(shè)計(jì)思路根據(jù)題目的要求,需要實(shí)現(xiàn)如下幾個(gè)方面的功能。計(jì)時(shí)功能:要實(shí)現(xiàn)計(jì)時(shí)功能則需要使用定時(shí)器來(lái)計(jì)時(shí),通過(guò)設(shè)置定時(shí)器的初始值來(lái)控制溢出中斷的時(shí)間間隔,再利用一個(gè)變量記錄定時(shí)器溢出的次數(shù),達(dá)到定時(shí)1秒中的功能。然后,當(dāng)計(jì)時(shí)每到1秒鐘后,倒計(jì)時(shí)的計(jì)數(shù)器減1。當(dāng)?shù)褂?jì)時(shí)計(jì)數(shù)器到0時(shí),觸發(fā)另一個(gè)標(biāo)志變量,進(jìn)入閃爍狀態(tài)。顯示功能:顯示倒計(jì)時(shí)的數(shù)字要采用動(dòng)態(tài)掃描的方式將數(shù)字拆成“十位”和“個(gè)位”動(dòng)態(tài)掃描顯示。如果處于閃爍狀態(tài),則可以不需要?jiǎng)討B(tài)掃描顯示,只需要控制共陰極數(shù)碼管的位控線,實(shí)現(xiàn)數(shù)碼管的滅和亮。鍵盤掃描和運(yùn)行模式的切換:主程序在初始化一些變量和寄存器之后,需要不斷循環(huán)地讀取鍵盤的狀態(tài)和動(dòng)態(tài)掃描數(shù)碼管顯示相應(yīng)的數(shù)字。根據(jù)鍵盤的按鍵值實(shí)現(xiàn)設(shè)置狀態(tài)、計(jì)時(shí)狀態(tài)的切換。 (2)單片機(jī)型號(hào)及所需外圍器件型號(hào),單片機(jī)硬件電路原理圖選用MCS-51系列AT89S51單片機(jī)作為微控制器,選擇兩個(gè)四聯(lián)的共陰極數(shù)碼管組成8位顯示模塊,由于AT89S51單片機(jī)驅(qū)動(dòng)能力有限,采用兩片74HC244實(shí)現(xiàn)總線的驅(qū)動(dòng),一個(gè)74HC244完成位控線的控制和驅(qū)動(dòng),另一個(gè)74HC244完成數(shù)碼管的7段碼輸出,在輸出口上各串聯(lián)一個(gè)100歐姆的電阻對(duì)7段數(shù)碼管限流。由于鍵盤數(shù)量不多,選擇獨(dú)立式按鍵與P1口連接作為四個(gè)按鍵輸入。沒(méi)有鍵按下時(shí)P1.0-P1.3為高電平,當(dāng)有鍵按下時(shí),P1.0-P1.3相應(yīng)管腳為低電平。電路原理圖如圖3-1所示。
標(biāo)簽: 單片機(jī)開(kāi)發(fā) 工程 案例分析
上傳時(shí)間: 2013-11-13
上傳用戶:曹云鵬
單片機(jī)系統(tǒng)軟件抗干擾方法:在提高硬件系統(tǒng)抗干擾能力的同時(shí),軟件抗干擾以其設(shè)計(jì)靈活、節(jié)省硬件資源、可靠性好越來(lái)越受到重視。下面以MCS-51單片機(jī)系統(tǒng)為例,對(duì)微機(jī)系統(tǒng)軟件抗干擾方法進(jìn)行研究。1、軟件抗干擾方法的研究在工程實(shí)踐中,軟件抗干擾研究的內(nèi)容主要是: 消除模擬輸入信號(hào)的嗓聲(如數(shù)字濾波技術(shù)); 程序運(yùn)行混亂時(shí)使程序重入正軌的方法。本文針對(duì)后者提出了幾種有效的軟件抗干擾方法。1.1 指令冗余CPU取指令過(guò)程是先取操作碼,再取操作數(shù)。當(dāng)PC受干擾出現(xiàn)錯(cuò)誤,程序便脫離正常軌道“亂飛”,當(dāng)亂飛到某雙字節(jié)指令,若取指令時(shí)刻落在操作數(shù)上,誤將操作數(shù)當(dāng)作操作碼,程序?qū)⒊鲥e(cuò)。若“飛”到了三字節(jié)指令,出錯(cuò)機(jī)率更大。在關(guān)鍵地方人為插入一些單字節(jié)指令,或?qū)⒂行巫止?jié)指令重寫稱為指令冗余。通常是在雙字節(jié)指令和三字節(jié)指令后插入兩個(gè)字節(jié)以上的NOP。這樣即使亂飛程序飛到操作數(shù)上,由于空操作指令NOP的存在,避免了后面的指令被當(dāng)作操作數(shù)執(zhí)行,程序自動(dòng)納入正軌。此外,對(duì)系統(tǒng)流向起重要作用的指令如RET、RETI、LCALL、LJMP、JC等指令之前插入兩條NOP,也可將亂飛程序納入正軌,確保這些重要指令的執(zhí)行。1.2 攔截技術(shù)所謂攔截,是指將亂飛的程序引向指定位置,再進(jìn)行出錯(cuò)處理。通常用軟件陷阱來(lái)攔截亂飛的程序。因此先要合理設(shè)計(jì)陷阱,其次要將陷阱安排在適當(dāng)?shù)奈恢谩?.2.1 軟件陷阱的設(shè)計(jì)當(dāng)亂飛程序進(jìn)入非程序區(qū),冗余指令便無(wú)法起作用。通過(guò)軟件陷阱,攔截亂飛程序,將其引向指定位置,再進(jìn)行出錯(cuò)處理。軟件陷阱是指用來(lái)將捕獲的亂飛程序引向復(fù)位入口地址0000H的指令。通常在EPROM中非程序區(qū)填入以下指令作為軟件陷阱:
標(biāo)簽: 單片機(jī) 系統(tǒng)軟件 抗干擾
上傳時(shí)間: 2013-10-29
上傳用戶:大三三
這里介紹的一款多功能編程器,功能強(qiáng)大,支持大多數(shù)常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超過(guò)400種)。硬件成本較低,性價(jià)比很高。既適合于電子和電腦愛(ài)好者使用,也適合家電維修人員維修家電和單片機(jī)開(kāi)發(fā)人員使用。圖1為多功能編程器的主機(jī),中間是32腳ZIF(零插力)鎖緊插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左邊是25芯并口插座,通過(guò)并口電纜連接計(jì)算機(jī)并口。左下方是電源插座。32腳ZIF插座下方是12位的DIP開(kāi)關(guān),對(duì)EPROM芯片進(jìn)行讀寫等操作前,需將此開(kāi)關(guān)撥至相應(yīng)位置。具體開(kāi)關(guān)位置可以參照軟件提示。鎖緊插座右側(cè)依次排列3個(gè)DIP8插座和一個(gè)DIP18插座,分別用于25系列、24系列、93系列存儲(chǔ)器和PIC系列單片機(jī)等;綠色電源指示燈(Power)用于指示編程器電源狀態(tài);紅色指示燈(Vpp)用于指示芯片Vpp電源狀態(tài);黃色指示燈(Vcc)用于指示芯片編程狀態(tài)。 一、 主要功能: ★ 可用此編程器升級(jí)、維修電腦主板,顯卡等BIOS芯片。可支持3.3V低電壓BIOS芯片。 ★ 用來(lái)寫網(wǎng)卡啟動(dòng)芯片:用于組建無(wú)盤站寫網(wǎng)卡啟動(dòng)芯片或制作硬盤還原卡等。 ★ 可用于復(fù)印機(jī)、傳真機(jī)、打印機(jī)主板維護(hù)和維修。★ 可用于讀寫用來(lái)寫汽車儀表、安全氣囊、里程表數(shù)據(jù)。★ 可用于維修顯示器、彩電、VCD、DVD 上面的存儲(chǔ)芯片。可修改開(kāi)機(jī)畫面。 ★ 用來(lái)開(kāi)發(fā)單片機(jī): 通過(guò)添加不同適配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用來(lái)寫大容量存儲(chǔ)芯片:大容量的存儲(chǔ)芯片,一般在衛(wèi)星接收機(jī)上使用較多,可以用編程器直接來(lái)升級(jí)或改寫。 二、電路簡(jiǎn)介圖2是這臺(tái)編程器的完整電路圖,可以看到編程器電路由完全分離的兩部分組成:串行部分和并行EPROM部分電路。限于篇幅,原理部分不再詳述。對(duì)原理感興趣的讀者可以參考本文配套文件包中的“電路原理參考.PDF”文件。圖2三、電路板設(shè)計(jì)與制作 圖3是編程器參考元件布局圖,雙面PCB尺寸為160X100毫米,厚度1.6毫米。具體的PCB設(shè)計(jì)可以參考配套文件中的“PCB參考設(shè)計(jì).PDF”。這個(gè)文件中包括電路板的頂層和低層布線和頂層絲印層。如果業(yè)余自制電路板,建議使用雙面感光電路板制作,以確保精度。
標(biāo)簽: 多功能編程器
上傳時(shí)間: 2013-10-14
上傳用戶:問(wèn)題問(wèn)題
MCS51系列單片機(jī)軟件控制復(fù)位的可靠方法:文章指出了一種廣泛流傳的誤解:在MCS-51系列單片機(jī)中,只要用指令使程序從起始地址開(kāi)始執(zhí)行,就可以復(fù)位單片機(jī),擺脫干擾。通過(guò)實(shí)驗(yàn),揭示了軟件控制復(fù)位的可靠方法。有的單片機(jī)(如8098)有專門的復(fù)位指令,某些增強(qiáng)型MCS-51系統(tǒng)單片機(jī)雖然沒(méi)有復(fù)位指令,但片內(nèi)集成了WATCHDOG電路,故抗干擾也不成問(wèn)題。而普及型MCS-51系列單片機(jī)(如8031和8032)既然無(wú)復(fù)位指令,又不帶硬件WATCHDOS,如果沒(méi)有外接硬件WATCHDOG電路,就必須采用軟件抗干擾技術(shù)。常用的軟件抗干擾技術(shù)有:軟件陷阱、指令冗余、軟件WATCHDOG等,它們的作用是在系統(tǒng)受干擾時(shí)能及時(shí)發(fā)現(xiàn),再用軟件的方法使系統(tǒng)復(fù)位。所謂軟件復(fù)位就是用一系列指令來(lái)模仿復(fù)位操作,這就是MCS-51系列單片機(jī)所特有的軟件復(fù)位技術(shù)。現(xiàn)用一簡(jiǎn)單的實(shí)驗(yàn)說(shuō)明。接于P1.0的發(fā)光二極管LED0用來(lái)表示主程序的工作情況,接于P1.1的發(fā)光二極管LED1用于表示低級(jí)中斷子程序的工作情況,接于P1.2的發(fā)光二極管LED2用來(lái)表示高級(jí)中斷子程序的工作情況,接于P3.2口的按鈕用來(lái)設(shè)立干擾標(biāo)志,程序檢測(cè)到干擾標(biāo)志后故意進(jìn)入死循環(huán)或掉進(jìn)陷井,模仿受干擾的情況,從而檢驗(yàn)各種復(fù)位方法的實(shí)際效果。實(shí)驗(yàn)初始化程序如下:
上傳時(shí)間: 2013-11-03
上傳用戶:sevenbestfei
本文介紹了單片機(jī)對(duì)步進(jìn)電機(jī)的雙4拍的控制方法,以及常出現(xiàn)的問(wèn)題及解決方案。
標(biāo)簽: MCS 51 單片機(jī) 步進(jìn)電機(jī)控制
上傳時(shí)間: 2014-03-27
上傳用戶:refent
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1