版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、單片機與+接口技術(shù)實驗指導(dǎo)(教育信息技術(shù)學(xué)院)基本要求:每次實驗學(xué)生都必須提交實驗報告,內(nèi)容包括實驗?zāi)康?、實驗?nèi)容、實驗程序、實驗過 程(軟件的使用、程序的調(diào)試)等(本文檔最后有實驗報告模版)。學(xué)生第一次上機時,應(yīng)在教師機指定文件夾下建立以自己學(xué)號+姓名的子文件夾,例如學(xué) 號為2005683001的學(xué)生張三,應(yīng)在教師機指定文件夾下建立“2005683001張三”的子文件 夾,此文件夾就是學(xué)生張三存放本課程實驗全部文檔的文件夾,也是教師評價學(xué)生飾演成績 的主要依據(jù)。學(xué)生每次實驗完畢后,都應(yīng)將實驗報告、實驗程序(或pcb圖、sch圖)等文檔上傳到 教師機自己建立的子文件夾中。學(xué)生每次實驗,都應(yīng)該記
2、考勤。每次實驗成績由以下幾項構(gòu)成:實驗考勤占10%;實驗態(tài)度10%;操作水平25%;實驗結(jié)果25%;實驗報告質(zhì)量30%??傮w成績按各次實驗的成績?nèi)∑骄涤嬎?。本課程實驗內(nèi)容分三個模塊,分別為:模塊一、keil模塊,純軟件環(huán)境調(diào)試 模塊二、單片機實驗箱在線調(diào)試實驗 模塊三、protel模塊,protel使用一、keil實驗?zāi)K1. keil軟件簡介keil開發(fā)軟件是目前最流行的開發(fā)mcs-51系列單片機的軟件,它提供了包括c編譯器、 宏匯編、連接器、庫管理和一個功能強大的仿真調(diào)試器等在內(nèi)的完整開發(fā)方案,通過-個集 成開發(fā)環(huán)境(pvision)將這些部份組合在一起。uvision2是keil so
3、ftware的一個新的ide,它結(jié)合了項目管理、生成工具、源代碼編 輯、程序調(diào)試和在一個強大的環(huán)境中完全模擬。uvision2提供了一個簡單易用的開發(fā)平臺 幫助您使程序運行得比以前更快。編輯器和調(diào)試器集成到一個應(yīng)用程序中,并提供一個無縫 的嵌入式項目開發(fā)環(huán)境。m vision2提供了下面這些獨特的功能: 器件數(shù)據(jù)庫:a動為您選擇的芯片沒置匯編器、編譯器和連接器選項。這就使您節(jié)宵 了配置工具的時間,并幫助您更快地編寫代碼。 健壯的項目管理器:可以在一個項目文件中對目標創(chuàng)建兒個不同的配置。只有keil uvision2 ide允許創(chuàng)建一個用于模擬的輸出文件、一個用于仿真器調(diào)試的輸出文件和一個 向e
4、prom編程的輸出文件,上面的這些文件都來自于同一個項目文件。 自動獨立生成的集成生成工具。您不用指出哪個頭文件和包含文件由哪個源文件使用, keil編譯器和匯編器會自動完成這項工作。 交互的錯誤糾正。在編譯項目時,錯誤和警告信息在輸出窗口顯示。當uvision2仍 然在后臺編譯時,你可以糾正項目文件中的錯誤。錯誤和警告相關(guān)的行號在對源文件作了修 改后會自動重新同步。start:b files 淨j jjjx wp -v>tiq.1dbuild target target i1丁e?ml" - 0 error (s)0 warning (s build commend fbdi
5、nfics /l:16 c 52mil2. keil工程文件的創(chuàng)建、設(shè)置與目標文件的獲得(1)幵機,運行keil uvision2其運行界而如|割所示:f te鳳 1 一 嚷rxion2 le:czy0310keilfileteaprr»iurrtebl.mxb0®£ile witeu>jeci liebue pldah peripherals lools £ws yindoiv help|xj試 q 0& e吟每 |3i迪昌1© c ia也你w ©啓函肚墨|滅公t«cet 1zj1.1 a叫 b tarcet
6、 1,-| <25 source group 1 lerd.rv eon p2.1e iqu p2.7t sda equ pl.6tisci equ pl.7org odoohsjmp startqrg 0d30hxcali rsbusyhov roroooqooqib,謫wacali utablsacal1 isbdsyhov pdooiiioodb閣keil運行界而(2)創(chuàng)建工程 創(chuàng)建新的工程:鼠標左鍵單擊主菜單“project”,鼠標左鍵單擊子菜単“newproject. 彈出 “creat new project” 對話框; 輸入工程名,保存:用鼠標在“保存為”下拉框選擇你要保存
7、的文件夾(比如“我的文 檔”),“文件名”文本框處用鍵盤敲入你給這個工程起的工程名(如“testl”)在鼠標左鍵單 擊“保存”按鍵,彈山 “select device for target targetl” 對話框; 選擇單八機的型號:用鼠標在左邊列表框“data base”區(qū)雙擊sst或單擊sst前的“ + ” 號,展開sst子選項,用鼠標左鍵單擊“89e564rd”,用鼠標左鍵單擊“確定”按鍵,表示使 用的單片機為sst89e564kd。(3)建立源程序創(chuàng)建新的源文件:鼠標左鍵單擊菜單“file” 一 “new” 在新建的文本窗口(textl)中用鍵盤鍵入源程序。例如使p1. 0輸出商低電
8、平的匯編語言源程序:org 0000h loop:setbp1.0lcall delayclr pl. 0 lcall delay ajmp loopdelay: mov r7,#250di:mov r6,#250d2:djnz k6, d2djnz r7,d1 ret end 保存文件:鼠標左鍵單擊菜單“file” 一 “save as. ”,彈出“save as”對話框, 用鼠標在“保存在”下拉框選擇你要保存的文件夾,在“文件名”文本框處用鍵盤敲入你給 這個文件起的文件名(如“testl. asm”),鼠標左鍵單擊“保存”按鍵。注意匯編語言的后綴 一般為asm”,c語言的后綴為c” 將文件
9、添加到工程:在左邊資源管理器川鼠標左鍵雙擊“target 1”或單擊“target 1” 前的 “+” 號,鼠標右鍵單擊 source group,彈出 “add file to groupsourcegroup 1 ”,“文件類型”選“asm source file(*. a*)”,找到"testl. asm"文件,鼠標左鍵單擊該文件, 鼠標左鍵單擊“add”,鼠標左鍵單擊“close”。 編譯査錯:單擊主菜單“project” 一 “built target",修改程序中出現(xiàn)的錯誤,直 到編譯通過,程序沒有錯誤。此時下邊窗口顯示""test
10、l"-0 errors (s), 0 warning(s)z,(4)設(shè)置參數(shù)在 project workspace 窗口中點擊 “target 1”,點擊菜單 “project” 一 “options for targettarget 1 ”,彈出 “options for targettarget 1 ” 對話框,如下圖所示:圖參數(shù)設(shè)置窗u 在“target”標簽下修改“xtal(mhz)”為單片機的晶體振蕩頻率。 在“output”標簽下,選中“create hex file"(如果你要生成hex文件用編程器寫 到0標板的sst89e564rd單片機中)圖設(shè)置是否生成.
11、hex目標文件在“debug”標簽選巾“use keil monitor-51 driver”,此時可以通過串口連接目標 電路板進行仿真調(diào)試,如果選中“use simulator",則僅僅只進行軟件仿真。閣調(diào)試相關(guān)參數(shù)設(shè)置用鼠標左鍵單擊"setting"按鍵,根裾你用的串口用鼠標選擇port,左鍵單擊"ok"按 鍵,選中 “l(fā)oad application at start” 和 “go till main()”o圖串口參數(shù)設(shè)置其余可以按默認值不需修改,點擊“確定”完成設(shè)置。(5)仿真調(diào)試 啟動仿真調(diào)試:連接好串口線,左鍵單擊主菜單“debug
12、” 一 “start/stop debug session” 開始仿真調(diào)試:keil下的調(diào)試很靈活,可以運行到光標、設(shè)置斷點、單步執(zhí)行、全速 運行,在“debug”菜單下go全速運行step革步運行run to cursor line運行到光insert/kemove breakpoint可以插入或取消斷點用戶可以根據(jù)要求選擇合適的運行方式,從而提高調(diào)試的效率。 參看運行結(jié)果:在調(diào)試程序時往往要查看程序的運行結(jié)果,包括程序運行的中間值, 這對判斷程序的正確性至關(guān)重要。keil提供了方便的查看工具,以便查看諸如變量、i/o 口、 存儲器等各種運行結(jié)果。用鼠標左鍵單擊主菜單“peripheral”
13、 一 “i/0-ports”即可查看i/o 口的結(jié)果,用鼠標 左鍵單擊子菜單“portl”,查看并行口 1的運行結(jié)果。運行上述程序,可采用單步執(zhí)行或設(shè)置斷點,用萬用表測sst89e564rd的p1. 0(即1腳) 的電壓是否和程序及“parallel port 1 ”窗口一致;停止仿真調(diào)試:用鼠標左鍵單擊主米單“debug” 一 a start/st op debugsession”推 出調(diào)試模式。注意:每次重新“debug”前要按一下復(fù)位鍵使單片機復(fù)位。(6)目標板獨立運行a © ? i? g 7y ngr zproject wcrksp«&=exr3 equ ?
14、2.0e equ p2.7t_sda eou pl,6tscl equ pl.7org 00dohsjhp 3tartorc 003ohacall isbusymoy poqoooooolb ;消屏 acall euaele acall isbus7wov pooolllooqb ;8>&2n acall ewable acall i3blotc:icr一fiogs r0oxaarl0x4.0. r20父眾島"r3oxaaoxaa. r50x2oxaar7oxa0三s a0x00b0x00=t»flvfltbfiess1 regsy. 1cj) start:l
15、d確認convert_to_bslx564. txt文件的存放路徑路徑(此處假設(shè)路徑為 d:softiceconvert_to_bslx564. txt),在 keil 的 debug 模式下的 command 窗內(nèi),輸入 a include d:softiceconvert_to bslx64.txt”,等待輸出窗口 中出現(xiàn) “g” 后,退出 keil 程序;is te»l4tisi.on2 e:csy0310vkeilfilete«preaturevt<囝hedit vi e/v pr oj ectdcbug fi32l pcripkcr alx tools sv
16、c3 window>= *=connected to monitor-5 1 v3.4lood 11e : wcot03lovxkeiifi 1 ewtempreaturewtem 111§pujnllporo>mclud© d : so£tlc©vconvert_to_bslz564 .txt include file>ady圖包含convert to bslx564. txt的完整路徑idicl8e c: 0650h=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0,|e c:0660h=0x0
17、0,0x00.0x00.0x00,0x00,0x00.0x00,0x00.oxoce c:0670h=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,oxoce c:2000h=0x53,oxbl,oxfc,0x02,0x00,0x00,oxff,oxff,oxcebd *pc = 0ginclude file>i| build 人 command 入 find in fies fnurz| build command /i fnd nfi«閣等待出現(xiàn)g后退出調(diào)試檢測用戶單片機:雙擊的d:softice目錄下的ssteasyiapllf.exe,
18、運行界面如下圖 所示。點擊主菜單的“detectchip/rs232” 一“detect target mcu for firmware 1. lfand rs232 config. sst eaylapllf bootstrap loader (f>: vl. if)eetectchip<rs232knn£odebsl eytemodify s.ofxice extemalplish helppral"sec,jf3rnvif arid rs232 config.da tact tftr'gilt h 匸 u for firnv* 讓 c*l. ik
19、and upgrdd to 1.1?)tsr妖t hcij for firnvre version ijrtteiovn 1)ratuschip ineornlionck:p iflash i5kct0r ?henory1/lp |rewap.r* |v .hen node: |tap f»incti diibuvidoad廣 dnl 令dyeun usarcodlakeads«ci«r erose c chip erac6 lvck chiprkrwiy £«fr<ipreaixlioable cuck oh coflt baudl k
20、ate: 3c4co 05:09:331圖檢測用戶目標板select >cit chip type and 賈eory voileflashklexsl hcu (vi if and plus)chip typec sst89c54 c sst89c58 c sst89e554rc c sst89vs54rc器涵品獅 c ss?8964rdmemory modeinternal memory (£a#=1.c external memory (eaplease make sure that switch #1 and switch #8 are turned off if yo
21、u are using bsl demo kit v2.0 othorwa so., pi*as i gnor o tki s inossage.qeplease turn on switch #2 if you choose external memory mode for bsl bemo kit v2. 0.cancel圖選擇用戶使用的單片機型號選擇sst89e564rd,在彈出的對話框巾點擊“detct mcu”,再點擊“確定”,按提示復(fù)位單片機,檢測到單片機后會菜單下而的框體屮提示檢測到的信息。 下載用戶程序:檢測到單片機后,點!;* download圖選擇用戶目標文件在“file
22、name”屮輸入用戶代碼文件的路徑(在工程目下的testl.hex文件),點擊“0k” 即可將用戶程序下載到單片機,用戶目標板就可以獨立運行了。注意:此時若要恢笈與keil連接的在系統(tǒng)調(diào)試功能,須先點擊菜單“softice”一“dowload softtcr",將仿真軟件softice下載到單片機即可。3. 使用keil進行純軟件環(huán)境模擬調(diào)式的步驟1)項目的建立,源程序的輸入、編輯2)源程序的匯編及模擬運行調(diào)試 匯編可以找出語法錯誤模擬運行可以發(fā)現(xiàn)若干邏輯上的錯誤。3)源程序最后匯編,生成目標碼文件(.ob j或.hex文件)4. 基本操作(通過實驗要求掌握)1)源程序的輸入和編輯2
23、)源程序的各種運行方式,包括全速運行、單步運行、帶斷點運行3)單片機片內(nèi)各寄存器、各數(shù)據(jù)ram、各sfr狀態(tài)的觀察和檢測。4)分析功能:外存儲器單元的查看(影子存儲器),程序吋效分析、數(shù)據(jù)時效分析5)生成目標碼文件6)系統(tǒng)沒置7)文件及項目管理5. 上機要求1)熟悉keil的基本操作2)熟悉keil各菜單及工具欄的意義3)完成以下實驗題目。模塊一實驗實驗一熟悉keil基本操作,順序程序的設(shè)計實驗?zāi)康模菏煜eil的基本操作,掌握順序程序的設(shè)計實驗題目:設(shè)有兩個無符號數(shù)x、y,編程求z=3*x+10*y,設(shè)x,y, z分別放在片內(nèi)20h, 21h和片外數(shù)據(jù)存儲器的2000ii單元。實驗二進一步熟
24、悉keil操作,分支程序的設(shè)計實驗?zāi)康模喝媸煜eil的操作,掌握分支程序的設(shè)計2xx > 2q實驗題目1:編程實現(xiàn)y =10 < < 203xx <= 10實驗題目2:設(shè)片內(nèi)10h號單元內(nèi)存有用戶輸入的鍵碼(0-15),試根據(jù)此鍵碼的值分別 轉(zhuǎn)向各自的處理程序入口,即kl,k2,,kl5.實驗三順序程序的設(shè)計實驗?zāi)康模赫莆枕樞虺绦虻脑O(shè)計實驗題目1:試編寫程序求片內(nèi)10h-20ii中的單字節(jié)有符號數(shù)中的最大值。實驗題目2 :試編寫程序,實現(xiàn)將內(nèi)存10h-20h中16個單字節(jié)壓縮bcd數(shù)相加的程序。結(jié)果仍應(yīng)為壓縮bcd碼。實驗四綜合程序的設(shè)計實驗?zāi)康模赫莆沼幸欢ňC合性的
25、程序設(shè)計,全面使用keil的調(diào)試功能實驗題目:試編寫程序?qū)⑵獯鎯ζ?000ii-1050ii中的單字節(jié)有符號數(shù)按從大到小的順序排列。模塊二、單片機實驗箱在線調(diào)試模塊一、 實驗箱簡介(請補充物理學(xué)院實驗箱的介紹)模塊二實驗實驗一 n 口輸入、輸出實驗1. 實驗?zāi)康模?)學(xué)習(xí)pl li的使用方法。(2)學(xué)習(xí)延時子程序的編寫和使用。2. 實驗容及要求(1)p1 口做輸出口,接八只發(fā)光二極管,編寫程序,使發(fā)光二極管循環(huán)點亮。(2)p1 口做輸入口,接八個開關(guān),以實驗機上74ls574 ui選cs22,地址范圍:8700 一87ff)做輸出口,編寫程序讀取開關(guān)狀態(tài),并將此狀態(tài)在發(fā)光二極管上顯示出來。3
26、. 實驗電路原理閣及連線做實驗(1)時,p1.0-p1.7分別接j7的卜8腳。做實驗(2)吋,pl. 0-p1. 7分別接j32的1-8腳,用排線將j7和j27相連。u4710ocid2d+d5d6d7dsdgnd74hc574201q2q3q40506q7q80cj9j8j7j6j5j413jj27gnd cow 10u30api-*.lokujioc1d2djd40助 spidcr<>丄卿bld2b3m3sb?明t3sala2a)a4aja«a?aiab c 5gbahkscvccpl.<lt7iraoadjin.imcxiraitadiipi.:kcaccip
27、l.jwlkaibipl.4ivl4>al4|puiknutinanripi.mm 幻 ikkaalbipijisck)mnfq7uu77|ca-vn*pmiudincncalb7r0grxiixdipiwro,puilmlipuitorxjmir2aai2ipk眞 ipkmw.p2jai0»xixlir: “從ctxuwaxr.0n3ncvain)1jn< »>m >-n- 22fcnd1pl( <>j< flj<zzlzj31 x>t o乂 pl 4. 實驗說明(1)pl 口是準雙向口。它作為輸出口時與一般的雙向口使
28、用方法相同。由準雙向口結(jié) 構(gòu)可知當p1 口作為輸入口吋,必須先對它置高電平使內(nèi)部mos管截止。因為內(nèi)部上拉電阻阻 值是20k?、0k?,故不會對外部輸入產(chǎn)生影響。若不先對它置高,且原來是低電平,則mos 管導(dǎo)通,讀入的數(shù)據(jù)是不正確的。(2)延時子程序的延時時間計算方法 對于下面的延時程序delay:mov ro, #00h delay1:mov rl, #0c3h djnz rl, $djnz ro, delay1其延時時間計算方法如下:查指令表可知mov, djnz指令均需用兩個機器周期,而一個 機器周期時間長度為12/12mhz (設(shè)時鐘選12mhz),所以該段程序執(zhí)行時間為:(0c3+1
29、)x256+1) x2x 124-12 = 99. 842ms0程序框圖(2):5. 實驗程序流程圖主程序框圖(1):沒置初始值<1數(shù)據(jù)輸出循環(huán)左移1延吋6. 實驗程序清單實驗(1)程序清單 org 0000h ljmp startokg 0030hstart: mov sp, #60h mov a, #ofehrotate:mov pl, a;寫 pl 口 rl a;循環(huán)左移 lcall delay;延時 nopsjmp rotatedelay:mov ro, #oah;延時子程序(延時時間約1秒)delay 1: mov rl, #0011delay2: mov r2, #0c3h
30、djnz r2, $djnz rl, delay2 djnz ro, delay1 retend實驗(2)程序清單org 0000hljmp startorg 0040iistart:mov dptr, #8700h;并行輸出口地址mov p1,#offh;因pl 口是準雙向口,把pl 口作為輸入口時,應(yīng)先罝高電平。readp1:mov a, pl;讀開關(guān)狀態(tài)movxdptr, a;把讀入的數(shù)據(jù)輸出 ajmp readp1end實驗二定時器t0實驗1. 實驗?zāi)康?1) 掌握mcs-51系列單片機內(nèi)部計數(shù)器的使用和編程方法。(2) 理解屮斷的概念,掌握中斷處理程序的編程方法。2. 實驗內(nèi)容及要求
31、將8031內(nèi)部定時器0的工作方式設(shè)為方式1,即16位定時器方式。p1 口的pl. 0-p1.7ujca1)k3451、| 34 5 67 890分別接八個發(fā)光二極管,實驗吋觀察八個發(fā)光二極管的顯示結(jié)果。(1) 在定時時間沒有到的時候,以八個發(fā)光二極管閃爍為主。(2) 當to定時時間到1秒時,是單一燈向右移動8次,重復(fù)上述過程。3. 實驗電路原理圖及連線實驗時將單片機的pl. 0-p1.7分別連到j(luò)7的1-8腳。4. 實驗說明(1) mcs51系列單片機一般至少有5個固定的屮斷源,本實驗主要設(shè)計定時器0屮斷。 內(nèi)部計數(shù)器在單片機中主要有定時器和計數(shù)器兩個功能,本實驗用的是定時器。(2) 定時時間
32、常數(shù)的計算:內(nèi)部計數(shù)器用作定時器時,是對機器周期計數(shù)。每個機器周 期的長度是12個振蕩器周期。設(shè)實驗系統(tǒng)的晶振是12mhz,定時時間為50ms,定時時間常數(shù) 可按以下方法計算:機器周期=12 + 12mhz=l us(65536-定時常數(shù))x 1 y s=50ms 定時常數(shù)= 3cb0h(3) 運用屮斷方式時一般要分別編寫主程序和屮斷服務(wù)程序。在主程序中主要完成設(shè)定 定吋器有關(guān)寄存器(如工作方式寄存器tmod和控制寄存器tcon)、開中斷等。tmod用于設(shè)置 定時器/計數(shù)器的工作方式03,并確定川于定時還是用于計數(shù),tcon主要功能是力定時器 在溢出時設(shè)定標志位,并校制定時器的運行或停止等。中
33、斷服務(wù)程序則是單片機響應(yīng)中斷后 要執(zhí)行的程序,執(zhí)行完屮斷服務(wù)程序后程序返回主程序相應(yīng)的斷點處繼續(xù)執(zhí)行。(4) 要注意理解屮斷的概念及屮斷的響應(yīng)過程,并注意屮斷的入口地址。5. 實驗程序流程圖6. 實驗程序淸單;主程序清單timero equ 30htimer1 equ 31horg 000011 jmp startokg 000bh jmp timeoorg 0030hstart:mov sp,#60h;設(shè)定堆棧指針mov ie,#1ooooo1ob;沒置中斷允許寄存器允許中斷,ea=eto=1 mov ip,#oooooooob;設(shè)置屮斷優(yōu)先寄存器mov tmod, #01h;設(shè)定定時器0為
34、工作方式1,定時方式mov th0,#3ch;設(shè)置定吋吋間常數(shù),50ms后產(chǎn)生中斷(12mhz晶體)mov tlo, #obohsetb tro;啟動計數(shù)器0開始定時 mov r4,#00hloop: mov a, #1111111 ibmov pl, a;從pl輸出到發(fā)光二極管 call delay250;延遲約 250ms mov a,ftoooooooob mov pl, a;從pl輸出到發(fā)光二極管 call delay250;延遲約 250ms j ml) loop;中斷服務(wù)程序timeo: clr tro;計數(shù)器0停止定時 push acc push b inc r4cjne r4,
35、#14h, lop1;定時時間到1秒,就循環(huán)移動發(fā)光管,否則重裝;吋間常數(shù),啟動定吋器0mov r4, #0011mov b,#08h;移動 8 次mov a,#11111110b;單一燈向左移loop 1:mov pl, a;從pl輸出到發(fā)光二極管 rl alcai丄 delay250djnz b, l00p1;移動 8 次了嗎?l0p1: pop b pop acc mov tho, #3ch mov tlo, 40b0h setb tro;定時數(shù)0開始定時ret i;延時子程序delay: push timer1;延時 1 ms for 12mhz push timerodelay 1:
36、mov timero, #250;循環(huán)一次需要4個機器周期,時間為4*1 us delay2:nop;1 個周期nop; 1個周期djnz timero, delay2; 2 個周期djnz timer1, delay1 pop timero 1)01) timek1retdelay250:n0p;延時 250 ms push timer1 mov ttmer1,#25o lcall delay pop timer1 retend實驗三to計數(shù)器實驗1. 實驗?zāi)康模?)掌握mcs-51系列單片機to作計數(shù)器的使用和編程方法。(2)理解中斷的概念,掌握中斷處理程序的編程方法。2. 實驗a容及要求
37、(1)實驗時,利用連接線把p3. 4連接到反跳電路74ls00的輸出端,把p1. 0p1. 7用實 臉插針對應(yīng)連接到指示燈的l1l8(2)在沒有響應(yīng)中斷時,以4個燈閃爍為主(3)當計數(shù)到3次時產(chǎn)生中斷,cpu響應(yīng)中斷后是單一燈向右移動8次,因為使用負脈沖 計數(shù)觸發(fā),所以具有記憶一次的功能,如果在屮斷服務(wù)程序,再一次屮斷會記憶一次,但最多有 一次記憶,所以當它從中斷程序返冋時,會再一次進入中斷程序執(zhí)行3. 實驗電路原理圖及連線10k1 3 4 s- 6 7 $90voc1kkf2s實驗時將單片機的pl. 0-p1. 7分別連到j(luò)7的1-8腳。4. 實驗說明本實驗主程序是使4個發(fā)光二極管閃爍,定吋
38、器/計數(shù)器0設(shè)為計數(shù)方式,并設(shè)為工作方 式1,對來自p3. 4引腳的外部脈沖計數(shù),當記到3時向cpu申請中斷,cpu響應(yīng)中斷服務(wù)程 序后則使單一燈向右移動8次。5. 實驗程序流程圖開始pl循環(huán)輸 fli “11111110” 8次6. 實驗程序清單timero equ 30h t1mek1 equ 31h org 0000hjmp startorg ooobh jmp timeoorg 0030hstart:mov sp,#60h;設(shè)定堆棧區(qū)mov ie,#10000010b;中斷使能,ea=eto=1 mov ip, #00000000bmov tm0d,#05h;設(shè)定計數(shù)器 0 為 mod
39、e 1 mov th0,tf0ffh;3次計數(shù)后產(chǎn)生屮斷 mov tlo, #oedhsetb tro;計數(shù)器0開始計數(shù)loop:mov a,#11110000bmov pl, a;從 pl 輸出到 led call delay250;延遲約 250 毫秒 mov a,#0000111 ib mov pl, a;從 pl 輸出 call delay250;延遲約 250 毫秒 j ml) loop;計數(shù)器0的中斷服務(wù)程序timeo:clr tro;計數(shù)器0停止計數(shù) push acc push b mov b, #08hmov單一燈向左移loop 1:mov pl, a;從 pl 輸出到 lcd
40、 rl a;左旋一次call delay250djnz b, l00p1;移動 8 次了嗎?pop b pop accmov tho, #offh; 3次計數(shù)后產(chǎn)生屮斷 mov tlo, #oedii setb tko;計數(shù)器0幵始計數(shù) ret i:延吋子程序delay: push timer1;延時 1 ms for 12mhz push ttmerodelay 1:mov timero, #250;循環(huán)一次需要4個機器周期,時間為4*1 us delay2: nop; 1 個周期nop;1個周期djnz timer0,delay2;2 個周期djnz timer1, delay1pop t
41、imeropop timer1retdelay250: nop;延時 250 ms push timer1 mov timer1,#25o lcall delay lcall delay pop timer1 ret end三、protel模塊一)protel 99是一個什么軟件?protel 99是protel technology公司推出電子線路的cad軟件,其主要功能包括:1. 電子線路原理圖繪制;2. 電子線路板pcb (印刷電路板)的繪制;3. 有一定的電氣測試與仿真功能。protel 99功能特點:1. 采用項目的形式,組織與管理與一個電子沒計有關(guān)的所有文檔,包拈原理圖(sen圖)
42、、 印刷電路板閹(pcb)、設(shè)計人員信息、特有的元件庫等等。這些信息與文檔可存貯在一個單 一的文件(例如mydesign. ddb)屮,當然也可以導(dǎo)出各種獨立的文件,如mydesign. sch、 mydesign. peb 等。2. 手工繪制原理圖與pcb圖時強大的編輯功能。3. 規(guī)模龐大的元件庫及方便的創(chuàng)建元件的功能。4. 強大的打印功能,能打印漂亮的圖樣(見例子)。5. 具有一定的自動布線能力。6. 生成齊全的報表文件。二)使用protel 99進行電子設(shè)計、制作的步驟1. 原理閣的設(shè)計與繪制2. 如果希望使用自動布線功能或以后檢查pcb圖與原理圖是否一致,可以生成原理圖的 網(wǎng)絡(luò)表文件;
43、3. pcb板的繪制整體pcb板尺寸、各元件的封裝尺寸和形式 各元件大致布局(可先在紙上大致畫一下)元件及其連線繪制,畫圖時要注意對元件的標注(型號、參數(shù)、編號)檢查(反復(fù))4. pcb制作導(dǎo)出pcb板文件,送至制板廠商 要談好板材、制作的層數(shù)及價格5. 打印出元件淸單6. 購買元器件、待印刷電路板制好以后再焊接、調(diào)試注:pcb板制作基本過程:在一塊完整的敷銅板上,根據(jù)pcb圖生成各層的光繪底片, 根據(jù)各層的底片腐蝕掉沒有電連接處的銅,只留下電連接處的銅,根據(jù)pcb圖鉆孔(焊點及 過孔)處理,根裾pcb閣印上標注文字等。三)基本概念sch圖的繪制:1. 電氣對象:在電路板上有實際電氣意義的對象,如元件(電阻電容、集成電路等)、導(dǎo)線 (wire)、連接導(dǎo)線的連接點(junction),總線(bus)等2. 繪制對象:在原理圖上繪制的一些指示性的圖形或文字,它們沒有電氣上的意義,如線 條line不
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)內(nèi)部信息安全管理與保密合同
- 二零二五年度農(nóng)村土地承包經(jīng)營權(quán)與租賃權(quán)管理合同
- 2025版新材料研發(fā)企業(yè)新增股東協(xié)議書樣本3篇
- 2025年度住宅小區(qū)智能車位代理銷售及監(jiān)控系統(tǒng)合同4篇
- 2025年度物流企業(yè)司機勞務(wù)外包管理協(xié)議范本
- 二零二五年度旅游產(chǎn)品售后服務(wù)合同規(guī)范4篇
- 二零二五年度廚房設(shè)備銷售與品牌推廣合作合同3篇
- 珠??萍紝W(xué)院《東方人文經(jīng)典》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025版賣方汽車零部件購銷合同范本詳細2篇
- 二零二五版茶葉種植基地土壤改良與肥料施用合同3篇
- 平安產(chǎn)險陜西省地方財政生豬價格保險條款
- 銅礦成礦作用與地質(zhì)環(huán)境分析
- 30題紀檢監(jiān)察位崗位常見面試問題含HR問題考察點及參考回答
- 詢價函模板(非常詳盡)
- 《AI營銷畫布:數(shù)字化營銷的落地與實戰(zhàn)》
- 麻醉藥品、精神藥品、放射性藥品、醫(yī)療用毒性藥品及藥品類易制毒化學(xué)品等特殊管理藥品的使用與管理規(guī)章制度
- 一個28歲的漂亮小媳婦在某公司打工-被老板看上之后
- 乘務(wù)培訓(xùn)4有限時間水上迫降
- 2023年低年級寫話教學(xué)評語方法(五篇)
- DB22T 1655-2012結(jié)直腸外科術(shù)前腸道準備技術(shù)要求
- GB/T 16474-2011變形鋁及鋁合金牌號表示方法
評論
0/150
提交評論