附件有51單片機加上sl811讀寫U盤的源程序和原理圖 /*--------------------------------------------------------------------------AT89X52.H Header file for the low voltage Flash Atmel AT89C52 and AT89LV52.Copyright (c) 1995-1996 Keil Software, Inc. All rights reserved.--------------------------------------------------------------------------*/ #ifndef AT89X52_HEADER_FILE#define AT89X52_HEADER_FILE 1 /*------------------------------------------------Byte Registers------------------------------------------------*/sfr P0 = 0x80;sfr SP = 0x81;sfr DPL = 0x82;sfr DPH = 0x83;sfr PCON = 0x87;sfr TCON = 0x88;sfr TMOD = 0x89;sfr TL0 = 0x8A;sfr TL1 = 0x8B;sfr TH0 = 0x8C;sfr TH1 = 0x8D;sfr P1 = 0x90;sfr SCON = 0x98;sfr SBUF = 0x99;sfr P2 = 0xA0;sfr IE = 0xA8;sfr P3 = 0xB0;sfr IP = 0xB8;sfr T2CON = 0xC8;sfr T2MOD = 0xC9;sfr RCAP2L = 0xCA;sfr RCAP2H = 0xCB;sfr TL2 = 0xCC;sfr TH2 = 0xCD;sfr PSW = 0xD0;sfr ACC = 0xE0;sfr B = 0xF0;
上傳時間: 2014-01-05
上傳用戶:lnnn30
這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統(tǒng)設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計 8051 系列微處理器基于簡化的嵌入式控制系統(tǒng)結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統(tǒng)上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數(shù)字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發(fā)者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數(shù)器4 全雙工串行通信5 6 個中斷源兩個中斷優(yōu)先級6 128 字節(jié)內置RAM7 獨立的64K 字節(jié)可尋址數(shù)據(jù)和代碼區(qū)每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執(zhí)行時間可把時鐘頻率除以12 取倒數(shù)然后指令執(zhí)行所須的周期數(shù)因此如果你的系統(tǒng)時鐘是11.059MHz 除以12 后就得到了每秒執(zhí)行的指令個數(shù)為921583條指令取倒數(shù)將得到每條指令所須的時間1.085ms
上傳時間: 2013-11-09
上傳用戶:chenlong
C語言編程基礎:1. 十六進制表示字節(jié)0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數(shù)賦給一個8位的字節(jié)變量,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變量var先增一;var—表示對變量后減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變量TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執(zhí)行該語句,即死循環(huán)。語句后的分號表示空循環(huán)體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳)1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。在某引腳輸出低電平的編程方法:(比如P2.7引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環(huán),相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳)代碼1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入?yún)?shù),也沒有函數(shù)返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執(zhí)行下面循環(huán)體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由于一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反后,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) )
上傳時間: 2013-11-02
上傳用戶:zengduo
一共有9個51單片機實驗程序,實際上還有相關的匯編程序N例,單片機嵌入式程序和I2C源程序等等。
上傳時間: 2014-03-18
上傳用戶:13517191407
MCS-51單片機實用子程序庫 ;片內RAM初始化子程序IBCLR: MOV A,R0MOV R1,ACLR AIBC1 : MOV @R1,AINC R1DJNZ R7,IBC1RET;片外RAM初始化子程序EBCLR1: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,ACLR CEBC11: MOVX @DPTR,AINC DPTRDJNZ R7,EBC11RET;片外RAM初始化子程序(雙字節(jié)個單元)EBCLR2: MOV A,ADDPLMOV DPL,AMOV A,ADDPHMOV DPH,AMOV A,R7JZ EBC21INC R6EBC21: CLR AMOVX @DPTR,AINC DPTRDJNZ R7,EBC21DJNZ R6,EBC21RET;內部RAM數(shù)據(jù)復制程序;入口: R0,R7;占用資源: A;堆棧需求: 2字節(jié)
上傳時間: 2013-10-10
上傳用戶:18602424091
51匯編程序實例:舉一例說明:流水燈加數(shù)碼管 LOOP: ; 標號CLR P2.6 ;選中p2.6 數(shù)碼管左邊的8字使能SETB P2.7 ;p2.7不使能。 右邊的數(shù)碼管消隱MOV P0,#28H ;把28h送p0口;數(shù)碼管顯示 0LCALL DELAY ;延時MOV P0,#0FFH ;0ffh 送p0口,數(shù)碼管清除CLR P1.0 ;點亮p1.0發(fā)光管MOV P0,#7EH ;把7eh送p0口;數(shù)碼管顯示 1LCALL DELAYMOV P0,#0FFHCLR P1.1 ;點亮p1.0發(fā)光管CLR P1.0 ;點亮p1.0發(fā)光管MOV P0,#0A2H ;數(shù)碼管顯示 2LCALL DELAYMOV P0,#0FFHCLR P1.2CLR P1.1CLR P1.0MOV P0,#62H ;數(shù)碼管顯示 3LCALL DELAYMOV P0,#0FFHCLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#74H ;數(shù)碼管顯示 4LCALL DELAYMOV P0,#0FFHCLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#61H ;數(shù)碼管顯示 5;LCALL DELAYMOV P0,#0FFHCLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#21H ; 數(shù)碼管顯示 6LCALL DELAYMOV P0,#0FFHCLR P1.6CLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#7AH ; 數(shù)碼管顯示 7LCALL DELAYMOV P0,#0FFHCLR P1.7CLR P1.6CLR P1.5CLR P1.4CLR P1.3CLR P1.2CLR P1.1CLR P1.0MOV P0,#20H ; 數(shù)碼管顯示 8LCALL DELAYMOV P0,#0FFHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFH;程序到此結果為左邊的數(shù)碼管顯示0,1,2,3,4,5,6,7,8;p1.0------------p1.7指示燈依次點亮SETB P2.6 ; 左邊的8消隱CLR P2.7 ;選中p2.7 數(shù)碼管右邊的8字使能 ,;MOV P0,#28HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.0MOV P0,#7EHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.1MOV P0,#0A2HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.2MOV P0,#62HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.3MOV P0,#74HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.4MOV P0,#61HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.5MOV P0,#21HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.6MOV P0,#7AHLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHCLR P1.7MOV P0,#20HLCALL DELAYMOV P0,#0FFHMOV P1,#0FFHMOV P0,#0FFHMOV P1,#0FFH;這一段和上一段基本相同, 不同的是右邊的數(shù)碼管依次顯示012345678,左邊的不亮;;同時p1口的燈流動顯示:AJMP LOOP; 注意: 程序運行到此跳轉到開始標號,重復執(zhí)行:DELAY: ;延時子程序;參考前面的教程:CLR P3.3 ;注意小喇叭在3.3口, 這里可以使小喇叭發(fā)出嗒,嗒聲MOV R7,#255NOPNOPD1:MOV R6,#255setb p3.3D2: DJNZ R6,D2clr p3.3DJNZ R7,D1SETB P3.3RETENDLOOP: ; 標號CLR P2.6 ;選中p2.6 數(shù)碼管左邊的8字使能SETB P2.7 ;p2.7不使能。 右邊的數(shù)碼管消隱MOV P0,#28H ;把28h送p0口;數(shù)碼管顯示 0 ;28為1010000LCALL DELAY ; 延時程序MOV P0,#0FFH ;0ffh 送p0口,數(shù)碼管清除;P0口為11111111CLR P1.0 ;點亮p1.0發(fā)光管; P1。0為電平,P0口為11111110MOV P0,#7EH ;把7eh送p0口;數(shù)碼管顯示 1; P1。0為低電平,P0口為11111110LCALL DELAY ; 延時程序MOV P0,#0FFHMOV P0,#0FFH ;0ffh 送p0口,數(shù)碼管清除;P0口為11111111 清一次顯示這條是清顯示的
上傳時間: 2013-10-31
上傳用戶:gundamwzc
這兩個RAR文件是我學習51單片機時,第一次寫的"外部中斷實驗程序", 包含內容有: 1. EXT_C.rar, 給初學者(帶中文注釋的C51語言例程), 利用外部中斷實現(xiàn)LED燈的簡單控制。2. EXT_A.rar, 給初學者(帶中文注釋的51匯編語言例程), 利用外部中斷實現(xiàn)LED燈的簡單控制。 兩個同樣功能的中斷例程, 一個用C51實現(xiàn), 另一個用ASM51實現(xiàn)(ASM51是由C51反匯編生成的),都在MCU51-63K仿真器下通過實驗的哦, 小蝦們可以試試看。
上傳時間: 2013-11-25
上傳用戶:hahayou
這是一本關于Intel 80C51 以及廣大的51 系列單片機的書這本書介紹給讀者一些新的技術使你的8051 工程和開發(fā)過程變得簡單請注意這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰在適當?shù)牡胤浇o出了程序代碼我們以討論項目的方法來說明每章碰到的問題所有的代碼都可在附帶的光盤上找到你必須熟系C 和8051 匯編因為本書不是一本C 和匯編的指導書你可以買到不少關于ANSI C 的書最佳選擇當然是Intel的數(shù)據(jù)書可從你的芯片供應商處免費索取和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序這些程序已經(jīng)通過測試這并不意味著你可以隨時把這些程序加到你的應用系統(tǒng)或工程中有些地方必須首先經(jīng)過修改才能結合到你的程序中這本書將教你充分使用你的工具如果你只有8051 的匯編程序你也可以學習該書和使用這些例子但是你必須把C 語言的程序裝入你的匯編程序中這對懂得C 語言和8051匯編程序指令的人來說并不是一件困難的事如果你有C 編譯器的話那恭喜你使用C 語言進行開發(fā)是一個好的決定你會發(fā)現(xiàn)使用C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少如果你已經(jīng)擁有Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具我發(fā)現(xiàn)Keil 軟件包能夠提供最好的支持本書支持Keil C 的擴展如果你有其它的開發(fā)工具像Archimedes 和Avocet 這本書也能很好地為你服務但你必須根據(jù)你所用的開發(fā)工具改變一些Keil 的特殊指令在書的一些地方有硬件圖實例程序在這些硬件上運行這些圖繪制地不是很詳細主要是方框圖但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書而不是用來學習各種系統(tǒng)設計通過本書你可以了解給定一定的硬件和軟件設計之后8051 的各種性能希望你能從本書中獲取靈感并有助于你的設計使你豁然開朗當然我希望你也能夠從本書中學到有用的知識使之能夠提升你的設計 這本書向你展示了用8051進行工程設計時的許多問題希望你讀完本書后對8051的認識能有較大的提高如果你現(xiàn)在還沒有夠買C編譯器你應該馬上去買一個采用C語言可是你的系統(tǒng)設計更簡單維護更方便這本書覆蓋面較大從C和匯編的代碼優(yōu)化到8051的網(wǎng)絡設計再到模糊控制希望你從本書中學到的知識對你今后的系統(tǒng)設計有所幫助
上傳時間: 2013-10-12
上傳用戶:ommshaggar
單片機原理與應用《課程簡介》:單片機已成為電子系統(tǒng)中進行數(shù)據(jù)采集、信息處理、通信聯(lián)絡和實施控制的重要器件。通常利用單片機技術在各種系統(tǒng)、儀器設備或裝置中,形成嵌入式智能系統(tǒng)或子系統(tǒng)。因此,單片機技術是電類專業(yè)特別是電子信息類學生必須具備的基本功。本課程以51系列單片機為模型,主要向學生介紹單片機的基本結構、工作原理、指令系統(tǒng)與程序設計、系統(tǒng)擴展與工程應用。作為微機原理與接口技術的后續(xù)課程,本課程強調實踐環(huán)節(jié),側重系統(tǒng)構成與應用設計。力求通過實踐環(huán)節(jié),軟、硬結合,培養(yǎng)初步的單片機開發(fā)能力,并使其前導課程講授的基本概念得到綜合與深化。由于課時的限制,綜合性的應用設計安排在后續(xù)課程《微機應用系統(tǒng)設計》中進行。 課 程 內 容:第一章 單片微型計算機概述單片機的發(fā)展與應用 MCS-51系列單片機簡介第二章 MCS-51系列單片機結構MCS-51單片機基本結構 CPU 時序簡介 存儲器空間結構 片內RAM與SFR時鐘電路與復位電路 并行I/O口與總線擴展第三章 MCS-51單片機指令系統(tǒng)指令系統(tǒng)簡介數(shù)據(jù)傳送指令 數(shù)據(jù)處理指令 位處理指令 程序控制指令匯編語言程序設計方法 程序調試的常用方法第四章 SCB-I 單片單板機SCB-I 單片單板機結構簡介 監(jiān)控系統(tǒng)簡介SCB-I 單片單板機的基本操作 第五章 單片機常用接口電路的軟、硬件設計LED顯示接口電路與應用編程鍵盤接口電路與應用編程計數(shù)器/定時器工作原理及其應用編程MCS-51中斷系統(tǒng)及其應用編程8255擴展并行接口及其應用編程串行通信接口及其應用編程A/D與D/A轉換接口及其應用編程*第六章 單片機應用系統(tǒng)設計舉例第七章 單片機開發(fā)工具簡介* 加“*”為選講內容教學要求:1、 了解單片機的一般性概念及單片機技術的發(fā)展。2、 掌握51系列單片機的基本結構與工作原理。3、 掌握51系列單片機的指令系統(tǒng)與程序設計的基本方法。4、 以單片單板機為樣板,掌握51系列單片機的系統(tǒng)擴展設計。5、 通過實驗,掌握單片機常用接口電路的軟硬件設計及其應用。6、 以上為本課程的基本要求。作為提高要求,對有能力、有興趣的學生,若能較快地完成基本實驗,可在規(guī)定課時內安排有一定難度的綜合性實驗,以提高其應用設計的能力。 課時安排和考核方式:1、 講課40學時,實驗20學時,課內外學時比 1:2 ;(實驗從第七周開始,7個基本實驗,選做1個綜合實驗)2、 考核方式平時考查 20實驗考核 40(含實驗過程、實驗驗收與實驗報告)期末筆試 40參考書:《MCS-51單片機應用設計》 張毅剛 等編 哈爾濱工業(yè)大學出版社《MCS-51系列單片機原理及應用》 孫涵芳 徐愛卿 編著 北京航空航天大學出版社《單片微機與測控技術》 趙秀菊 等編 東南大學出版社《單片微型機原理、應用與實驗》 張友德 等編 復旦大學出版社 《單片機實驗》 肖璋 雷兆宜 編 暨南大學講義
上傳時間: 2014-01-08
上傳用戶:417313137
第一章 51單片機c語言編程介紹這是一本關于 Intel 80C51 以及廣大的 51 系列單片機的書 這本書介紹給讀者一些新的技術 使你的 8051 工程和開發(fā)過程變得簡單 請注意 這本書的目的可不是教你各種8051 嵌入式系統(tǒng)的解決方法為使問題討論更加清晰 在適當?shù)牡胤浇o出了程序代碼 我們以討論項目的方法來說明每章碰到的問題 所有的代碼都可在附帶的光盤上找到 你必須熟系 C 和 8051匯編 因為本書不是一本C和匯編的指導書 你可以買到不少關于ANSI C的書 最佳選擇當然是Intel的數(shù)據(jù)書 可從你的芯片供應商處免費索取 和隨編譯工具附送的手冊附送光盤中有我為這本書編寫和收集的程序 這些程序已經(jīng)通過測試 這并不意味著你可以隨時把這些程序加到你的應用系統(tǒng)或工程中 有些地方必須首先經(jīng)過修改才能結合到你的程序中這本書將教你充分使用你的工具 如果你只有 8051 的匯編程序 你也可以學習該書和使用這些例子 但是你必須把 C 語言的程序裝入你的匯編程序中 這對懂得 C 語言和 8051匯編程序指令的人來說并不是一件困難的事如果你有 C 編譯器的話 那恭喜你 使用 C 語言進行開發(fā)是一個好的決定 你會發(fā)現(xiàn)使用 C 進行開發(fā)將使你的工程開發(fā)和維護的時間大大減少 如果你已經(jīng)擁有 Keil C51 那你已經(jīng)選擇了一個非常好的開發(fā)工具 我發(fā)現(xiàn) Keil 軟件包能夠提供最好的支持 本書支持Keil C 的擴展 如果你有其它的開發(fā)工具像 Archimedes 和 Avocet 這本書也能很好地為你服務 但你必須根據(jù)你所用的開發(fā)工具改變一些 Keil 的特殊指令在書的一些地方有硬件圖 實例程序在這些硬件上運行 這些圖繪制地不是很詳細主要是方框圖 但足以使讀者明白軟件和硬件之間的接口讀者應該把這本書看成工具書 而不是用來學習各種系統(tǒng)設計 通過本書 你可以了解給定一定的硬件和軟件設計之后 8051 的各種性能 希望你能從本書中獲取靈感 并有助于你的設計 使你豁然開朗 當然 我希望你也能夠從本書中學到有用的知識 使之能夠提升你的設計
上傳時間: 2013-11-16
上傳用戶:穿著衣服的大衛(wèi)