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
本章將介紹μ’nSP™系列單片機的應用領域,具體講述SPCE061A單片機在通訊、語音領域里的應用,并詳細給出了有關系統的電路原理圖、程序流程圖以及程序代碼,供讀者參考。 μ’nSP™家族產品具有電源電壓范圍和工作速率范圍較寬、集成度高、性能價格比高以及功耗低等特點,故其有非常廣泛的應用領域。μ’nSP™家族系列產品,涵蓋了非常廣泛的應用。包括:發音與語音識別的微控制器(SPCE系列)、通信來電辯識應用的微控制器(SPT660x系列)、以及通用型微控制器等等,主要體現在以下幾個方面: 用于數字信號處理 用于開發研制便攜式移動終端 用于開發嵌入式計算機應用系統 用于數字信號處理1. 數字濾波器 (Digital Filter)數字濾波器是一種計算處理或算法。借助于此,可以將輸入的一種數字信號或序列變換為另一種序列輸出。數字濾波器已被廣泛地應用于數字語音、數字圖像處理以及模式識別和頻譜分析。數字信號處理器(DSP,Digital Signal Processor)的作用是通過一系列數字來表示信號及其信息,并借助數字計算方法變換和處理這些信號。為了構成DSP,必須有一種部件能夠快速地完成兩個數值的乘法運算并將乘積累加于寄存器。“快速”意味著乘和累加(MAC,Multiply & ACcumulate)較高的運算速度。若以16位數值進行乘和累加,其結果應為32位。顯然,μ’nSP™的硬件結構與其指令系統的結合足以構成DSP應用的硬件MAC單元,因而很適用于一些DSP方面的應用。
上傳時間: 2014-01-26
上傳用戶:qb1993225
設置復位標志位便于區分不同原因引發的復位,作為一種新技術被越來越多的新型單片機所采納。例如Philips公司的P87LPC700和 P89LPC900系列、Freescale公司(原Motorola半導體部)的MC68HC05系列和MC68HC08系列、Sunplus公司的 SPMC65系列、Microchip公司的PIC系列等,內部都設計了專門用于記錄各種復位標志的狀態寄存器。MC68HC08系列有一個復位狀態寄存器,負責記錄6種復位標志位:上電復位、引腳復位、看門狗復位、非法指令復位、非法地址復位和欠壓復位。SPMC65系列有一個系統控制寄存器,負責記錄5種復位標志位:上電復位、外部復位、看門狗復位、非法地址復位和欠壓復位。51兼容的P89LPC900系列有一個復位源寄存器,負責記錄6種復位標志位:欠壓復位、上電復位、外部復位、看門狗復位、軟件復位和UART收到間隔字符復位(主要作為進入ISP監控程序的途徑之一)。就連初學者很常用的 AT89S51/52和P89C52X2,也在其電源控制寄存器PCON中增設了一個上電標志位POF。1、 復位標志位的設置方法傳統的80C51單片機沒有設計復位標志位的記錄功能,這應該說是一種遺憾,那么能否通過一定的技術手段來彌補這個缺憾呢?這里給廣大80C51單片機用戶提供一種啟示和引導。實現復位標志位的記錄肯定需要一定的硬件電路支持,而這種電路的設計不存在固定模式。筆者利用一片MAX813L設計了一種支撐電路,如圖1所示,僅供讀者參考。
上傳時間: 2013-10-21
上傳用戶:lhw888
基于單片機的紅外門進控制系統設計與制作:我們所做的創新實驗項目“基于單片機的紅外門控系統”已基本完成,現將其工作原理簡要說明。該系統主要分為兩大部分:一是紅外傳感器部分。二是單片機計數顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對管實現,紅外對管平行放置,平常處于接收狀態,經比較器輸出低電平,當有人經過時,紅外線被擋住,接收管接收不到紅外線,經比較器輸出高電平。這樣,當有人經過時便會產生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經過,如果有人經過,由于電平跳變的產生,進入中斷服務程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷0作為入口,實現加1操作,中斷1作為出口,實現減1操作。另外,我們通過P0口控制室內燈的亮暗,當寄存器計數值為0時,熄燈,不為0時,燈亮。顯示部分,采用兩位數碼管動態顯示,如有必要,可以很方便的擴展為四位計數。精益求精!在實驗過程中,我們走了非常多的彎路,做出來的東西根本不是自己想要的,我們本想做成室內只有一個門的進出計數,原理已清楚,即在門的兩邊放置兩對紅外對管,進出時,擋住兩對對管的順序不同,因此,可判斷是進入還是出去,從而實現加減計數,編程時,可分別在兩個中斷服務程序的入口置標志位,根據標志位判斷進出,詳細內容在程序部分。理論如此,但在實際過程中,還是發現實現不了上述功能,我們初步判定認為是程序掌握得不夠好,相信隨著自己對單片機了解的深入,應該會做出更好的 (因為我們是臨時學的單片機),程序的具體內容如下: $MOD52 ORG 0000H LJMP MAIN ORG 0003H LJMP 0100H ORG 0013H LJMP 0150H ORG 0050HMAIN: CLR A MOV 30H , A ;初始化緩存區 MOV 31H , A MOV 32H , A MOV 33H , A MOV R6 , A MOV R7 , A SETB EA SETB EX0 SETB EX1 SETB IT0 SETB IT1 SETB PX1NEXT1: ACALL HEXTOBCDD ;調用數制轉換子程序 ACALL DISPLAY ;調用顯示子程序 LJMP NEXT1 ORG 0100H ;中斷0服務程序 LCALL DELY mov 70h,#2 djnz 70h,next JBC F0,NEXT SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 MOV A , R7 ADD A , #1 MOV R7, A MOV A , R6 ADDC A , #0 MOV R6 , A CJNE R6 , #07H , NEXT CLR A MOV R6 , A MOV R7 , ANEXT: RETI ORG 0150H ;中斷1服務程序 LCALL DELY mov 70h,#2 djnz 70h,next2 JBC F0,NEXT2 SETB F0 CLR P0.0 LCALL DELY0 SETB P0.0 CLR C MOV A , R7 SUBB A , #1 MOV R7, A MOV A , R6 SUBB A , #0 MOV R6 , A CJNE R6 , #07H , NEXT2 CLR A MOV R6 , A MOV R7 , ANEXT2: RETI ORG 0200HHEXTOBCDD:MOV A , R6 ;由十六進制轉化為十進制 PUSH ACC MOV A , R7 PUSH ACC MOV A , R2 PUSH ACC CLR A MOV R3 , A MOV R4 , A MOV R5 , A MOV R2 , #10HHB3: MOV A , R7 ;將十六進制中最高位移入進位位中 RLC A MOV R7 , A MOV A , R6 RLC A MOV R6 , A MOV A , R5 ;每位數加上本身相當于將這個數乘以2 ADDC A , R5 DA A MOV R5 , A MOV A , R4 ADDC A , R4 DA A ;十進制調整 MOV R4 , A MOV A , R3 ADDC A , R3 DJNZ R2 , HB3 POP ACC MOV R2 , A POP ACC MOV R7 , A POP ACC MOV R6 , A RET ORG 0250HDISPLAY: MOV R0 , #30H MOV A , R5 ANL A , #0FH MOV @R0 , A MOV A , R5 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 ANL A , #0FH INC R0 MOV @R0 , A MOV A , R4 SWAP A ANL A , #0FH INC R0 MOV @R0 , A MOV R0 , #30H MOV R2 , #11111110BAGAIN: MOV A , R2 MOV P2 , A MOV A , @R0 MOV DPTR , #TAB MOVC A , @A+DPTR MOV P1 , A ACALL DELAY INC R0 MOV A , R2 RL A MOV R2 , A JB ACC.4 , AGAIN RETTAB: DB 03FH , 06H , 5BH , 4FH , 66H , 6DH , 7DH , 07H , 7FH , 6FH ;七段碼表DELY: MOV R1,#80D1: MOV R2,#100 DJNZ R2,$ DJNZ R1,D1 RET DELAY: MOV TMOD , #01H ;延時子程序 MOV TL0 , #0FEH MOV TH0 , #0FEH SETB TR0WAIT: JNB TF0 , WAIT CLR TF0 CLR TR0 RETDELY0: MOV R1, #200D3: MOV R2,#250 DJNZ R2,$ DJNZ R1,D3 RET END 該系統實際應用廣泛。可用在生產線上產品數量統計、公交車智能計數問候(需添加語音芯片)、超市內人數統計等公共場合。另外,添加串口通信部分便可實現與PC數據交換的功能。 由于,實驗簡化了,剩下不少零件和資金,所以我們又做了兩項其他的實驗。
上傳時間: 2013-12-22
上傳用戶:tangsiyun
單片機常用芯片和器件手冊:有常用的像寄存器,鎖存器,單片機芯片資料介紹等,非常實用。
上傳時間: 2013-11-22
上傳用戶:zhaoman32
5.1 中斷基本概念5.1.1 中斷基本概念定義:CPU暫停現行程序,轉而處理隨機到來的事件,待處理完后再回到被暫停的程序繼續執行,這個過程就是中斷。中斷過程:中斷處理的隱操作:程序狀態及程序斷點地址的進棧及出棧。 中斷系統其他功能: 支持多中斷源和多種中斷源。 支持中斷屏蔽處理。 支持中斷嵌套處理。 支持中斷優先級修改。 支持中斷結束方式選擇。5.1.2 中斷類型1.外部硬件(如鍵盤、鼠標,串口,并口打印機等)中斷屬性:硬件、可屏蔽、向量。 中斷請求:多個中斷請求的排隊和判優由中斷控制器完成,產生的有無中斷請求的信號送到CPU的INTR引腳。 中斷類型號:通過數據總線送到CPU中。EFLAGS寄存器的IF位影響CPU對中斷請求的響應。處理器在當前指令執行結束的時候啟動中斷識別INTA總線周期。
標簽: 中斷技術
上傳時間: 2013-11-09
上傳用戶:黃婷婷思密達
數據傳送的控制 數據傳送涉及的3個問題1)數據的來源;2)數據的去處;3)數據本身以及如何控制數據的傳送。 DMA方式控制的數據傳送 DMA傳送方式通常用來高速傳送大批量的數據塊。如: 硬盤和軟盤I/O; 快速通信通道I/O; 多處理機和多程序數據塊傳送; 在圖像處理中,對CRT屏幕送數據; 快速數據采集; DRAM的刷新操作。 DMA傳送包括:(1)存儲單元傳送:存儲器→存儲器。(2)DMA讀傳送:存儲器→I/O設備。(3)DMA寫傳送:I/O設備→存儲器。4.1.2 DMA傳送的工作過程 1)I/O設備向DMAC發出DMA請求;2) DMAC向CPU發出總線請求;3)CPU在執行完當前指令的當前的總線周期后,向DMAC發出總線響應信號;4)CPU脫離對系統總線的控制,由DMAC接管對系統總線的控制; 為什么DMA傳送方式能實現高速傳送?DMA傳送的過程是什么樣的?畫出流程。DMA有哪些操作方式?各有什么特點。簡述DMA控制器的兩個工作狀態的特點。試設計一種在8088大模式下與8237連接的基本電路圖。并說明你的設計中8237各個端口的實際地址。DMA控制器的時序包括哪幾個狀態周期?試畫出正常讀傳輸的時序。DMAC的內部地址寄存器是16位的,如何擴展地址來訪問16MB的地址空間?
標簽: DMA
上傳時間: 2013-11-18
上傳用戶:leixinzhuo
第6章 定時與計數技術6.1 概 述1.定時 定義:提供的時間基準。 分類:內部定時、外部定時。2.計數 定時與計數本質上是一致的。 計數的信號隨機,定時的信號具有周期性。3.應用分時系統切換任務的時間基準、測速、計數6.1.2 定時方法1.軟件定時 通過軟件指令周期方法定時,如執行循環程序。 增加CPU負擔,通用性差,一般用于短延時。2.不可編程硬件定時 采用中小規模IC構成。 不增加CPU負擔,成本低,定時值不可改變。3.可編程硬件定時 采用可編程計數器完成,軟件可改變計數值。 可編程定時/計數器:實質上定時和計數本質上都是脈沖計數器,定時計的是內部基準時鐘源產生的脈沖,計數是計外部脈沖。6.1.3 定時/計數器基本原理1.內部邏輯CPU接口: 片選、低端地址線、讀寫控制線、數據線外設接口: 時鐘、控制、輸出內部邏輯: 端口地址譯碼器、各種寄存器2.工作過程 設初值、控制(計數)、輸出
上傳時間: 2013-11-07
上傳用戶:yuzsu