單片機指令系統 3.1 MCS-51指令簡介 3.2 指令系統 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數據傳送指令位操 2、直接尋址 2、算術運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內部數據存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(立即數); #datal6——表示16位常數; add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內容 (( ))——表示間接尋址的內容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數的指令 2. 以Rn為目的操作數的指令 3. 以直接地址為目的操作數的指令 4. 以寄存器間接地址為目的操作數指令 應用舉例1 8段數碼管顯示 應用舉例2 3.2 指令系統 2、堆棧操作指令 3. 累加器A與外部數據傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節交換指令 6. 半字節交換指令 二、算術操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環指令 帶進位左循環指令(Rotate Accumulator Left through Carry flag) 右循環指令(Rotate Accumulator Right) 帶進位右循環指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉移類指令 1. 跳轉指令 相對轉移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關系 2. 條件轉移指令 3. 比較不相等轉移指令 4. 減 1 不為 0 轉移指令 5. 調用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數據位傳送指令 2. 位變量邏輯指令 3. 條件轉移類指令
上傳時間: 2013-10-27
上傳用戶:xuanjie
含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片機核心,配相應的外圍電路和功能軟件,能實現各種波形發生的應用系統,它由硬件部分和軟件部分組成,硬件是系統的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發生的任務。 波形發生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統進行初始化,LED在面板上顯示6個0,表示系統處于初始狀態,等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統進入設置狀態,相應的數碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態后,輸入0~9等數字鍵,(數字鍵僅在設置狀態時,有效)為欲輸出的波形設置相應參數,LED將參數顯示在面板上;4、 如果在設置中,要改變已設定的參數,可按下“CL”鍵,清除所有已設定參數,系統恢復初始狀態,LED顯示6個0,等待重新輸入命令;5、 當必要的參數設定完畢后,所有參數顯示于LED上,用戶按下“EN”鍵,系統會將各波形參數傳遞到波形產生模塊中,以便控制波形發生,實現不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發生器開始輸出滿足參數的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數;7、 波形發生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數,設置過程如上所述,如果不改變參數,可按下“EN”鍵,繼續輸出原波形信號;8、 要停止波形發生器的使用,可按下復位按鈕,將系統復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊) 波形發生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數據傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數器,在波形發生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數碼管動態顯示; 提供響應界面; 掃面鍵盤; 提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態,按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH , C口:7FFEH 3、D/A電路功能:將波形樣值的數字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數字編碼,不同的編碼會產生不同的輸出值,在本發生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發生器提供直流能量;構成由變壓器、整流硅堆,穩壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩定,使用7805進行穩壓。最后,+5V電源配送到各用電負載。
上傳時間: 2013-11-08
上傳用戶:685
微型機算計發展概述人類從原始社會學會使用工具以來到現代社會經歷了三次大的產業革命:農業革命、工業革命、信息革命。而信息革命是以計算機技術和通信技術的發展和普及為代表的。人類已進入了高速發展的現代時期。其中計算機科學和技術發展之快,是任何其他技術都無法相提并論的自從1946年美國賓夕法尼亞大學研制成功的世界上第一臺電子計算機到現在已50多年的歷史。計算機的發展經歷了四代:第一代:電子管電路計算機,電子管數:18800個;繼電器數量:5000個;耗電量:150KW;重量:30t;占地面積:150平方米;運算速度:5000次加法運算/s。第二代:晶體管電路計算機(60年代初)第三代:小規模集成電路計算機。第四代:大規模(LSI)和超大規模(VSLI)集成電路計算機。第四代計算機基本情況:運算速度為每秒幾千億次到幾萬億次;從數值計算和數據處理到目前進行知識處理的人工智能階段;計算機不僅可以處理文字、字符、圖形圖象信息,而且可以處理音頻、視頻等多媒體信息;計算機正朝著智能化和多媒體化方向發展。微型計算機的定義:以微處理器為核心,再配上半導體存儲器、輸入/輸出接口電路、系統總線及其它支持邏輯電路組成的計算機稱微型計算機。在1971年美國Intel公司首先研制成功世界上第一塊微處理器芯片4004以來,差不多每隔2~3年就推出一代新的微處理器產品;如今已推出了第五代微處理器。因為微處理器是微型計算機的核心部件,它的性能在很大程度上決定了微型計算機的性能,所以微型計算機的發展是以微處理器的發展而更新換代的。微處理器和微型計算機的發展:1.第一代微處理器和微型計算機:(1971~1973年)——4位CPU和低檔8位處理器,典型的產品有:Intel 4004、改進型的4040,是4位處理器,以它為核心構成的微機是MCS-4。Intel 8008是8位通用微處理器,以它為核心所構的微機是MCS-8。參數:芯片采用PMOS工藝;集成度為2000管/片;時鐘頻率1MHz;平均指令執行時間為20μs。2.第二代微處理器和微型計算機(1973~1978年)——成熟的8位CPU,典型的產品有:Intel 8080(1973年由Intel公司推出)MC6800 (1974年由美國Motorola推出。Z-80 (1975年由Zilog公司推出。Intel 8085 (1976年由Intel公司推出,是Intel 8080的改進型。MOS 6502,由MOS公司推出,它是IBM PC機問世之前世界上最流行的微型計算機Apple2(蘋果機)的CPU。第二代微處理器的參數:芯片工藝采用NMOS工藝,集成度達到5000~9000管/片;時鐘頻率2~4MHz;平均指令執行時間為1~2μs;具有多種尋址方式,指令系統完善,基本指令100多條。特點:具有中斷、DMA等控制功能;也考慮了兼容性、接口標準化和通用性、配套的外圍電路功能和種類齊全。在軟件方面:主要是匯編,還有一些簡單的高級語言和操作系統。
上傳時間: 2013-11-24
上傳用戶:蔣清華嗯
用單片機AT89C51改造普通雙桶洗衣機:AT89C2051作為AT89C51的簡化版雖然去掉了P0、P2等端口,使I/O口減少了,但是卻增加了一個電壓比較器,因此其功能在某些方面反而有所增強,如能用來處理模擬量、進行簡單的模數轉換等。本文利用這一功能設計了一個數字電容表,可測量容量小于2微法的電容器的容量,采用3位半數字顯示,最大顯示值為1999,讀數單位統一采用毫微法(nf),量程分四檔,讀數分別乘以相應的倍率。電路工作原理 本數字電容表以電容器的充電規律作為測量依據,測試原理見圖1。電源電路圖。 壓E+經電阻R給被測電容CX充電,CX兩端原電壓隨充電時間的增加而上升。當充電時間t等于RC時間常數τ時,CX兩端電壓約為電源電壓的63.2%,即0.632E+。數字電容表就是以該電壓作為測試基準電壓,測量電容器充電達到該電壓的時間,便能知道電容器的容量。例如,設電阻R的阻值為1千歐,CX兩端電壓上升到0.632E+所需的時間為1毫秒,那么由公式τ=RC可知CX的容量為1微法。 測量電路如圖2所示。A為AT89C2051內部構造的電壓比較器,AT89C2051 圖2 的P1.0和P1.1口除了作I/O口外,還有一個功能是作為電壓比較器的輸入端,P1.0為同相輸入端,P1.1為反相輸入端,電壓比較器的比較結果存入P3.6口對應的寄存器,P3.6口在AT89C2051外部無引腳。電壓比較器的基準電壓設定為0.632E+,在CX兩端電壓從0升到0.632E+的過程中,P3.6口輸出為0,當電池電壓CX兩端電壓一旦超過0.632E+時,P3.6口輸出變為1。以P3.6口的輸出電平為依據,用AT89C2051內部的定時器T0對充電時間進行計數,再將計數結果顯示出來即得出測量結果。整機電路見圖3。電路由單片機電路、電容充電測量電路和數碼顯示電路等 圖3 部分組成。AT89C2051內部的電壓比較器和電阻R2-R7等組成測量電路,其中R2-R5為量程電阻,由波段開關S1選擇使用,電壓比較器的基準電壓由5V電源電壓經R6、RP1、R7分壓后得到,調節RP1可調整基準電壓。當P1.2口在程序的控制下輸出高電平時,電容CX即開始充電。量程電阻R2-R5每檔以10倍遞減,故每檔顯示讀數以10倍遞增。由于單片機內部P1.2口的上拉電阻經實測約為200K,其輸出電平不能作為充電電壓用,故用R5兼作其上拉電阻,由于其它三個充電電阻和R5是串聯關系,因此R2、R3、R4應由標準值減去1K,分別為999K、99K、9K。由于999K和1M相對誤差較小,所以R2還是取1M。數碼管DS1-DS4、電阻R8-R14等組成數碼顯示電路。本機采用動態掃描顯示的方式,用軟件對字形碼譯碼。P3.0-P3.5、P3.7口作數碼顯示七段筆劃字形碼的輸出,P1.3-P1.6口作四個數碼管的動態掃描位驅動碼輸出。這里采用了共陰數碼管,由于AT89C2051的P1.3-P1.6口有25mA的下拉電流能力,所以不用三極管就能驅動數碼管。R8-R14為P3.0-P3.5、P3.7口的上拉電阻,用以驅動數碼管的各字段,當P3的某一端口輸出低電平時其對應的字段筆劃不點亮,而當其輸出高電平時,則對應的上拉電阻即能點亮相應的字段筆劃。
上傳時間: 2013-12-31
上傳用戶:ming529
多功能高集成外圍器件6. 1 多功能高集成外圍器件82371PCI的英文名稱:Peripheral Component Interconnect (外圍部件互聯PCI總線);82371是PCI總線組件。ISA是:Industry Standard Architecture(工業標準體系結構)IDE是 (Integrated Device Electronics)集成電路設備簡稱PIIX4PIIX4器件(芯片)的特點1、是一種支持Pentium和PentiumII微處理器的部件。2、82371對ISA橋來說,是一種多功能PCI總線。3、對可移動性和桌面深綠色環境均提供支持。4、電源管理邏輯。5、被集成化的IDE控制器。6、增強了性能的DMA控制器。(7)基于兩個82C59的中斷控制器。(8)基于82C54芯片的定時器。(9)USB(Universal Serial Bus)通用串行總線。(10)SMBus系統管理總線。(11)實時時鐘(12)順應Microsoft Win95所需的功能其芯片的邏輯框圖如圖6-1所示。 PIIX4芯片邏輯框圖6.1.1 概述PIIX4芯片是一個多功能的PCI器件,圖6-2 是82371在系統中扮演的角色。(續上圖)1. PCI與EIO之間的橋(PIIX4芯片)橋是不對程的,是各類不同標準總線與PCI總線連接,82371AB橋也可理解為一種總線轉換譯碼器和控制器,橋內包含復雜的協議總線信號和緩沖器。(1).在PCI系統內,當PIIX4操作時,它總是作為系統內各種模塊的主控設備,如USB和DMA控制器、IDE總線和分布式DMA的主控設備等,而且總是以ISA主控設備的名義出現。(2). 在向ISA總線或IDE總線進行傳送操作的傳送周期期間作為從屬設備使用,并對內部寄存器譯碼。PIIX4芯片(橋)的配置(1).可以把PIIX4芯片配置成整個ISA總線,或ISA總線的子集,也可擴展成EIO總線。在使用EIO總線時,可以把未使用的信號配置成通用的輸入和輸出。(2).PIIX4可直接驅動5個ISA插槽;(3).能提供字節-交換邏輯、I/O的恢復支持、等待狀態的生成以及SYSCLK的生成。(4).提供X-BUS鍵盤控制器芯片、BIOS芯片、實時時鐘芯片、二級微程序器等的選擇。2. IDE接口(總線主控設備的權利和同步DMA方式)IDE接口為4個IDE的設備提供支持,比如IDE接口的硬盤和CD-ROM等。注意:目前硬盤接口有5類:IDE、SCSI、Fibre Channel、IEEE1394和USB等。IDE口幾乎在PC機最多,因為便宜。SCSI多用于服務器和集群機。IDE的PIO IDE速率:14MB/s;而總線主控設備IDE的速率:33MB/s在PIIX4芯片的IDE系統內,配有兩個各次獨立的IDE信號通道。3. 具有兼容性的模塊—DMA、定時器/計數器、中斷控制器等(1)在PIIX4內的兩各82C37 DMA控制器經邏輯的組合,產生7個獨立的可編程通道。通道[0:3]是通過與8個二進位的硬件連線實現的。通過以字節為單位的計數進行傳送。而通道[5:7]是通過16個二進位的連線實現的,以字為單位的計數進行傳送。(2)DMA控制器還能通過PCI總線,處理舊的DMA的兩個不同的方法提供支持。(3)計數/定時器模塊在功能上與82C54等價。(4)中斷控制器與ISA兼容,其功能是兩個82C59的功能之和。
上傳時間: 2013-11-19
上傳用戶:3到15
82C55A是高性能,工業標準,并行I/O的LSI外圍芯片;提供24條I/O腳線。 在三種主要的操作方式下分組進行程序設計82C88A的幾個特點:(1)與所有Intel系列微處理器兼容;(2)有較高的操作速度;(3)24條可編程I/O腳線;(4)底功耗的CHMOS;(5)與TTL兼容;(6)擁有控制字讀回功能;(7)擁有直接置位/復位功能;(8)在所有I/O輸出端口有2.5mA DC驅動能力;(9)適應性強。方式0操作稱為簡單I/O操作,是指端口的信號線可工作在電平敏感輸入方式或鎖存輸出。所以,須將控制寄存器設計為:控制寄存器中:D7=1; D6 D5=00; D2=0。D7位為1代表一個有效的方式。通過對D4 D3 D1和D0的置位/復位來實現端口A及端口B是輸入或輸出。P56表2-1列出了操作方式0端口管腳功能。
上傳時間: 2013-10-26
上傳用戶:brilliantchen
設計一個單片機控制的簡易定時報警器。要求根據設定的初始值(1-59秒)進行倒計時,當計時到0時數碼管閃爍“00”(以1Hz閃爍),按鍵功能如下:(1)設定鍵:在倒計時模式時,按下此鍵后停止倒計時,進入設置狀態;如果已經處于設置狀態則此鍵無效。(2)增一鍵:在設置狀態時,每按一次遞增鍵,初始值的數字增1。(3)遞一鍵:在設置狀態時,每按一次遞減鍵,初始值的數字減1。(4)確認鍵:在設置狀態時,按下此鍵后,單片機按照新的初始值進行倒計時及顯示倒計時的數字。如果已經處于計時狀態則此鍵無效。3.1.2 模塊1:系統設計(1)任務分析與整體設計思路根據題目的要求,需要實現如下幾個方面的功能。計時功能:要實現計時功能則需要使用定時器來計時,通過設置定時器的初始值來控制溢出中斷的時間間隔,再利用一個變量記錄定時器溢出的次數,達到定時1秒中的功能。然后,當計時每到1秒鐘后,倒計時的計數器減1。當倒計時計數器到0時,觸發另一個標志變量,進入閃爍狀態。顯示功能:顯示倒計時的數字要采用動態掃描的方式將數字拆成“十位”和“個位”動態掃描顯示。如果處于閃爍狀態,則可以不需要動態掃描顯示,只需要控制共陰極數碼管的位控線,實現數碼管的滅和亮。鍵盤掃描和運行模式的切換:主程序在初始化一些變量和寄存器之后,需要不斷循環地讀取鍵盤的狀態和動態掃描數碼管顯示相應的數字。根據鍵盤的按鍵值實現設置狀態、計時狀態的切換。 (2)單片機型號及所需外圍器件型號,單片機硬件電路原理圖選用MCS-51系列AT89S51單片機作為微控制器,選擇兩個四聯的共陰極數碼管組成8位顯示模塊,由于AT89S51單片機驅動能力有限,采用兩片74HC244實現總線的驅動,一個74HC244完成位控線的控制和驅動,另一個74HC244完成數碼管的7段碼輸出,在輸出口上各串聯一個100歐姆的電阻對7段數碼管限流。由于鍵盤數量不多,選擇獨立式按鍵與P1口連接作為四個按鍵輸入。沒有鍵按下時P1.0-P1.3為高電平,當有鍵按下時,P1.0-P1.3相應管腳為低電平。電路原理圖如圖3-1所示。
上傳時間: 2013-11-13
上傳用戶:曹云鵬
AVR單片機GCC程序設計:第一章 概述1.1 AVR 單片機GCC 開發概述1.2 一個簡單的例子1.3 用MAKEFILE 管理項目1.4 開發環境的配置1.5 實驗板CA-M8第二章 存儲器操作編程2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位2.7 外部RAM 存儲器操作2.8 堆應用第三章 GCC C 編譯器的使用3.1 編譯基礎3.2 生成靜態連接庫第四章 AVR 功能模塊應用實驗4.1 中斷服務程序4.2 定時器/計數器應用4.3 看門狗應用4.4 UART 應用4.5 PWM 功能編程4.6 模擬比較器4.7 A/D 轉換模塊編程4.8 數碼管顯示程序設計4.9 鍵盤程序設計4.10 蜂鳴器控制第五章 使用C 語言標準I/O 流調試程序5.1 avr-libc 標準I/O 流描述5.2 利用標準I/0 流調試程序5.3 最小化的格式化的打印函數第六章 CA-M8 上實現AT89S52 編程器的實現6.1 編程原理6.2 LuckyProg2004 概述6.3 AT989S52 isp 功能簡介6.4 下位機程序設計第七章 硬件TWI 端口編程7.1 TWI 模塊概述7.2 主控模式操作實時時鐘DS13077.3 兩個Mega8 間的TWI 通信第八章 BootLoader 功能應用8.1 BootLoader 功能介紹8.2 avr-libc 對BootLoader 的支持8.3 BootLoader 應用實例8.4 基于LuckyProg2004 的BootLoader 程序第九章 匯編語言支持9.1 C 代碼中內聯匯編程序9.2 獨立的匯編語言支持9.3 C 與匯編混合編程第十章 C++語言支持附錄 1 avr-gcc 選項附錄 2 Intel HEX 文件格式描述
上傳時間: 2014-04-03
上傳用戶:ligi201200
電子密碼鎖的設計與實現一、實驗目的 1.進一步掌握鍵盤掃描和LED顯示的程序設計。 2.了解按鍵消抖的方法。 3.綜合運用微機原理的軟硬件知識。 二、實驗內容與要求 1.基本要求 (1)具有密碼輸入功能,密碼最多為6位;(2)設置退格鍵,以便刪除輸入錯誤的密碼;(3)在輸入的密碼時數碼管上只顯示8,并根據輸入位數依次橫移;(4)設置確認鍵,當確認鍵按下后,判斷輸入密碼是否正確;(5)當輸入密碼正確時,點亮發光二極管;當輸入密碼不正確時,發光二極管不亮并且蜂鳴器報警,重新輸入,當三次密碼輸入不正確時,系統應鎖定鍵盤10s。2.提高要求 將用戶分為管理者和使用者,管理者擁有超級密碼,可以修改其他人的密碼。使用者不能修改密碼。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結果和體會(包括遇到的問題及解決的方法) 四、總體設計 電子密碼鎖的原理是:從鍵盤輸入一組密碼,CPU把該密碼和設置密碼比較,對則將鎖打開(不同鎖的控制方式不一樣,比如加電控制電磁鐵抽回,從而打開),錯則要求重新輸入,并記錄錯誤次數,如果三次錯誤,則被強制鎖定并報警,除非超級密碼或者其他的手段打開,比如延時一段時間。 初步設計思路如下: 1.輸入密碼用矩形鍵盤,包括數字鍵和功能鍵,功能鍵包括退格鍵和確認鍵。 2.LED數碼管顯示輸入密碼,但是只是輸出顯示符號8 。采用動態掃描輸出。 3.用發光二極管模擬鎖的情況,鎖關時發光二極管滅,打開時發光二極管亮。 4.輸入密碼錯誤時報警,3次輸入錯誤時鍵盤鎖定10s,鍵盤無法接收數據。 軟件的設計主要包括矩形鍵盤鍵值的讀取、LED動態掃描輸出程序、密碼判斷程序和報警程序。 五、硬件設計 根據設計思路,硬件電路可通過實驗平臺上的一些功能模塊電路組成,由于實驗平臺上的各個功能模塊已經設計好,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現相對簡單。完整系統的硬件連接如圖1所示。硬件電路由LED數碼管顯示模塊、按鍵模塊、發光二極管電路和蜂鳴器模塊組成。各個模塊的詳細說明:1.LED數碼管模塊實驗平臺上提供一組六個LED數碼管。插孔CS1用于數碼管段選的輸出選通,插孔CS2用于數碼管位選信號的輸出選通。本設計用6個數碼管來動態顯示時分秒,動態顯示的定時時間由8253定時/計數器來實現。8253主要是實現每位顯示時間1ms,由8253的計數器0來實現。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255的PA0輸出來控制計數器的起停。OUT0接8259的IRQ2,定時完成請求中斷,進入中斷服務程序。軟件在中斷服務程序中LED數碼管顯示。
標簽: 電子密碼鎖
上傳時間: 2013-10-16
上傳用戶:15070202241
交通燈控制器的設計與實現一、實驗目的1. 了解交通燈管理的基本工作原理。2. 熟悉8253計數器/定時器、8259A中斷控制器和8255A并行接口的工作方式及應用編程。3. 掌握多位LED顯示的方法。 二、 實驗內容與要求設計一個用于十字路口的交通燈控制器。1.基本要求: 1) 東西和南北方向各有一組紅,黃,綠燈用于指揮交通,紅,黃,綠的持續時間分別為25s,5s,20s。2) 當有緊急情況(如消防車)時,兩個方向均為紅燈亮,計時停止,當特殊情況結束后,控制器恢復原來狀態,正常工作。3) 一組數碼管,以倒計時方式顯示兩個方向允許通行或禁止通行的時間。2.提高部分:1) 實時修改交通燈的持續時間。2) 根據不同時段對主要交通方向的信號進行調整。3) 可以使用LCD顯示提示信息。 三、實驗報告要求 1.設計目的和內容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單 5.設計結果和體會(包括遇到的問題及解決的方法) 四、總體設計交通燈的工作過程如下:設十字路口的1、3為南,北方向,2、4為東西方向,初始態為4個路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車,2個路口的LED數碼管開始倒計時25秒。延遲20秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。閃爍5次后,1、3路口的紅燈亮,同時2、4路口的綠燈亮,2、4路口方向開始通車,2個路口的LED數碼管重新開始倒計時25秒。延遲20秒時間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復上述過程。當有緊急情況時,2個方向都紅燈亮,倒計時停止,車輛禁止通行,當緊急情況結束后,控制器恢復以前的狀態繼續工作。 在設計中采用6個發光二極管來模擬2個路口的黃紅綠燈,每個路口用2個數碼管來顯示通行或禁止剩余的時間。緊急情況用一個單脈沖發生單元申請中斷來模擬,緊急情況結束后,再發一個中斷來恢復以前的狀態。 根據前面的介紹,本設計硬件由定時模塊、發光二極管模塊、數碼管顯示模塊和緊急中斷模塊組成。定時模塊采用硬件定時和軟件定時相結合的方法,用8253定時/計數器定時100ms,再用軟件計時實現所需的定時。發光二極管模塊由8255控制發光二極管來實現。數碼管顯示模塊由實驗平臺上的LED顯示模塊實現。緊急中斷模塊是由單脈沖發生單元和8279中斷控制器組成。 程序主要是由定時子程序、發光二極管顯示子程序、數碼管顯示子程序和中斷服務程序組成。包括對8253、8255以及8259等可編程器件的編程。 五、硬件設計 本課題的設計可通過實驗平臺上的一些功能模塊電路組成,由于各模塊電路內部已經連接,用戶在使用時只要設計模塊間電路的連接,因此,硬件電路的設計及實現相對簡單。完整系統的硬件連接如圖1所示。硬件電路由定時模塊、發光二極管模塊、數碼管顯示模塊和緊急中斷模塊組成。 定時模塊是由8253的計數器0來實現定時100ms。Clk0接實驗平臺分頻電路輸出Q6,f=46875hz。GATE0接8255的PA0,由8255輸出來控制計數器的起停。OUT0接8259的IRQ2,定時完成申請中斷,進入中斷服務程序。 發光二極管顯示模塊由8255輸出來控制發光二極管的亮滅。8255輸出為低電平時,對應的發光二極管就點亮,否則就熄滅。8255的接口電路如圖2所示。交通燈的對應關系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013紅燈 13黃燈 13綠燈 24紅燈 24黃燈 24綠燈 實驗平臺上提供一組六個LED數碼管。插孔CS1用于數碼管段選的輸出選通,插孔CS2用于數碼管位選信號的輸出選通。本設計用4個數碼管來倒計時。 緊急中斷模塊是由單脈沖發生單元和8259中斷控制器,單脈沖發生單元主要用來請求中斷,然后做出緊急情況處理。
標簽: 交通燈控制器
上傳時間: 2013-10-07
上傳用戶:小小小熊