作為嵌入式系統主控單元——單片機,其軟件往往是一個微觀的實時操作系統,且大部分是為某種應用而專門設計的。系統程序有實時過程控制或實時信息處理的能力,要求能夠及時響應隨機發生的外部事件并對該事件做出快速處理。而分時操作系統卻是把CPU的時間劃分成長短基本相同的時間區間,即“時間片”,通過操作系統的管理,把這些時間片依次輪流地分配給各個用戶使用。如果某個作業在時間片結束之前,整個任務還沒有完成,那么該作業就被暫停下來,放棄CPU,等待下一輪循環再繼續做。此時CPU又分配給另一個作業去使用。由于計算機的處理速度很快,只要時間片的間隔取得適當,那么一個用戶作業從用完分配給它的一個時間片到獲得下一個CPU時間片,中間有所“停頓”;但用戶察覺不出來,好像整個系統全由它“獨占”似的。分時操作系統主要具有以下3個特點:① 多路性。用戶通過各自的終端,可以同時使用一個系統。② 及時性。用戶提出的各種要求,能在較短或可容忍的時間內得到響應和處理。③ 獨占性。在分時系統中,雖然允許多個用戶同時使用一個CPU,但用戶之間操作獨立,互不干涉。分時操作系統主要是針對小型機以上的計算機提出的。一般而言,微處理器(MPU)驅動的通用計算機,系統設計人員對每一臺的最終具體應用都是不得而知的,因此,在價格允許的情況下,硬件設計務求CPU時鐘盡可能的快;計算及管理能力盡可能的強;程序和數據存儲器的容量盡可能的大;各種計算機外設的配接盡可能的詳盡等等,特別是采用分時操作系統的機器,因為是一機多用戶的管理系統,它的要求就更高了。相對而言,微控制器(MCU)俗稱單片機,是一個單片集成系統,它將這些或那些計算機所需的外設,諸如程序和數據存儲器、端口以及有關的子系統集成到一片芯片上。從硬件上,單片機系統與采用分時操作系統的計算機系統是無法比擬的。但是,在單片機系統的設計中,設計人員對其最終具體應用是一清二楚的,它的使用環境相對是單一固定的。所控制的過程的可預見性為分時系統思想的實現提供了可能性。具體一點就是:雖然單片機的CPU速度較低,但其任務是可預見的,這樣作業調度將變得簡單而無須占用很多的CPU時間,同時“時間片”的設計是具體而有針對性的,因此可變得很有效。一、單片機分時系統的設計單片機系統往往是一個嵌入式的控制系統,因此目前絕大部分的單片機系統還是一實時系統。能夠真正體現分時系統的設計思想的往往是那些多路重復檢測控制系統。即便是在這些多路重復檢測控制系統中,它的實時性也是非常重要的。也就是說,在單片機系統中應用了分時系統設計思想,但其及時性應首先進行考慮。
上傳時間: 2013-12-23
上傳用戶:佳期如夢
80C51單片機由于功能全面、開發工具較為完善、衍生產品豐富、大量的設計資源可以繼承和共享,得到廣泛的應用。我們設計的一款手持線PDA產品,也選擇80C51單片機作為主、輔CPU,還具備點陣液晶顯示屏、導電橡膠鍵盤、雙IC卡接口、EEPROM存儲器、實時時鐘和串行通信口。由于使用80C51單片機開發,高級語言編程,大大降低了設計的技術風險,產品在較短的時間內就推向了市場。但是,同一些低速的微控制器(如4位單片機)和高速的RISC處理器相比,80C51單片機在功耗上沒有優勢。為了在PDA類產品中發揮80C51單片機的上述特長,我們通過采取軟、硬件配合的一系列措施,加強低電壓、低功耗設計,取得了良好的效果。該機使用一顆3V鈕扣式鋰電池,開機時工作電池小于4mA,瞬間最大工作電流小于20mA,瞬間最大工作電流小于20mA,關機電流小于2μA。一顆電池可以使用較長的時間,達到滿意的設計指標。一、低電壓低功耗設計理論在一個器件中,功耗通常用電流消耗來表示。下式表明消耗的電池與器件特性之間的關系:Icc = C ∫ Vda ≈ ΔV · C · f (1)式中:Icc是器件消耗的電流;Δ是電壓變化的幅值;C是器件電容和輸出容性負載的大小;f是器件運行頻率。從公式(1)可以得到降低系統功耗的理論依據。將器件供電電壓從5V降低3V,可以至少降低40%的功耗。降低器件的工作頻率,也能成比例地降低功耗。
上傳時間: 2013-10-13
上傳用戶:shaojie2080
AVR高速嵌入式單片機原理與應用(修訂版)詳細介紹ATMEL公司開發的AVR高速嵌入式單片機的結構;講述AVR單片機的開發工具和集成開發環境(IDE),包括Studio調試工具、AVR單片機匯編器和單片機串行下載編程;學習指令系統時,每條指令均有實例,邊學習邊調試,使學習者看得見指令流向及操作結果,真正理解每條指令的功能及使用注意事項;介紹AVR系列多種單片機功能特點、實用程序設計及應用實例;作為提高篇,講述簡單易學、適用AVR單片機的高級語言BASCOMAVR及ICC AVR C編譯器。 AVR高速嵌入式單片機原理與應用(修訂版) 目錄 第一章ATMEL單片機簡介1.1ATMEL公司產品的特點11.2AT90系列單片機簡介21.3AT91M系列單片機簡介2第二章AVR單片機系統結構2.1AVR單片機總體結構42.2AVR單片機中央處理器CPU62.2.1結構概述72.2.2通用寄存器堆92.2.3X、Y、Z寄存器92.2.4ALU運算邏輯單元92.3AVR單片機存儲器組織102.3.1可下載的Flash程序存儲器102.3.2內部和外部的SRAM數據存儲器102.3.3EEPROM數據存儲器112.3.4存儲器訪問和指令執行時序112.3.5I/O存儲器132.4AVR單片機系統復位162.4.1復位源172.4.2加電復位182.4.3外部復位192.4.4看門狗復位192.5AVR單片機中斷系統202.5.1中斷處理202.5.2外部中斷232.5.3中斷應答時間232.5.4MCU控制寄存器 MCUCR232.6AVR單片機的省電方式242.6.1休眠狀態242.6.2空閑模式242.6.3掉電模式252.7AVR單片機定時器/計數器252.7.1定時器/計數器預定比例器252.7.28位定時器/計數器0252.7.316位定時器/計數器1272.7.4看門狗定時器332.8AVR單片機EEPROM讀/寫訪問342.9AVR單片機串行接口352.9.1同步串行接口 SPI352.9.2通用串行接口 UART402.10AVR單片機模擬比較器452.10.1模擬比較器452.10.2模擬比較器控制和狀態寄存器ACSR462.11AVR單片機I/O端口472.11.1端口A472.11.2端口 B482.11.3端口 C542.11.4端口 D552.12AVR單片機存儲器編程612.12.1編程存儲器鎖定位612.12.2熔斷位612.12.3芯片代碼612.12.4編程 Flash和 EEPROM612.12.5并行編程622.12.6串行下載662.12.7可編程特性67第三章AVR單片機開發工具3.1AVR實時在線仿真器ICE200693.2JTAG ICE仿真器693.3AVR嵌入式單片機開發下載實驗器SL?AVR703.4AVR集成開發環境(IDE)753.4.1AVR Assembler編譯器753.4.2AVR Studio773.4.3AVR Prog783.5SL?AVR系列組態開發實驗系統793.6SL?AVR*.ASM源文件說明81第四章AVR單片機指令系統4.1指令格式844.1.1匯編指令844.1.2匯編器偽指令844.1.3表達式874.2尋址方式894.3數據操作和指令類型924.3.1數據操作924.3.2指令類型924.3.3指令集名詞924.4算術和邏輯指令934.4.1加法指令934.4.2減法指令974.4.3乘法指令1014.4.4取反碼指令1014.4.5取補指令1024.4.6比較指令1034.4.7邏輯與指令1054.4.8邏輯或指令1074.4.9邏輯異或指令1104.5轉移指令1114.5.1無條件轉移指令1114.5.2條件轉移指令1144.6數據傳送指令1354.6.1直接數據傳送指令1354.6.2間接數據傳送指令1374.6.3從程序存儲器直接取數據指令1444.6.4I/O口數據傳送指令1454.6.5堆棧操作指令1464.7位指令和位測試指令1474.7.1帶進位邏輯操作指令1474.7.2位變量傳送指令1514.7.3位變量修改指令1524.7.4其它指令1614.8新增指令(新器件)1624.8.1EICALL-- 延長間接調用子程序1624.8.2EIJMP--擴展間接跳轉1634.8.3ELPM--擴展裝載程序存儲器1644.8.4ESPM--擴展存儲程序存儲器1644.8.5FMUL--小數乘法1664.8.6FMULS--有符號數乘法1664.8.7FMULSU--有符號小數和無符號小數乘法1674.8.8MOVW--拷貝寄存器字1684.8.9MULS--有符號數乘法1694.8.10MULSU--有符號數與無符號數乘法1694.8.11SPM--存儲程序存儲器170 第五章AVR單片機AT90系列5.1AT90S12001725.1.1特點1725.1.2描述1735.1.3引腳配置1745.1.4結構縱覽1755.2AT90S23131835.2.1特點1835.2.2描述1845.2.3引腳配置1855.3ATmega8/8L1855.3.1特點1865.3.2描述1875.3.3引腳配置1895.3.4開發實驗工具1905.4AT90S2333/44331915.4.1特點1915.4.2描述1925.4.3引腳配置1945.5AT90S4414/85151955.5.1特點1955.5.2AT90S4414和AT90S8515的比較1965.5.3引腳配置1965.6AT90S4434/85351975.6.1特點1975.6.2描述1985.6.3AT90S4434和AT90S8535的比較1985.6.4引腳配置2005.6.5AVR RISC結構2015.6.6定時器/計數器2125.6.7看門狗定時器 2175.6.8EEPROM讀/寫2175.6.9串行外設接口SPI2175.6.10通用串行接口UART2175.6.11模擬比較器 2175.6.12模數轉換器2185.6.13I/O端口2235.7ATmega83/1632285.7.1特點2285.7.2描述2295.7.3ATmega83與ATmega163的比較2315.7.4引腳配置2315.8ATtiny10/11/122325.8.1特點2325.8.2描述2335.8.3引腳配置2355.9ATtiny15/L2375.9.1特點2375.9.2描述2375.9.3引腳配置2395 .10ATmega128/128L2395.10.1特點2405.10.2描述2415.10.3引腳配置2435.10.4開發實驗工具2455.11ATmega1612465.11.1特點2465.11.2描述2475.11.3引腳配置2475.12AVR單片機替代MCS51單片機249第六章實用程序設計6.1程序設計方法2506.1.1程序設計步驟2506.1.2程序設計技術2506.2應用程序舉例2516.2.1內部寄存器和位定義文件2516.2.2訪問內部 EEPROM2546.2.3數據塊傳送2546.2.4乘法和除法運算應用一2556.2.5乘法和除法運算應用二2556.2.616位運算2556.2.7BCD運算2556.2.8冒泡分類算法2556.2.9設置和使用模擬比較器2556.2.10半雙工中斷方式UART應用一2556.2.11半雙工中斷方式UART應用二2566.2.128位精度A/D轉換器2566.2.13裝載程序存儲器2566.2.14安裝和使用相同模擬比較器2566.2.15CRC程序存儲的檢查2566.2.164×4鍵區休眠觸發方式2576.2.17多工法驅動LED和4×4鍵區掃描2576.2.18I2C總線2576.2.19I2C工作2586.2.20SPI軟件2586.2.21驗證SLAVR實驗器及AT90S1200的口功能12596.2.22驗證SLAVR實驗器及AT90S1200的口功能22596.2.23驗證SLAVR實驗器及具有DIP40封裝的口功能第七章AVR單片機的應用7.1通用延時子程序2607.2簡單I/O口輸出實驗2667.2.1SLAVR721.ASM 2667.2.2SLAVR722.ASM2677.2.3SLAVR723.ASM2687.2.4SLAVR724.ASM2707.2.5SLAVR725.ASM2717.2.6SLAVR726.ASM2727.2.7SLAVR727.ASM2737.3綜合程序2747.3.1LED/LCD/鍵盤掃描綜合程序2747.3.2LED鍵盤掃描綜合程序2757.3.3在LED上實現字符8的循環移位顯示程序2757.3.4電腦放音機2777.3.5鍵盤掃描程序2857.3.6十進制計數顯示2867.3.7廉價的A/D轉換器2897.3.8高精度廉價的A/D轉換器2947.3.9星星燈2977.3.10按鈕猜數程序2987.3.11漢字的輸入3047.4復雜實用程序3067.4.110位A/D轉換3067.4.2步進電機控制程序3097.4.3測脈沖寬度3127.4.4LCD顯示8字循環3187.4.5LED電腦時鐘3247.4.6測頻率3307.4.7測轉速3327.4.8AT90S8535的A/D轉換334第八章BASCOMAVR的應用8.1基于高級語言BASCOMAVR的單片機開發平臺3408.2BASCOMAVR軟件平臺的安裝與使用3418.3AVR I/O口的應用3458.3.1LED發光二極管的控制3458.3.2簡易手控廣告燈3468.3.3簡易電腦音樂放音機3478.4LCD顯示器3498.4.1標準LCD顯示器的應用3498.4.2簡單游戲機--按鈕猜數3518.5串口通信UART3528.5.1AVR系統與PC的簡易通信3538.5.2PC控制的簡易廣告燈3548.6單總線接口和溫度計3568.7I2C總線接口和簡易IC卡讀寫器359第九章ICC AVR C編譯器的使用9.1ICC AVR的概述3659.1.1介紹ImageCraft的ICC AVR3659.1.2ICC AVR中的文件類型及其擴展名3659.1.3附注和擴充3669.2ImageCraft的ICC AVR編譯器安裝3679.2.1安裝SETUP.EXE程序3679.2.2對安裝完成的軟件進行注冊3679.3ICC AVR導游3689.3.1起步3689.3.2C程序的剖析3699.4ICC AVR的IDE環境3709.4.1編譯一個單獨的文件3709.4.2創建一個新的工程3709.4.3工程管理3719.4.4編輯窗口3719.4.5應用構筑向導3719.4.6狀態窗口3719.4.7終端仿真3719.5C庫函數與啟動文件3729.5.1啟動文件3729.5.2常用庫函數3729.5.3字符類型庫3739.5.4浮點運算庫3749.5.5標準輸入/輸出庫3759.5.6標準庫和內存分配函數3769.5.7字符串函數3779.5.8變量參數函數3799.5.9堆棧檢查函數3799.6AVR硬件訪問的編程3809.6.1訪問AVR的底層硬件3809.6.2位操作3809.6.3程序存儲器和常量數據3819.6.4字符串3829.6.5堆棧3839.6.6在線匯編3839.6.7I/O寄存器3849.6.8絕對內存地址3849.6.9C任務3859.6.10中斷操作3869.6.11訪問UART3879.6.12訪問EEPROM3879.6.13訪問SPI3889.6.14相對轉移/調用的地址范圍3889.6.15C的運行結構3889.6.16匯編界面和調用規則3899.6.17函數返回非整型值3909.6.18程序和數據區的使用3909.6.19編程區域3919.6.20調試3919.7應用舉例*3929.7.1讀/寫口3929.7.2延時函數3929.7.3讀/寫EEPROM3929.7.4AVR的PB口變速移位3939.7.5音符聲程序3939.7.68字循環移位顯示程序3949.7.7鋸齒波程序3959.7.8正三角波程序3969.7.9梯形波程序396附錄1AT89系列單片機簡介398附錄2AT94K系列現場可編程系統標準集成電路401附錄3指令集綜合404附錄4AVR單片機選型表408參 考 文 獻412
上傳時間: 2013-11-08
上傳用戶:xcy122677
隨著單片機性能不斷提高而價格卻不斷下降, 單片機控制在越來越多的領域得以應用。按照傳統的模式, 在整個項目開發過程中, 先根據控制系統要求設計原理圖, PCB 電路圖繪制, 電路板制作, 元器件的焊接, 然后進行軟件編程, 通過仿真器對系統硬件和軟件調試, 最后將調試成功的程序固化到單片機中。這一過程中的主要問題是, 應用程序需要在硬件完成的情況下才能進行調試。雖然有的軟件可以進行模擬調試, 但是對于一些復雜的程序如人機交互程序, 在沒有硬件的時候, 沒有界面的真實感, 給調試帶來困難。在軟硬件的配合中如需要修改硬件, 要重新制板, 在時間和投入上帶來很大的麻煩。縱觀整個過程, 無論是從硬件成本上, 還是從調試周期上, 傳統開發模式的效率有待提高。能否只使用一種開發工具兼顧仿真, 調試, 制板, 以及最大限度的軟件模擬來作為單片機的開發平臺, 用它取代編程器、仿真器、成品前的硬件測試等工作是廣大單片機開發者的夢想。 PROTEUS 軟件介紹為了更加直觀具體地說明Proteus 軟件的實用價值, 本文以一具體的TAXI 的計價器和計時器電路板的設計過程為例。其電路板要實現的功能是:㈠計時功能(相當于時鐘);㈡里程計價功能:兩公里以內價格為4 元, 以后每一公里加0.7 元, 不足一公里取整(如10.3 公里取11 公里);㈢通過鍵盤輸入里程, 模擬計算里程費, 實現Y= (X- 2)*0.7+4 的簡單計算。基于上述功能, 選用ATMEL 公司生產的通用芯片AT89C51 單片機構成應用系統。AT89C51 是內含8 位4K 程序存儲器, 128B 數據存儲器, 2 個定時器/計數器的通用芯片。系統開發環境采用ProteusISIS 6。2.1 計價器模擬系統硬件構成系統主要由一個AT89C51 單片機、74LS373、74LS240、矩陣鍵盤、4 位7 段數碼管等組成。通用AT89C51 單片機芯片作為整個電路的核心部分、74LS373 作為LED 段選控制、74LS240四路反相器則為4 位共陰極7 段數碼管提供位選通信號、矩陣鍵盤輸入控制信號。
上傳時間: 2013-11-09
上傳用戶:木子葉1
用單片機實現溫度遠程顯示摘 要:文章介紹了用AT89S8252單片機的串行接口與智能溫度巡回檢測儀(XJ-08S)通過RS—485總線相互通訊實現熱水溫度遠程顯示的一種低成本解決方案,內容涉及RS—485總線通訊、單片機驅動數碼管顯示、數據轉換以及鍵盤處理軟硬件設計等內容。關鍵詞:單片機 RS—485總線 數碼管顯示 數據轉換 鍵盤處理一、前 言目前檢測溫度一般采用熱電偶或熱敏電阻作為傳感器,這種傳感器至儀表之間一般都要用專用的溫度補償導線,而溫度補償導線價格很貴,并且線路太長也會影響測量精度。在實際應用中往往需要對較遠處(1KM左右)的溫度信號進行監視。現有的解決方案有很多,例如:1、 在現場用智能儀表對溫度信號進行測量,用計算機作上位機與智能儀表進行通訊來實現遠程溫度監測(采用這種方案要增加計算機設備及相關計算機軟件)。2、 NCU+DDC實現遠程溫度監測。用兩個DDC,一個安裝在現場測量溫度,另一個安裝在監視地,兩個DDC通過NCU進行通訊從而實現遠程溫度監測。但以上方案都存在成本高的問題,有沒有低成本的解決方案呢?其實,在單片機應用日益廣泛的今天,完全可以用單片機以極低的成本來實現遠程溫度監測。二、問題的提出我單位管理的鍋爐房同時給兩棟建筑物內的兩家酒店供應蒸汽,由安裝在兩棟建筑物地下室的熱交換器進行熱交換后產生熱水送給客房。從鍋爐房至兩個熱交換站的距離分別約600米,值班人員要不停地奔波于兩個熱交換站與鍋爐房之間進行設備巡視,檢查熱水溫度是否控制在規定的范圍,這樣不僅增加了值班人員的勞動強度,同時也使鍋爐房經常無人(因每班1人值班)。如果能在鍋爐房顯示兩個熱交換站內各熱交換器的熱水溫度,則值班人員僅在熱水溫度異常時才需到各熱交換站檢查設備,這樣便可解決上述問題。我公司曾就此問題找專業公司作過方案,其報價在人民幣10萬元左右,后因種種原因該項目未實施。經過分析,本人發現可以用單片機+智能儀表以低成本實現溫度遠程顯示,并且經過實驗取得了成功,現將設計方案簡述如下:三、控制要求及解決方案選擇 1、 兩個熱交換站分高低區共安裝有8個熱交換器,正常水溫在45oC至65oC之間;兩個熱交換站與鍋爐房的距離分別為500米和600米左右。2、 要求在鍋爐房能以巡回及定點兩種方式顯示8個熱交換器的熱水溫度,巡回方式以3秒為周期輪流更新及顯示各熱交換器熱水溫度。定點方式時每按上鍵或下鍵一次則顯示上或下一個熱交換器熱水溫度,每3秒自動更新數據一次。3、 根據控制要求選擇單片機+智能儀表的解決方案:用帶通訊接口的智能儀表安裝在現場測量溫度,設計制作一個單片機裝置完成與智能儀表的通訊及數據顯示。四、通訊協議、智能儀表選擇及其參數介紹因熱水溫度信號變化較慢,因而對通信的速度要求不高,對于這種低速率遠距離的通訊選用RS-485總線適宜。RS-485是EIA(美國電子工業聯合會)在1983年公布的新的平衡傳輸標準,是工業界使用最為廣泛的雙向、平衡傳輸線標準接口,它以半雙工方式通信,支持多點連接,傳統驅動器允許創建多達32個節點的網絡,且其具有傳輸距離遠(最大傳輸距離為1200M),傳輸速度快(1200M時為100KBPS)等優點。其連接方法如下圖所示。
上傳時間: 2013-10-12
上傳用戶:luopoguixiong
隨著 微 電 子技術的飛速發展,電子產品越來越微型化,集成化,自動化,低廉化,進而推動著其它許多產業的發展。特別進人21世紀以來,生物技術與電子技術的結合,成為高科技領域的研究熱點。199()年由瑞士的Manz和Widmer首先提出的“微全分析系統”〔’〕(microto talan alysissy stems,即ptTAS),通俗地稱為“建在芯片上的實驗室”(Lab on a chip)或簡稱芯片實驗室(Lab chip),主要組成部分為電泳芯片,同時是進樣,分離和檢測為一體的微型裝置,其在電泳實驗中的高效檢測性能為生物化學分析儀器發展提供了一種借鑒。p.TAS廣泛應用于生物醫學、環境檢測、食品衛生、科學以及國防等眾多領域。目前 應 用 的大多為多通道的毛細管電泳芯片,這也是芯片發展的一個必然趨勢。這不僅對電泳芯片本身的設計和制作提出了更高的要求,也對傳感器和數據處理技術提出了新的挑戰。考慮成本,集成度,控制能力以及可靠性方面的因素,本系統采用單片機作為實時數據處理、控制以及通訊的硬件平臺。如果系統中既有實時的通信任務,同時又有其他實時任務,采用一個廉價的單片機,資源會比較緊張,不僅實現困難,結構復雜,而且效果可能不滿意。而采用高性能的處理器,又浪費了其有效資源,所以本系統采用兩個MCU協同工作,以并行/分布式多機的思想,構成了電泳芯 片核心的雙單片機系統結構。微全 分 析 系 統 進行的多項實時任務,可以劃分為以下 幾個模塊:①采集模塊。負責對外圍檢驗設備進行控 制以及對傳送過來的信號進行采集和分析;②交互模 塊。通過液晶顯示,鍵盤掃描,以及打印等實現實驗人 員對前端采集電路的交互操作;③雙單片機控制和通 信模塊。協調雙單片機之間的數據傳輸和指令傳輸 ;④網絡傳輸模塊。其中一個單片機通過以太網發送接 收數據到上位機。本文提出一種實時多任務的雙單片 機控制和通信系統[31的設計,一個MCU基于TCP /IP網絡模塊的實現。
上傳時間: 2013-11-15
上傳用戶:wangdean1101
三種方法讀取鍵值 使用者設計行列鍵盤介面,一般常採用三種方法讀取鍵值。 中斷式 在鍵盤按下時產生一個外部中斷通知CPU,並由中斷處理程式通過不同位址讀資料線上的狀態判斷哪個按鍵被按下。 本實驗採用中斷式實現使用者鍵盤介面。 掃描法 對鍵盤上的某一行送低電位,其他為高電位,然後讀取列值,若列值中有一位是低,表明該行與低電位對應列的鍵被按下。否則掃描下一行。 反轉法 先將所有行掃描線輸出低電位,讀列值,若列值有一位是低表明有鍵按下;接著所有列掃描線輸出低電位,再讀行值。 根據讀到的值組合就可以查表得到鍵碼。4x4鍵盤按4行4列組成如圖電路結構。按鍵按下將會使行列連成通路,這也是見的使用者鍵盤設計電路。 //-----------4X4鍵盤程序--------------// uchar keboard(void) { uchar xxa,yyb,i,key; if((PINC&0x0f)!=0x0f) //是否有按鍵按下 {delayms(1); //延時去抖動 if((PINC&0x0f)!=0x0f) //有按下則判斷 { xxa=~(PINC|0xf0); //0000xxxx DDRC=0x0f; PORTC=0xf0; delay_1ms(); yyb=~(PINC|0x0f); //xxxx0000 DDRC=0xf0; //復位 PORTC=0x0f; while((PINC&0x0f)!=0x0f) //按鍵是否放開 { display(data); } i=4; //計算返回碼 while(xxa!=0) { xxa=xxa>>1; i--; } if(yyb==0x80) key=i; else if(yyb==0x40) key=4+i; else if(yyb==0x20) key=8+i; else if(yyb==0x10) key=12+i; return key; //返回按下的鍵盤碼 } } else return 17; //沒有按鍵按下 }
上傳時間: 2013-11-12
上傳用戶:a673761058
如同今天的許多通用單片機(MCU)已經把USB、CAN和以太網作為標準外設集成在芯片內部一樣,越來越多的無線網絡芯片和無線網絡解決方案也在向集成SoC 方向發展,比如第一代產品,Nordic公司nRF905,Chipcon公司cc1010 他們集成了8051兼容的單片機.這些無線單片機適合一般的點對點和點對多點的私有網絡應用,如單一產品的遙控器和抄表裝置等。無線通訊技術給智能裝置的互連互通提供了便捷的途徑,工業無線網絡作為面向工業和家庭自動化的網絡技術也正在向著智能,標準和節能方向發展。 目前在工業控制和消費電子領域使用的無線網絡技術有ZigBee、無線局域網(Wi-Fi)、藍牙(Blutooth)、GPRS通用分組無線業務、 ISM、IrDA等, 未來還能有3G、超寬頻(UWB)、無線USB、Wimax等。 當然還有大量的私有和專用無線網絡在工業控制和消費電子裝置中使用,其中ZigBee、GPRS是在目前在國內工業控制中討論和使用比較多的兩種,藍牙和無線局域網是在消費電子產品如手機、耳機、打印機、照相機和家庭中小企業網絡中廣泛使用的無線協議(個別工業產品也有應用,如無線視頻監控和汽車音響系統),當然私有無線網絡技術和產品在工業也有很多的應用。 ZigBee是一個低功耗、短距離和低速的無線網絡技術,工作在2.4GHz國際免執照的頻率,在IEEE標準上它和無線局域網、藍牙同屬802家族中的無線個人區域網絡, ZigBee是有兩部分組成,物理和鏈路層符合IEEE802.15.4, 網絡和應用層符合ZigBee聯盟的規范。ZigBee聯盟是在2002年成立的非盈利組織,有包括TI、霍尼威爾、華為在內兩百多家成員, ZigBee聯盟致力推廣兼容802.15.4和ZigBee協議的平臺, 制定網絡層和應用架構的公共規范,希望在樓宇自動化、居家控制、家用電器、工業自動控制和電腦外設等多方面普及ZigBee標準。 GPRS是在現有的GSM 網絡發展出來的分組數據承載業務,它工作在標準的GSM頻率,由于是一個分組交換系統,它適合工業上的突發,少量的數據傳輸,還因為GSM網絡覆蓋廣泛,永遠在線的特點,GPRS特點適合工業控制中的遠程監控和測量系統。在工業控制應用中GPRS 芯片一般是以無線數傳模塊形式出現的,它通過RS232全雙工接口和單片機連接,軟件上這些模塊都內置了GPRS,PPP和TCP/IP協議,單片機側通過AT指令集向模塊發出測試,連接和數據收發指令,GPRS模塊通過中國移動cmnet進入互聯網和其他終端或者服務器通訊。目前市場常見的模塊有西門子G24TC45、TC35i,飛思卡爾G24,索愛GR47/48, 還有Wavecom 的集成了ARM9核的GPRS SoC模塊WMP50/100。GPRS模塊有區分自帶TCP/IP協議和不帶協議兩種,一般來講,如果是單片機側有嵌入式操作系統和TCP/IP協議支持的話或者應用的要求只是收發短信和語音功能的話,可以選擇不帶協議的模塊。 先進的SoC技術正在無線應用領域發揮重要的作用。德州儀器收購了Chipcon公司以后發布的CC2430 是市場上首款SoC的ZigBee單片機, 見圖1,它把協議棧z-stack集成在芯片內部的閃存里面, 具有穩定可靠的CC2420收發器,增強性的8051內核,8KRAM,外設有I/O 口,ADC,SPI,UART 和AES128 安全協處理器,三個版本分別是32/64/128K的閃存,以128K為例,扣除基本z-stack協議還有3/4的空間留給應用代碼,即使完整的ZigBee協議,還有近1/2的空間留給應用代碼,這樣的無線單片機除了處理通訊協議外,還可以完成一些監控和顯示任務。這樣無線單片機都支持通過SPI或者UART與通用單片機或者嵌入式CPU結合。 2008年4月發表CC2480新一代單片ZibBee認證處理器就展示出和TI MSP430 通用的低功耗單片機結合的例子。圖1 CC2430應用電路 工業控制領域的另一個芯片巨頭——飛思卡爾的單片ZigBee處理器MC1321X的方案也非常類似,集成了HC08單片機核心, 16/32/64K 閃存,外設有GPIO, I2C和ADC, 軟件是Beestack 協議,只是最多4K RAM 對于更多的任務顯得小了些。但是憑借32位單片機Coldfire和系統軟件方面經驗和優勢, 飛思卡爾在滿足用戶應用的彈性需求方面作的更有特色,它率先能夠提供從低-中-高各個層面的解決方案,見圖2。
上傳時間: 2013-11-02
上傳用戶:momofiona
空調紅外遙控器是通常由兩節堿性電池供電,通過38KHZ 紅外載波調制與掛機或者柜機單向通訊的便攜式設備。由于其成本低廉,低功耗等特點不僅在空調,還在其它家電及玩具等領域得到了廣泛應用。基于便攜及電池供電的要求,系統的超低功耗及可靠性設計是首要目標之一。本文針對應用中對低功耗,高集成度的要求,采用MSP430F415 超低功耗MCU,實現按鍵掃描,LCD 顯示,紅外發送等完整功能。
上傳時間: 2013-11-23
上傳用戶:sclyutian
載波相移正弦脈寬調制(SPWM)技術是一種適用于大功率電力開關變換裝置的高性能開關調制策略,在有源電力濾波器中有良好的應用前景。本文介紹了如何利用高性能數字信號處理器TMS320F28335的片內外設事件管理器(EV)模塊產生三相SPWM波,給出了程序流程圖及關鍵程序源碼。該方法采用不對稱規則采樣算法,參數計算主要采用查表法,計算量小,實時性高。在工程實踐中表明,該方法既能滿足控制精度要求,又能滿足實時性要求,可以很好地控制逆變電源的輸出。
上傳時間: 2013-11-05
上傳用戶:tzrdcaabb