本文介紹了一種基于單片機的GPS 手持導航終端的設計思路和方法,給出了系統的硬件電路和軟件流程。這種設計方法建立了一種電子地圖結構和支持拼音輸入法的人機界面,利用了Nand Flash 的數據存儲特性和第三代GPS 的高精度特性,滿足了系統的要求。
上傳時間: 2014-01-11
上傳用戶:sjb555
51單片機實訓指南:一、 實習課題基于單片機最小系統的頻率計設計二、 實習內容單片機最小系統電路原理設計分析與講解,PCB設計分析與講解,電路板焊接培訓與實際操作,程序設計、調試分析與講解,程序調試實際操作。三、硬件資源※ 89S51單片機;※ 6位共陽極數碼管;※ 段碼驅動器74HC573,位選譯碼器74HC138;※ 4路獨立式按鍵;※ 外部晶振電路;※ ISP下載接口(In system program,在系統編程);※ DC+5V電源試配器(選配);※ ISP下載線(選配);※ 單片機實訓模塊(頻率計分頻預處理電路)。四、電路原理分析與設計P1為外部電源輸入座(DC+5V),S8為電源最小系統的電源開關,E1和C3為電源濾波,去耦電容。D1為系統電源指示燈。J2為ISP下載接口,S7系統復位按鍵。CRY1,C1,C2為外部時針電路。IC1為89S51(DIP-40),左上角為第一腳。PRE1,PRE2。為上拉排阻(阻值4.7k—10k)。J5,J9,J6,J10分別對應單片機的P0,P1,P2,P3口。便于二次開發。6路共陽極數碼管動態顯示電路,P0口通過74HC573(起驅動和隔離作用,讓電流通過74CH573流入公共地),來控制數碼管的8路段碼,P20-P22通過74HC138譯碼器(使用其中的6路)控制數碼管的公共端(中間還有三極管做驅動器)。這樣設計的理由:為了保證該單片機最小系統的二次開發的資源充足和合理性。
標簽: 51單片機
上傳時間: 2013-10-14
上傳用戶:ryb
單片機語言C51應用實戰集錦使用C語言開發速度快,代碼可重復使用,程序結構清晰、易懂、易維護,易開發一些比較大型的項目。目前,許多編譯器都已經支持了C51,而且是Windows視窗界面。Kelic51是目前單片機開發最為流行的軟件。本書收集并整理了許多實用的采用C51單片機開發的程序,這些程序既可以給讀者以開拓思路,參考的用途又是實際的開發程序,可以直接作為程序應用在相同的開發系統上。通過本書的學習,讀者可以進一步了解和掌握C51編程的思路和方法。單片機語言C51應用實戰集錦目錄:程序一 實時時鐘芯片DS1302的C51程序例子程序二 C430與CSI的一點區別程序三 一個菜單的例子程序四 DS1820單芯片溫度測量程序五 keilc 6.20c版直接嵌入匯編的方法程序六 用計算機并口模擬SPI通信的C源程序程序七 CRC 16-SIANDARD的快速算法程序八 在PC上用并行口模擬I(平方)C總線的C源代碼程序九 一種在C51中寫二進制的方法程序十 CRC算法原理及C語言實現程序十一 軟件陷階程序十二 一個簡單的VB串口發送程序程序十三 12864漢字液晶顯示驅動程序程序十四 12232點陣液晶基本驅動程序程序十五 串口中斷服務函數集程序十六 93C46讀寫程序程序十七 20045讀寫程序程序十八 一組小程序集錦程序十九 AVR asm源程序程序二十 AVR單片機一個簡單的通信程序程序二十一 TG19264A接口程序程序二十二 TG19264A接口程序(AVR模擬方式)程序二十三 常用的幾種碼制轉換BCD,HEX,BIN程序二十四 16x2字符液晶屏驅動演示程序一程序二十五 16x2字符液晶屏驅動演示程序二程序二十六 PS7219代碼程序二十七 2051的AD代碼程序二十八 ARV19264型液晶顯示字庫程序二十九 液晶CKW19264A型接口程序(模擬方式)程序三十 I(平方)C總線驅動程序程序三十一 240128型液晶代碼程序三十二 飛機游戲程序三十三 PC鍵代碼程序三十四 拼音輸入法模塊程序三十五 串行口代碼程序三十六 蛇游戲代碼程序三十七 與液晶模塊T6963C連接代碼程序三十八 鍵盤輸入法設計草案程序三十九 16*4液晶漢字代碼程序四十 智能化家電控制附錄C 單片機C51編程幾個有用的模塊附錄D 頭文件W77E58.h附錄A MCS-51單片機定點運算子程序庫附錄B MCS-51單片機浮點運算子程序庫
上傳時間: 2013-11-02
上傳用戶:kbnswdifs
MSP430系列flash型超低功耗16位單片機MSP430系列單片機在超低功耗和功能集成等方面有明顯的特點。該系列單片機自問世以來,頗受用戶關注。在2000年該系列單片機又出現了幾個FLASH型的成員,它們除了仍然具備適合應用在自動信號采集系統、電池供電便攜式裝置、超長時間連續工作的設備等領域的特點外,更具有開發方便、可以現場編程等優點。這些技術特點正是應用工程師特別感興趣的。《MSP430系列FLASH型超低功耗16位單片機》對該系列單片機的FLASH型成員的原理、結構、內部各功能模塊及開發方法與工具作詳細介紹。MSP430系列FLASH型超低功耗16位單片機 目錄 第1章 引 論1.1 MSP430系列單片機1.2 MSP430F11x系列1.3 MSP430F11x1系列1.4 MSP430F13x系列1.5 MSP430F14x系列第2章 結構概述2.1 引 言2.2 CPU2.3 程序存儲器2.4 數據存儲器2.5 運行控制2.6 外圍模塊2.7 振蕩器與時鐘發生器第3章 系統復位、中斷及工作模式3.1 系統復位和初始化3.1.1 引 言3.1.2 系統復位后的設備初始化3.2 中斷系統結構3.3 MSP430 中斷優先級3.3.1 中斷操作--復位/NMI3.3.2 中斷操作--振蕩器失效控制3.4 中斷處理 3.4.1 SFR中的中斷控制位3.4.2 中斷向量地址3.4.3 外部中斷3.5 工作模式3.5.1 低功耗模式0、1(LPM0和LPM1)3.5.2 低功耗模式2、3(LPM2和LPM3)3.5.3 低功耗模式4(LPM4)22 3.6 低功耗應用的要點23第4章 存儲空間4.1 引 言4.2 存儲器中的數據4.3 片內ROM組織4.3.1 ROM 表的處理4.3.2 計算分支跳轉和子程序調用4.4 RAM 和外圍模塊組織4.4.1 RAM4.4.2 外圍模塊--地址定位4.4.3 外圍模塊--SFR4.5 FLASH存儲器4.5.1 FLASH存儲器的組織4.5.2 FALSH存儲器的數據結構4.5.3 FLASH存儲器的控制寄存器4.5.4 FLASH存儲器的安全鍵值與中斷4.5.5 經JTAG接口訪問FLASH存儲器39第5章 16位CPU5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG25.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令組概述5.3.1 雙操作數指令5.3.2 單操作數指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令第6章 硬件乘法器6.1 硬件乘法器6.2 硬件乘法器操作6.2.1 無符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.2 有符號數相乘(16位×16位、16位×8位、8位×16位、8位×8位)6.2.3 無符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.2.4 有符號數乘加(16位×16位、16位×8位、8位×16位、8位×8位)6.3 硬件乘法器寄存器6.4 硬件乘法器的軟件限制6.4.1 尋址模式6.4.2 中斷程序6.4.3 MACS第7章 基礎時鐘模塊7.1 基礎時鐘模塊7.2 LFXT1與XT27.2.1 LFXT1振蕩器7.2.2 XT2振蕩器7.2.3 振蕩器失效檢測7.2.4 XT振蕩器失效時的DCO7.3 DCO振蕩器7.3.1 DCO振蕩器的特性7.3.2 DCO調整器7.4 時鐘與運行模式7.4.1 由PUC啟動7.4.2 基礎時鐘調整7.4.3 用于低功耗的基礎時鐘特性7.4.4 選擇晶振產生MCLK7.4.5 時鐘信號的同步7.5 基礎時鐘模塊控制寄存器7.5.1 DCO時鐘頻率控制7.5.2 振蕩器與時鐘控制寄存器7.5.3 SFR控制位第8章 輸入輸出端口8.1 引 言8.2 端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理8.2.3 P1、P2的中斷控制功能8.3 端口P3、P4、P5和P68.3.1 端口P3、P4、P5和P6的控制寄存器8.3.2 端口P3、P4、P5和P6的端口邏輯第9章 看門狗定時器WDT9.1 看門狗定時器9.2 WDT寄存器9.3 WDT中斷控制功能9.4 WDT操作第10章 16位定時器Timer_A10.1 引 言10.2 Timer_A的操作10.2.1 定時器模式控制10.2.2 時鐘源選擇和分頻10.2.3 定時器啟動10.3 定時器模式10.3.1 停止模式10.3.2 增計數模式10.3.3 連續模式10.3.4 增/減計數模式10.4 捕獲/比較模塊10.4.1 捕獲模式10.4.2 比較模式10.5 輸出單元10.5.1 輸出模式10.5.2 輸出控制模塊10.5.3 輸出舉例10.6 Timer_A的寄存器10.6.1 Timer_A控制寄存器TACTL10.6.2 Timer_A寄存器TAR10.6.3 捕獲/比較控制寄存器CCTLx10.6.4 Timer_A中斷向量寄存器10.7 Timer_A的UART應用 第11章 16位定時器Timer_B11.1 引 言11.2 Timer_B的操作11.2.1 定時器長度11.2.2 定時器模式控制11.2.3 時鐘源選擇和分頻11.2.4 定時器啟動11.3 定時器模式11.3.1 停止模式11.3.2 增計數模式11.3.3 連續模式11.3.4 增/減計數模式11.4 捕獲/比較模塊11.4.1 捕獲模式11.4.2 比較模式11.5 輸出單元11.5.1 輸出模式11.5.2 輸出控制模塊11.5.3 輸出舉例11.6 Timer_B的寄存器11.6.1 Timer_B控制寄存器TBCTL11.6.2 Timer_B寄存器TBR11.6.3 捕獲/比較控制寄存器CCTLx11.6.4 Timer_B中斷向量寄存器第12章 USART通信模塊的UART功能12.1 異步模式12.1.1 異步幀格式12.1.2 異步通信的波特率發生器12.1.3 異步通信格式12.1.4 線路空閑多機模式12.1.5 地址位多機通信格式12.2 中斷和中斷允許12.2.1 USART接收允許12.2.2 USART發送允許12.2.3 USART接收中斷操作12.2.4 USART發送中斷操作12.3 控制和狀態寄存器12.3.1 USART控制寄存器UCTL12.3.2 發送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調整控制寄存器12.3.5 USART接收數據緩存URXBUF12.3.6 USART發送數據緩存UTXBUF12.4 UART模式,低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART的波特率12.4.3 多處理機模式對節約MSP430資源的支持12.5 波特率計算 第13章 USART通信模塊的SPI功能13.1 USART同步操作13.1.1 SPI模式中的主模式13.1.2 SPI模式中的從模式13.2 中斷與控制功能 13.2.1 USART接收/發送允許位及接收操作13.2.2 USART接收/發送允許位及發送操作13.2.3 USART接收中斷操作13.2.4 USART發送中斷操作13.3 控制與狀態寄存器13.3.1 USART控制寄存器13.3.2 發送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數據緩存URXBUF13.3.6 USART發送數據緩存UTXBUF第14章 比較器Comparator_A14.1 概 述14.2 比較器A原理14.2.1 輸入模擬開關14.2.2 輸入多路切換14.2.3 比較器14.2.4 輸出濾波器14.2.5 參考電平發生器14.2.6 比較器A中斷電路14.3 比較器A控制寄存器14.3.1 控制寄存器CACTL114.3.2 控制寄存器CACTL214.3.3 端口禁止寄存器CAPD14.4 比較器A應用14.4.1 模擬信號在數字端口的輸入14.4.2 比較器A測量電阻元件14.4.3 兩個獨立電阻元件的測量系統14.4.4 比較器A檢測電流或電壓14.4.5 比較器A測量電流或電壓14.4.6 測量比較器A的偏壓14.4.7 比較器A的偏壓補償14.4.8 增加比較器A的回差第15章 模數轉換器ADC1215.1 概 述15.2 ADC12的工作原理及操作15.2.1 ADC內核15.2.2 參考電平15.3 模擬輸入與多路切換15.3.1 模擬多路切換15.3.2 輸入信號15.3.3 熱敏二極管的使用15.4 轉換存儲15.5 轉換模式15.5.1 單通道單次轉換模式15.5.2 序列通道單次轉換模式15.5.3 單通道重復轉換模式15.5.4 序列通道重復轉換模式15.5.5 轉換模式之間的切換15.5.6 低功耗15.6 轉換時鐘與轉換速度15.7 采 樣15.7.1 采樣操作15.7.2 采樣信號輸入選擇15.7.3 采樣模式15.7.4 MSC位的使用15.7.5 采樣時序15.8 ADC12控制寄存器15.8.1 控制寄存器ADC12CTL0和ADC12CTL115.8.2 轉換存儲寄存器ADC12MEMx15.8.3 控制寄存器ADC12MCTLx15.8.4 中斷標志寄存器ADC12IFG.x和中斷允許寄存器ADC12IEN.x15.8.5 中斷向量寄存器ADC12IV15.9 ADC12接地與降噪第16章 FLASH型芯片的開發16.1 開發系統概述16.1.1 開發技術16.1.2 MSP430系列的開發16.1.3 MSP430F系列的開發16.2 FLASH型的FET開發方法16.2.1 MSP430芯片的JTAG接口16.2.2 FLASH型仿真工具16.3 FLASH型的BOOT ROM16.3.1 標準復位過程和進入BSL過程16.3.2 BSL的UART協議16.3.3 數據格式16.3.4 退出BSL16.3.5 保護口令16.3.6 BSL的內部設置和資源附錄A 尋址空間附錄B 指令說明B.1 指令匯總B.2 指令格式B.3 不增加ROM開銷的模擬指令B.4 指令說明(字母順序)B.5 用幾條指令模擬的宏指令附錄C MSP430系列單片機參數表附錄D MSP430系列單片機封裝形式附錄E MSP430系列器件命名
上傳時間: 2014-04-28
上傳用戶:sssnaxie
SPMC75F2413A在三相交流感應電機的開環V/F控制的應用:系統輸入電源電壓為AC110V/AC220V,經全波整流后供系統使用。系統使用Sunplus公司的SPMC75F2413A產生AC三相異步電機的VVVF控制所需的SPWM信號,并完成系統控制。使用三菱公司的智能功率模塊PS21865實現電機的功率驅動。在AC220V輸入時,系統最大能驅動1.5KW的負載。系統的變頻區間為2Hz~200Hz。
上傳時間: 2013-11-06
上傳用戶:924484786
微型機算計發展概述人類從原始社會學會使用工具以來到現代社會經歷了三次大的產業革命:農業革命、工業革命、信息革命。而信息革命是以計算機技術和通信技術的發展和普及為代表的。人類已進入了高速發展的現代時期。其中計算機科學和技術發展之快,是任何其他技術都無法相提并論的自從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
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
基于單片機的紅外門進控制系統設計與制作:我們所做的創新實驗項目“基于單片機的紅外門控系統”已基本完成,現將其工作原理簡要說明。該系統主要分為兩大部分:一是紅外傳感器部分。二是單片機計數顯示控制部分。基本電路圖如下:其中紅外傳感器部分我們采用紅外對管實現,紅外對管平行放置,平常處于接收狀態,經比較器輸出低電平,當有人經過時,紅外線被擋住,接收管接收不到紅外線,經比較器輸出高電平。這樣,當有人經過時便會產生一個電平的跳變。單片機控制部分主要是通過外部兩個中斷判斷是否有人經過,如果有人經過,由于電平跳變的產生,進入中斷服務程序,這里我們采用了兩對紅外傳感器接到兩個外部中斷口,中斷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
在C8051F系列單片機中集成有多通道8位、10位、12位或16位的SAR型ADC,能夠滿足大多數數據采集的應用需求;集成跟蹤和保持電路;集成模擬多路復用器(AMUX)。 采樣頻率從100ksps到1Msps。 片內溫度傳感器可直接配置到ADC的輸入端。 C8051F04x系列集成可編程增益放大器(PGA)和高電壓差分放大器(HVDA),可接受60V的差動模擬電壓輸入。 集成越限檢測器,可監視模擬量的變化范圍,越限能產生中斷。 C8051F06x系列集成DMA接口,提高對轉換結果的讀取效率。 ADC轉換啟動方式:軟件設置寄存器位啟動;定時器溢出啟動;外部管腳信號啟動。
上傳時間: 2013-10-13
上傳用戶:jx_wwq