介紹一種基于單片機控制的數控直流電流源。系統以AT89S52單片機為控制核心,由V/I轉換電路、DA轉換、AD轉換等模塊組成。通過按鍵設定電流值,并在LCD上同步顯示預設值,利用模擬閉環控制原理實現V/I轉換功能,采樣電阻兩端的電壓值送給A/D轉換電路,經單片機換算成實際輸出電流值,并利用LCD顯示,供用戶參考。經測試,本系統穩定性好、精度較高、操作簡單、人機界面友好。在科學研究和設備生產中,能夠廣泛應用到這種可靠性高、操作簡單的數控電流源,不僅能夠提高設備的性能,同時能夠縮短研發周期,本系統具有較高的實用性。
上傳時間: 2013-11-06
上傳用戶:csgcd001
為了解決磁放大器性能測試過程中,需要對其供給不同數值恒定電流的問題,設計了一種基于DAC7512和單片機的數控恒流源系統。該系統采用AT89C51作為主控器件,將計算機發送的電流控制字命令轉換為D/A轉換器控制字,通過模擬SPI通信接口,寫D/A控制字到DAC7512,從而控制其輸出相應數字電壓值,經差動縮放電路、電壓/電路變換電路和功率驅動電路,最后輸出恒定電流。實驗結果表明,恒流源輸出電流調節范圍為-45~+45 mA、精度為±0.1 mA,分辨率達0.024 4 mA,具有應用靈活,外圍電路簡單,可靠性高的特點。該數控直流恒流源也可為相關產品的測試系統研發提供參考。 Abstract: In order to solve the need to supply different values constant current for the magnetic amplifier in testing process, numerical control constant current source system was designed based on DAC7512 chip and microcontroller technology. The system used the AT89C51 as the main chip, which can convert the current control word from computer into to D/A control words. And the system wrote D/A control word into the DAC7512 chip to control the output voltage value by the SPI communication interface, which can output corresponding constant current figures by scaling circuit, the V/I converter and power drive circuit. Experimental results show that the current source output current adjustment range is -45~+45mA, accuracy is ± 0.1mA, and resolution ratio is 0.024 4mA
上傳時間: 2014-12-27
上傳用戶:invtnewer
綜述從問世,到協議規范2.0版本,USB(通用串行總線,簡寫為USB)在不斷自我完善,并走向成熟。從普通計算機用戶,計算機工程師,到硬件芯片生產廠商,都已經完全認可了USB。廠商對于USB的硬件和軟件支持的也越來越完備,現在開發一個USB外設產品,所需要投入的成本和時間大大降低了,幾年前是沒有辦法做到這一點的。但是,隨著USB應用領域的逐漸擴大,人們對于USB的期望也越來越高,希望USB能應用在各種計算機領域中,尤其是在移動通訊領域中,希望能通過PDA等移動設備來直接和USB外設通信,使得USB能應用在沒有PC的領域中。 非PC應用領域?這正是USB一個致命的弱點。USB的拓撲結構中居于核心地位的是Host(也稱為主機),任何一次USB的數據傳輸都必須由Host來發起和控制,所有的USB外設都只能和Host建立連接,任何兩個外設之間或是兩個Host之間無法直接通信。而目前,大量的扮演Host角色的是個人電腦PC。因此,“如何將USB應用到嵌入式領域?如何實現USB點對點的通訊?”等問題,開始進入了USB開發者的討論議程。正是在這種新的需求之下,USBHost的嵌入式應用成了USB領域新的興奮點。 本項目也就是在嵌入式USBHost技術即將起步發展的背景之下產生的。 傳統意義的USB開發,僅僅是對USB外設的開發,USB底層驅動程序和USB主控制器驅動程序都由Windows等操作系統提供,有關這些驅動程序的細節過程都蒙著一層神秘的面紗。所以,要設計USBHost,就須設計這兩部分驅動程序,Windows源碼不公開,這些細節資料就無從得到。
上傳時間: 2013-11-12
上傳用戶:維子哥哥
第一章 單片機概述(2學時)第二章 MCS-51單片機的結構和原理(6學時)第三章 MCS-51指令系統(4學時)第四章 匯編語言程序設計(4學時)第五章 MCS-51單片機中斷系統(4學時)第六章 定時器與計數器(4學時)第七章 串行接口通信(4學時)第八章 并行I/O接口擴展及其應用(2學時)第九章 嵌入式系統概述(2學時)第十章 基于單片機的嵌入式接口設計(4學時)
上傳時間: 2013-11-07
上傳用戶:zzbbqq99n
C8051F單片機 C8051F系列單片機 單片機自20世紀70年代末誕生至今,經歷了單片微型計算機SCM、微控制器MCU及片上系統SoC三大階段,前兩個階段分別以MCS-51和80C51為代表。隨著在嵌入式領域中對單片機的性能和功能要求越來越高,以往的單片機無論是運行速度還是系統集成度等多方面都不能滿足新的設計需要,這時Silicon Labs 公司推出了C8051F系列單片機,成為SoC的典型代表。 C8051F具有上手快(全兼容8051指令集)、研發快(開發工具易用,可縮短研發周期)和見效快(調試手段靈活)的特點,其性能優勢具體體現在以下方面: 基于增強的CIP-51內核,其指令集與MCS-51完全兼容,具有標準8051的組織架構,可以使用標準的803x/805x匯編器和編譯器進行軟件開發。CIP-51采用流水線結構,70%的的指令執行時間為1或2個系統時鐘周期,是標準8051指令執行速度的12倍;其峰值執行速度可達100MIPS(C8051F120等),是目前世界上速度最快的8位單片機。 增加了中斷源。標準的8051只有7個中斷源Silicon Labs 公司 C8051F系列單片機擴展了中斷處理這對于時實多任務系統的處理是很重要的擴展的中斷系統向CIP-51提供22個中斷源允許大量的模擬和數字外設中斷一個中斷處理需要較少的CPU干預卻有更高的執行效率。 集成了豐富的模擬資源,絕大部分的C8051F系列單片機都集成了單個或兩個ADC,在片內模擬開關的作用下可實現對多路模擬信號的采集轉換;片內ADC的采樣精度最高可達24bit,采樣速率最高可達500ksps,部分型號還集成了單個或兩個獨立的高分辨率DAC,可滿足絕大多數混合信號系統的應用并實現與模擬電子系統的無縫接口;片內溫度傳感器則可以迅速而精確的監測環境溫度并通過程序作出相應處理,提高了系統運行的可靠性。 集成了豐富的外部設備接口。具有兩路UART和最多可達5個定時器及6個PCA模塊,此外還根據不同的需要集成了SMBus、SPI、USB、CAN、LIN等接口,以及RTC部件。外設接口在不使用時可以分別禁止以降低系統功耗。與其他類型的單片機實現相同的功能需要多個芯片的組合才能完成相比,C8051單片機不僅減少了系統成本,更大大降低了功耗。 增強了在信號處理方面的性能,部分型號具有16x16 MAC以及DMA功能,可對所采集信號進行實時有效的算法處理并提高了數據傳送能力。 具有獨立的片內時鐘源(精度最高可達0.5%),設計人員既可選擇外接時鐘,也可直接應用片內時鐘,同時可以在內外時鐘源之間自如切換。片內時鐘源降低了系統設計的復雜度,提高了系統可靠性,而時鐘切換功能則有利于系統整體功耗的降低。 提供空閑模式及停機模式等多種電源管理方式來降低系統功耗 實現了I/O從固定方式到交叉開關配置。固定方式的I/O端口,既占用引腳多,配置又不夠靈活。在C8051F中,則采用開關網絡以硬件方式實現I/O端口的靈活配置,外設電路單元通過相應的配置寄存器控制的交叉開關配置到所選擇的端口上。 復位方式多樣化,C8051F把80C51單一的外部復位發展成多源復位,提供了上電復位、掉電復位、外部引腳復位、軟件復位、時鐘檢測復位、比較器0復位、WDT復位和引腳配置復位。眾多的復位源為保障系統的安全、操作的靈活性以及零功耗系統設計帶來極大的好處。 從傳統的仿真調試到基于JTAG接口的在系統調試。C8051F在8位單片機中率先配置了標準的JTAG接口(IEEE1149.1)。C8051F的JTAG接口不僅支持Flash ROM的讀/寫操作及非侵入式在系統調試,它的JTAG邏輯還為在系統測試提供邊界掃描功能。通過邊界寄存器的編程控制,可對所有器件引腳、SFR總線和I/O口弱上拉功能實現觀察和控制。 C8051F系列單片機型號齊全,可根據設計需求選擇不同規模和帶有特定外設接口的型號,提供從多達100個引腳的高性能單片機到最小3mmX3mm的封裝,滿足不同設計的需要。 基于上述特點,Silicon Labs 公司C8051F系列單片機作為SoC芯片的杰出代表能夠滿足絕大部分場合的復雜功能要求,并在嵌入式領域的各個場合都得到了廣泛的應用:在工業控制領域,其豐富的模擬資源可用于工業現場多種物理量的監測、分析及控制和顯示;在便攜式儀器領域,其低功耗和強大的外設接口也非常適合各種信號的采集、存儲和傳輸;此外,新型的C8051F5xx系列單片機也在汽車電子行業中嶄露頭角。正是這些優勢,使得C8051單片機在進入中國市場的短短幾年內就迅速風靡,相信隨著新型號的不斷推出以及推廣力度的不斷加大,C8051系列單片機將迎來日益廣闊的發展空間,成為嵌入式領域的時代寵兒 此系列單片機完全兼容MCS-51指令集,容易上手,開發周期短,大大節約了開發成本。C8051F系統集成度高,總線時鐘可達25M
上傳時間: 2013-11-24
上傳用戶:testAPP
I/O 型單片機使用手冊 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲區指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計數器低字節寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時寄存器 – WDTS............................................................38狀態寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時/計數寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項....................................................................................45定時/計數器..............................................................................................46配置定時/計數器輸入時鐘源...........................................................47定時/計數寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時/計數控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時器模式........................................................................................53事件計數器模式................................................................................53脈沖寬度測量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應用..............................................55預分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項....................................................................................57定時/計數器應用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優先權........................................................................................62外部中斷............................................................................................63定時/計數器中斷...............................................................................64UART 中斷........................................................................................64編程注意事項....................................................................................65復位和初始化............................................................................................66復位....................................................................................................66目錄iii異步串行口——UART............................................................................74UART 特性..........................................................................................74UART 外部引腳..................................................................................74數據發送.............................................................................................75UART 狀態控制寄存器......................................................................75波特率發生器.....................................................................................79UART 設置與控制..............................................................................81UART 發送器......................................................................................83UART 接收器......................................................................................84接收錯誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應用范例.................................................................................87振蕩器........................................................................................................89系統時鐘配置....................................................................................89系統晶體/陶瓷振蕩器.......................................................................89系統電阻電容振蕩器........................................................................90內部系統電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進入暫停.............................................................................................92靜態電流.............................................................................................92喚醒....................................................................................................92看門狗定時器............................................................................................94掩膜選項....................................................................................................96應用電路....................................................................................................97第二部份 程序語言.....................................................................99第二章 指令集介紹.................................................................................101指令集......................................................................................................101指令周期..........................................................................................101數據的傳送......................................................................................101算術運算..........................................................................................102邏輯和移位運算..............................................................................102分支和控制的轉換..........................................................................102位運算..............................................................................................102查表運算..........................................................................................103其它運算..........................................................................................103指令設定一覽表......................................................................................104慣例..................................................................................................104I/O 型單片機使用手冊iv第三章 指令定義.....................................................................................107第四章 匯編語言和編譯器.....................................................................121常用符號..................................................................................................121語句語法..................................................................................................122名稱..................................................................................................122操作項..............................................................................................122操作數項..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數據定義偽指令..............................................................................130宏指令..............................................................................................132匯編語言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數、運算子和表達式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標號..........................................................................................139匯編語言保留字..............................................................................140編譯器選項..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結..........................................................................................142其它..................................................................................................142第三部份 開發工具................................................................... 145第五章 單片機開發工具.........................................................................147HT-IDE 集成開發環境............................................................................147盛群單片機仿真器(HT-ICE) ..................................................................149HT-ICE 接口卡.................................................................................149OTP 燒寫器.....................................................................................149OTP 適配卡.....................................................................................149系統配置..................................................................................................150HT-ICE 接口卡設置........................................................................151安裝..........................................................................................................153系統要求..........................................................................................153硬件安裝..........................................................................................153軟件安裝..........................................................................................154目錄v第六章 快速開始.....................................................................................159步驟一:建立一個新項目..............................................................159步驟二:將源程序文件加到項目中..............................................159步驟三:編譯項目..........................................................................159步驟四:燒寫OTP 單片機.............................................................160步驟五:傳送程序與掩膜選項單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173
上傳時間: 2013-10-18
上傳用戶:blacklee
Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
AT89C2051驅動步進電機的電路和源碼:AT89C2051驅動步進電機的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }
上傳時間: 2013-11-21
上傳用戶:boyaboy
Keil C51使用詳解:8051 系列微處理器基于簡化的嵌入式控制系統結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數器4 全雙工串行通信5 6 個中斷源兩個中斷優先級6 128 字節內置RAM7 獨立的64K 字節可尋址數據和代碼區每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執行時間可把時鐘頻率除以12 取倒數然后指令執行所須的周期數因此如果你的系統時鐘是11.059MHz 除以12 后就得到了每秒執行的指令個數為921583
上傳時間: 2014-04-05
上傳用戶:xaijhqx
Keil C51 中文說明:8051 系列微處理器基于簡化的嵌入式控制系統結構被廣泛應用于從軍事到自動控制再到PC 機上的鍵盤上的各種應用系統上僅次于Motorola 68HC11 在 8 位微控制器市場上的銷量很多制造商都可提供8051 系列單片機像Intel Philips Siemens 等這些制造商給51 系列單片機加入了大量的性能和外部功能像I2C 總線接口模擬量到數字量的轉換看門狗PWM 輸出等不少芯片的工作頻率達到40M 工作電壓下降到1.5V 基于一個內核的這些功能使得8051 單片機很適合作為廠家產品的基本構架它能夠運行各種程序而且開發者只需要學習這一個平臺8051 系列的基本結構如下1 一個8 位算術邏輯單元2 32 個I/O 口4 組8 位端口可單獨尋址3 兩個16 位定時計數器4 全雙工串行通信5 6 個中斷源兩個中斷優先級6 128 字節內置RAM7 獨立的64K 字節可尋址數據和代碼區每個8051 處理周期包括12 個振蕩周期每12 個振蕩周期用來完成一項操作如取指令和計算指令執行時間可把時鐘頻率除以12 取倒數然后指令執行所須的周期數因此如果你的系統時鐘是11.059MHz 除以12 后就得到了每秒執行的指令個數為921583條指令取倒數將得到每條指令所須的時間1.085ms.
上傳時間: 2013-10-24
上傳用戶:xauthu