單片機原理及綜合設計 第一章:MCS-51系列單片機的存儲結構(4學時)① 掌握內部數(shù)據(jù)寄存器RAM的結構、用途和特點;② 程序存儲器ROM的結構特點,編程中應注意的問題;③ 片內、外程序存儲器的確定方法。 第二章:MCS-51單片機指令系統(tǒng)及時序(4學時)① 111條指令的功能分類;② 指令的尋址方式;③ 偽指令及匯編語言源程序的格式;④ 與指令的相關時序。第三章:MCS-51單片機內部模塊的功能介紹(8學時)① 內部并行I/O端口的結構特點、使用中的注意事項;② 定時/計數(shù)器的2種工作方式、4種計數(shù)模式;③ 串行接口的4種工作模式的設定及波特率的計算;④ 中斷系統(tǒng)的結構、中斷響應的過程和編程方法。 第四章:MCS-51單片機系統(tǒng)的擴展及應用(8學時);① 系統(tǒng)擴展的幾種方法;② 外部程序、數(shù)據(jù)存儲器的擴展;③ A/D、D/A轉換器與單片機的接口電路及編程方法;④ 鍵盤掃描/動態(tài)顯示接口電路;⑤ 單片機的監(jiān)控電路等。
上傳時間: 2013-10-28
上傳用戶:ydd3625
單片機原理及應用 摘要:本文介紹了我院以集成混合信號的SOC 型單片機C8051F 為主講機型,對傳統(tǒng)的以講授MCS-51 為主的“單片機原理及應用”課程在實驗手段、實驗內容、教學方法等方面所進行的改革。
標簽: 單片機原理
上傳時間: 2013-11-12
上傳用戶:bjgaofei
單片機原理及應用實驗指導書 第一部分 系統(tǒng)介紹一、系統(tǒng)的特點EL 型微機教學實驗系統(tǒng)旨在提高實驗者的動手能力、分析解決問題的能力,系統(tǒng)具有以下特點:1、系統(tǒng)采用了模塊化設計,實驗系統(tǒng)功能齊全,涵蓋了微處理器教學實驗課程的大部分內容。2、系統(tǒng)采用了開放式的結構設計,通二組相對獨立的總線最多可同時擴展二塊應用實驗板,用戶可根據(jù)需要購置相應的實驗板,降低了成本,提高了靈活性,便于升級換代。3、配有兩塊可編程器件EPM7064/ATF1502,一塊被系統(tǒng)占用。另一塊供用戶實驗用。兩塊器件皆可通過JTAG 接口在線編程。使用十分方便。4、系統(tǒng)配有LED 數(shù)碼管顯示和點陣式液晶顯示模塊,二者的接口都對用戶開放,方便用戶靈活使用。5、系統(tǒng)配有完善的輸入鍵盤,方便用戶靈活編程。6、靈活的電源接口:配有PC 機電源插座,可有PC 提供電源。另外還配有外接開關電源,提供所需的+5V、±12V,其輸入為220V 的交流電。7、系統(tǒng)的聯(lián)機運行模式:配有系統(tǒng)調試軟件,系統(tǒng)調試軟件分為DOC 版和WINDOWS 版兩種,均為中文多窗口界面。調試程序時可以同時打開寄存器窗口、內存窗口、變量窗口、反匯編窗口、波形顯示窗口等等,極大的方便了用戶的程序調試。該軟件集源程序編輯、編譯、鏈接、調試于一體,每項功能均為中衛(wèi)下拉菜單,簡明易學。經(jīng)常使用的功能均備有熱鍵,這樣可以提高程序的調試效率。調試軟件不僅支持匯編語言,而且還支持C 語言編輯、編譯調試。8、系統(tǒng)的單機運行模式:系統(tǒng)在沒有與計算機連接的情況下,自動運行在單機模式,在此模式下,用戶可通過鍵盤輸入運行程序(機器碼),和操作指令,同時將輸入信息及操作的結果在LED 數(shù)碼管上顯示出來。9、系統(tǒng)的功能齊全,可擴展性(數(shù)據(jù)總線、地址總線、控制總線為用戶開放)亦能輕松滿足其課程設計、畢業(yè)設計使用等。二、系統(tǒng)概述1、微處理器: 8031,它的P1 口、T0、EX0、EX1、RXD、TXD、RD、WR 皆對用戶開放,供用戶使用。2、時鐘頻率:6.0MHz3、存儲器:程序存儲器與數(shù)據(jù)存儲器統(tǒng)一編址,最多可達64K,板載ROM(監(jiān)控程序27C256)16K,RAM(程序存儲器6264)8K 供用戶下載實驗程序,可達到32K;RAM(數(shù)據(jù)存儲器6264)8K 供用戶程序使用,可擴展達32K。(RAM 程序存儲器與數(shù)據(jù)存儲器不可同時擴展至32K,具體與廠家聯(lián)系)。(見圖1-1:存儲器組織圖)。在程序存儲器中:20000H----2FFFFH 為監(jiān)控程序存儲器區(qū),用戶不可使用,3000H----3FFFH 為用戶數(shù)據(jù)存儲區(qū)。4000H----7FFFH 為實驗程序存儲器區(qū),供用戶下載實驗程序8000H----CF9FH,CFF0H------FFFFH 為用戶CPLD 實驗區(qū)段,用戶可在此段空間編程。CFA0H----CFDFH 系統(tǒng)I/O 區(qū),用戶可用但不可更改。
上傳時間: 2013-10-21
上傳用戶:kiklkook
HT6221發(fā)碼的接收原理及應用 HT6221 是Holtek 公司生產(chǎn)的多功能編碼芯片,采用PPM(Pulse Position Modulation)進行編碼
上傳時間: 2014-09-10
上傳用戶:AbuGe
MCS-51.96系列單片機原理及應用 本書詳細介紹MCS-51系列單片微型計算機的硬件結構、組成原理和指 令系統(tǒng)。結合應用實例簡述系統(tǒng)的擴展和組成方法,并有較完整的應用系統(tǒng) 例子供讀者參考。書中的實用...
上傳時間: 2014-12-27
上傳用戶:agent
單片機原理及應用教程:1.1 微型計算機的組成及工作原理1.1.1 微型計算機中的基本概念1. 微處理器2. 微型計算機 (1)單片微處理機 (2)通用微型計算機3. 微型計算機系統(tǒng)2.1 MCS—51系列單片機的結構原理2.1.1 MCS-51單片機邏輯結構 MCS-51單片機的系統(tǒng)結構框圖如圖2.1所示。 3.1 MCS-51單片機指令格式 一條匯編語言指令中最多包含4個區(qū)段,如下所示: 標號:操作碼 目的操作數(shù),源操作數(shù) ;注釋 標號與操作碼之間“:”隔開; 操作碼與操作數(shù)之間用“空格”隔開; 目的操作數(shù)和源源操作數(shù)之間有“,”分隔; 操作數(shù)與注釋之間用“;”隔開。 所謂程序設計,就是按照給定的任務要求,編寫出完整的計算機程序。要完成同樣的任務,使用的方法或程序并不是唯一的。因此,程序設計的質量將直接影響到計算機系統(tǒng)的工作效率、運行可靠性。 前面我們學過了匯編語言形式的指令系統(tǒng),本章重點介紹匯編語言程序結構以及如何利用匯編語言指令進行程序設計的方法。
上傳時間: 2013-10-09
上傳用戶:huannan88
可編程計數(shù)器陳列PCA原理及應用設計P89C51Rx2的可編程計數(shù)器陳列是由5個相同的、以計數(shù)器為主的模塊組成。每個模塊除為主的計數(shù)器外,還輔之以比較器/沿捕捉器。
標簽: PCA 可編程計數(shù)器 應用設計
上傳時間: 2013-10-12
上傳用戶:youke111
PCF8583的工作原理及在單片機接口中的實現(xiàn):時鐘/日歷芯片PCF8583是一種實時時鐘集成電路,硬件方面介紹了PCF8583的結構、功能廈工作原理;軟件方面,因為PCF8583是通過I C總線方式與各種單片機接口的,先介紹了I。C總線的時序,最后采用C51語言對51單片機進行軟件編程,實現(xiàn)了對PCF8583芯片的讀寫,并調試成功,最終完成了串行實時時鐘功能。
上傳時間: 2013-10-30
上傳用戶:z240529971
無論是功能,還是性能,德州儀器(TI)的MSC1210單片機都達到了混合信號處理的顛峰,它集成了一個增強型8051內核,有8路24位低功耗(4roW)A. A/D轉換器;21個中斷源;16位PWM;全雙工UART(并兼容有SPI功能);停止方式電流小于1 A;比標準8051內核執(zhí)行速度快3倍且全兼容;片內集成32K字節(jié)FLASH,而且FLASH可定義為程序分區(qū)與數(shù)據(jù)存儲分區(qū),給設計帶來非常大的靈活性;片內SRAM也多達1.2K字節(jié);采用TQFP64小型封裝。由于具有如此高的模擬和數(shù)字集成度,對各種要求小體積、高集成度和精確測量而言,MCS1210實為理想的整合選擇。表1列出MSC1210的主要特性。
上傳時間: 2013-10-11
上傳用戶:yangzhiwei
16 16點陣顯示漢字原理及顯示程序 #include "config.h" #define DOTLED_LINE_PORT PORTB #define DOTLED_LINE_DDR DDRB #define DOTLED_LINE_PIN PINB #define DOTLED_LINE_SCKT PB1 #define DOTLED_LINE_SCKH PB5 #define DOTLED_LINE_SDA PB3 #define DOTLED_ROW_PORT PORTC #define DOTLED_ROW_DDR DDRC #define DOTLED_ROW_PIN PINC #define DOTLED_ROW_A0 PC0 #define DOTLED_ROW_A1 PC1 #define DOTLED_ROW_A2 PC2 #define DOTLED_ROW_A3 PC3 #define DOTLED_ROW_E PC4 uint8 font[] = { /*-- 調入了一幅圖像:這是您新建的圖像 --*/ /*-- 寬度x高度=16x16 --*/ 0x00,0x00,0x00,0x00,0x08,0x38,0x18,0x44,0x08,0x44,0x08,0x04,0x08,0x08,0x08,0x10, 0x08,0x20,0x08,0x40,0x08,0x40,0x08,0x40,0x3E,0x7C,0x00,0x00,0x00,0x00,0x00,0x00 }; static void TransmitByte(uint8 byte); static void SelectRow(uint8 row); static void FlipLatchLine(void); static void TransmitByte(uint8 byte) { uint8 i; for(i = 0 ; i < 8 ; i ++) { if(byte & (1 << i)) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); } else { DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SDA); } //__delay_cycles(100); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKH); //__delay_cycles(100); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKH); //__delay_cycles(100); } } static void SelectRow(uint8 row) { //row -= 1; row |= DOTLED_ROW_PIN & 0xe0; DOTLED_ROW_PORT = row; } static void FlipLatchLine(void) { DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SCKT); DOTLED_LINE_PORT &= ~_BV(DOTLED_LINE_SCKT); } void InitDotLedPort(void) { DOTLED_LINE_PORT &= ~(_BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH)); DOTLED_LINE_PORT |= _BV(DOTLED_LINE_SDA); DOTLED_LINE_DDR |= _BV(DOTLED_LINE_SCKT) | _BV(DOTLED_LINE_SCKH) | _BV(DOTLED_LINE_SDA); DOTLED_ROW_PORT |= 0x1f; DOTLED_ROW_PORT &= 0xf0; DOTLED_ROW_DDR |= 0x1f; } void EnableRow(boolean IsEnable) { if(IsEnable) { DOTLED_ROW_PORT &= ~_BV(DOTLED_ROW_E); } else { DOTLED_ROW_PORT |= _BV(DOTLED_ROW_E); } } void PrintDotLed(uint8 * buffer) { uint8 i , tmp; for(i = 0 ; i < 16 ; i ++) { tmp = *buffer ++; TransmitByte(~tmp); tmp = *buffer ++; TransmitByte(~tmp); SelectRow(i); FlipLatchLine(); } } void main(void) { InitDotLedPort(); EnableRow(TRUE); while(1) { PrintDotLed(font); __delay_cycles(5000); } } //---------------------------------------------------- config.h文件 #ifndef _CONFIG_H #define _CONFIG_H //#define GCCAVR #define CPU_CYCLES 7372800L #ifndef GCCAVR #define _BV(bit) (1 << (bit)) #endif #define MSB 0x80 #define LSB 0x01 #define FALSE 0 #define TRUE 1 typedef unsigned char uint8; typedef unsigned int uint16; typedef unsigned long uint32; typedef unsigned char boolean; #include <ioavr.h> #include <inavr.h> #include "dotled.h" #endif //-----
上傳時間: 2013-11-18
上傳用戶:mnacyf