亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

自引導程序

  • 基于FPGA的PROFIBUSDP從站接口研究

    PROFIBUS現場總線技術是當今控制領域的一個熱點。目前國內對于PROFIBUS-DP的應用和研究主要以西門子等國外大公司的成套設備為主,用單片機+固態程序的方法做PROFIBUS-DP接口控制器的技術比較成熟,而自主開發PROFIBUS-DP通用接口的研究卻比較少。針對這一現狀,本論文采用FPGA做控制器,提出了基于FPGA技術的從站接口通信模塊的設計方案,使具有RS-232接口的從站可以通過該接口通信模塊與PROFIBUS-DP主站進行通訊連接。 論文首先對PROFIBUS現場總線技術進行概述,主要從現場總線的技術特點、協議結構、傳輸技術、存取協議等方面進行介紹。對PROFIBUS-DP系統組成和配置、工作方式及數據傳遞、DP的功能和從站狀態機制等進行研究和分析。然后詳細論述了基于PROFIBUS-DP的通信接口的硬件及軟件實現。 在硬件設計中,本文從PROFIBUS協議芯片SPC3實現的具體功能出發,結合EDA(Electronic Design Amomation)設計自項向下的設計思想,給出了總線接口的總體設計方案。同時給出其設計邏輯框圖、算法流程圖、引腳說明以及部分模塊的仿真結果。并充分考慮了硬件的通用性及將來的擴展。 本設計使用VHDL描述,在此基礎之上采用專門的綜合軟件對設計進行了綜合優化,最后在FPGA(Field Programmable Gate Array)芯片EP1C6上得以實現。在軟件設計中,詳細介紹了通信接口的軟件設計實現,包括狀態機的實現、各種通信報文的實現、GSD文件的編寫等。 再通過Siemens公司的CP5611網絡接口卡和PC機做主站,使用COMPROFIBUS組態軟件,組建系統進行通訊測試,得到良好結果。

    標簽: PROFIBUSDP FPGA 接口

    上傳時間: 2013-05-25

    上傳用戶:xwd2010

  • 基于FPGA的便攜式振動頻譜分析儀

    該論文基于NIOS Ⅱ軟核處理器和Altera的FPGA技術,設計了一種便攜式的振動頻譜分析儀,用于旋轉機械的故障監測和診斷。以SOPC技術為手段,將信號采集和信號處理電路通過可編程片上系統來實現,其特點是將對ADC的控制、數字信號的濾波、快速傅立葉變換的設計,通過FPGA芯片集成在一起,以NIOS Ⅱ來完成32位CPU的狀態控制功能。工程機械、汽車車輛中都存在諸如發動機類的旋轉機械,這類設備的異常振動往往會影響正常工作,嚴重時還會出現各種重大事故,該分析儀可以實時地或定期地對發動機、齒輪箱等旋轉機械進行振動頻譜分析和監測,運用于民用機械能產生非常好的經濟效益。 該論文從四個方面進行了研究工作。其一,利用FPGA對ADC芯片的工作進行控制,使其在規定的時間內與DSP模塊進行數據交換,并對ADC各引腳時序進行控制,使兩者協調同步工作,編制了相應的VHDL語言程序。其二,采用SOPC Builder設計開發,實現了基于NIOS Ⅱ的32位CPU軟核,創建了相應的C/C++和匯編的宏代碼,使得軟件可以訪問用戶自定義邏輯。對頂層設計產生的VHDL的RTL代碼和仿真文件進行了綜合、編譯適配以及仿真。其三,配合Matlab和DSP Builder的強大功能進行DSP模塊設計,開發出了FIR和FFT等功能模塊,并且添加到SOPC系統中,使其可以由NIOS Ⅱ很容易的調用。其四,在NIOS Ⅱ系統中添加了uC/OS Ⅱ操作系統,提高了整個系統的穩定性,并且降低了開發難度,提高了系統升級的能力。由于整個設計是基于FPGA開發的,所以該系統包括了所有FPGA系統的特點,包括并行的DSP處理、在系統可編程、升級簡單等特點,極易使設計產品化。

    標簽: FPGA 便攜式 振動頻譜 分析儀

    上傳時間: 2013-04-24

    上傳用戶:amandacool

  • 基于FPGA控制的高速數據采集系統

    數據采集系統是信號與信息處理系統中不可缺少的重要組成部分,同時也是軟件無線電系統中的核心模塊,在現代雷達系統以及無線基站系統中的應用越來越廣泛。為了能夠滿足目前對軟件無線電接收機自適應性及靈活性的要求,并充分體現在高性能FPGA平臺上設計SOC系統的思路,本文提出了由高速高精度A/D轉換芯片、高性能FPGA、PCI總線接口、DB25并行接口組成的高速數據采集系統設計方案及實現方法。其中FPGA作為本系統的控制核心和傳輸橋梁,發揮了極其重要的作用。通過FPGA不僅完成了系統中全部數字電路部分的設計,并且使系統具有了較高的可適應性、可擴展性和可調試性。 在時序數字邏輯設計上,充分利用FPGA中豐富的時序資源,如鎖相環PLL、觸發器,緩沖器FIFO、計數器等,能夠方便的完成對系統輸入輸出時鐘的精確控制以及根據系統需要對各處時序延時進行修正。 在存儲器設計上,采用FPGA片內存儲器。可根據系統需要隨時進行設置,并且能夠方便的完成數據格式的合并、拆分以及數據傳輸率的調整。 在傳輸接口設計上,采用并行接口和PCI總線接口的兩種數據傳輸模式。通過FPGA中的宏功能模塊和IP資源實現了對這兩種接口的邏輯控制,可使系統方便的在兩種傳輸模式下進行切換。 在系統工作過程控制上,通過VB程序編寫了應用于PC端的上層控制軟件。并通過并行接口實現了PC和FPGA之間的交互,從而能夠方便的在PC機上完成對系統工作過程的控制和工作模式的選擇。 在系統調試方面,充分利用QuartuslI軟件中自帶的嵌入式邏輯分析儀SignalTaplI,實時準確的驗證了在系統整個傳輸過程中數據的正確性和時序性,并極大的降低了用常規儀器觀測FPGA中眾多待測引腳的難度。 本文第四章針對FPGA中各功能模塊的邏輯設計進行了詳細分析,并對每個模塊都給出了精確的仿真結果。同時,文中還在其它章節詳細介紹了系統的硬件電路設計、并行接口設計、PCI接口設計、PC端控制軟件設計以及用于調試過程中的SignalTapⅡ嵌入式邏輯分析儀的使用方法,并且也對系統的仿真結果和測試結果給出了分析及討論。最后還附上了系統的PCB版圖、FPGA邏輯設計圖、實物圖及注釋詳細的相關源程序清單。

    標簽: FPGA 控制 高速數據 采集系統

    上傳時間: 2013-06-09

    上傳用戶:lh25584

  • usb自定義設備編程

    usb自定義設備的開發例程,轉自網上下載的程序

    標簽: usb 自定義 編程 設備

    上傳時間: 2013-05-23

    上傳用戶:lili123

  • 自適應濾波器的MATLAB實現

    自適應濾波器的原理分析和設計流程,及matlab程序

    標簽: MATLAB 自適應濾波器

    上傳時間: 2013-10-18

    上傳用戶:glxcl

  • IC封裝製程簡介(IC封裝制程簡介)

    半導體的產品很多,應用的場合非常廣泛,圖一是常見的幾種半導體元件外型。半導體元件一般是以接腳形式或外型來劃分類別,圖一中不同類別的英文縮寫名稱原文為   PDID:Plastic Dual Inline Package SOP:Small Outline Package SOJ:Small Outline J-Lead Package PLCC:Plastic Leaded Chip Carrier QFP:Quad Flat Package PGA:Pin Grid Array BGA:Ball Grid Array         雖然半導體元件的外型種類很多,在電路板上常用的組裝方式有二種,一種是插入電路板的銲孔或腳座,如PDIP、PGA,另一種是貼附在電路板表面的銲墊上,如SOP、SOJ、PLCC、QFP、BGA。    從半導體元件的外觀,只看到從包覆的膠體或陶瓷中伸出的接腳,而半導體元件真正的的核心,是包覆在膠體或陶瓷內一片非常小的晶片,透過伸出的接腳與外部做資訊傳輸。圖二是一片EPROM元件,從上方的玻璃窗可看到內部的晶片,圖三是以顯微鏡將內部的晶片放大,可以看到晶片以多條銲線連接四周的接腳,這些接腳向外延伸並穿出膠體,成為晶片與外界通訊的道路。請注意圖三中有一條銲線從中斷裂,那是使用不當引發過電流而燒毀,致使晶片失去功能,這也是一般晶片遭到損毀而失效的原因之一。   圖四是常見的LED,也就是發光二極體,其內部也是一顆晶片,圖五是以顯微鏡正視LED的頂端,可從透明的膠體中隱約的看到一片方型的晶片及一條金色的銲線,若以LED二支接腳的極性來做分別,晶片是貼附在負極的腳上,經由銲線連接正極的腳。當LED通過正向電流時,晶片會發光而使LED發亮,如圖六所示。     半導體元件的製作分成兩段的製造程序,前一段是先製造元件的核心─晶片,稱為晶圓製造;後一段是將晶中片加以封裝成最後產品,稱為IC封裝製程,又可細分成晶圓切割、黏晶、銲線、封膠、印字、剪切成型等加工步驟,在本章節中將簡介這兩段的製造程序。

    標簽: 封裝 IC封裝 制程

    上傳時間: 2014-01-20

    上傳用戶:蒼山觀海

  • 飛思卡爾單片機9S12XS128說明書

      這里描述的是一套 9S12XS128 系列單片機開發系統套件。以后的更新的版本見清華   Freescale 單片機應用開發研究中心   開發系統主要由兩個部分組成,分別是調試下載用的新款三合一 USBDM 和   9S12XS128單片機基本系統模塊。其中USBDM 的使用請參見文檔“新款三合一BDM 調   試器說明書.pdf”。本手冊是 9S12XS128 單片機基本系統模塊的用戶說明書。   目標板是有異步串行口的驅動的基本系統。針對 9S12XS128 單片機,我們編寫了   9S12XS128目標板監控程序,作為應用系統開發的輔助工具。用戶可以在此基礎上設計自   己所需的目標母板,完成項目的初期開發。應用軟件完成后,也可擦除監控程序,下載最   終的應用程序。   這里描述的 9S12XS128 單片機基本系統模塊是針對全國大學生飛思卡爾杯智能車模   競賽設計的,采用大賽組委會推薦的 80 引腳器件。為了盡量減輕該基本系統的重量,我   們減小了模塊的尺寸,去掉了串口的 DB9插座,將RS-232 口通過3 芯轉DB9電纜引出。

    標簽: 128 S12 9S 12

    上傳時間: 2014-12-25

    上傳用戶:zjf3110

  • MOTOROLA 8位增強型單片機M68HC11原理與應用

    本書分三部分介紹在美國廣泛應用的、高功能的M68HC11系列單片機(8位機 ,Motorola公司)。內容包括M68HC11的結構與其基本原理、開發工具EVB(性能評估板)以及開發和應用技術。本書在介紹單片機硬、軟件的基礎上,進一步介紹了在美國實驗室內,如何應用PC機及EVB來進行開發工作。通過本書的介紹,讀者可了解這種單片機的原理并學會開發和應用方法。本書可作為大專院校單片機及其實驗的教材(本科、短訓班)。亦可供開發、應用單片機的各專業(計算機、機電、化工、紡織、冶金、自控、航空、航海……)有關技術人員參考。 第一部分 M68HC11 結構與原理Motorola單片機 1 Motorla單片機 1.1 概述 1.1.1 Motorola 單片機發展概況(3) 1.1.2 Motorola 單片機結構特點(4) 1.2 M68HC11系列單片機(5) 1.2.1 M68HC11產品系列(5) 1.2.2 MC68HC11E9特性(6) 1.2.3 MC68HC11E9單片機引腳說明(8) 1.3 Motorola 32位單片機(14) 1.3.1中央處理器(CPU32)(15) 1.3.2 定時處理器(TPU)(16) 1.3.3 串行隊列模塊(QSM)(16) 1.3.4 系統集成模塊 (SIM)(16) 1.3.5 RAM(17) 2 系統配置與工作方式 2.1 系統配置(19) 2.1.1 配置寄存器CONFIG(19) 2.1.2 CONFIG寄存器的編程與擦除(20) 2?2 工作方式選擇(21) 2.3 M68HC11的工作方式(23) 2.3.1 普通單片工作方式(23) 2.3.2 普通擴展工作方式(23) 2.3.3 特殊自舉方式(27) 2.3.4 特殊測試方式(28) 3 中央處理器(CPU)與片上存儲器 3.1 CPU寄存器(31) 3?1?1 累加器A、B和雙累加器D(32) 3.1.2 變址寄存器X、Y(32) 3.1.3 棧指針SP(32) 3.1.4 程序計數器PC(33) 3.1.5 條件碼寄存器CCR(33) 3.2 片上存儲器(34) 3.2.1 存儲器分布(34) 3.2.2 RAM和INIT寄存器(35) 3.2.3 ROM(37) 3.2.4 EEPROM(37) 3.3 M68HC11 CPU的低功耗方式(39) 3.3.1 WAIT方式(39) 3.3.2 STOP方式(40) 4 復位和中斷 4.1 復位(41) 4.1.1 M68HC11的系統初始化條件(41) 4.1.2 復位形式(43) 4.2 中斷(48) 4.2.1 條件碼寄存器CCR中的中斷屏蔽位(48) 4.2.2 中斷優先級與中斷矢量(49) 4.2.3 非屏蔽中斷(52) 4.2.4 實時中斷(53) 4.2.5 中斷處理過程(56) 5 M68HC11指令系統 5.1 M68HC11尋址方式(59) 5.1.1 立即尋址(IMM)(59) 5.1.2 擴展尋址(EXT)(60) 5.1.3 直接尋址(DIR)(60) 5.1.4 變址尋址(INDX、INDY)(61) 5.1.5 固有尋址(INH)(62) 5.1.6 相對尋址(REL)(62) 5.1.7 前置字節(63) 5.2 M68HC11指令系統(63) 5.2.1 累加器和存儲器指令(63) 5.2.2 棧和變址寄存器指令(68) 5.2.3 條件碼寄存器指令(69) 5.2.4 程序控制指令(70) 6 輸入與輸出 6.1 概述(73) 6.2 并行I/O口(74) 6.2.1 并行I/O寄存器(74) 6.2.2 應答I/O子系統(76) 6?3 串行通信接口SCI(82) 6.3.1 基本特性(83) 6.3.2 數據格式(83) 6.3.3 SCI硬件結構(84) 6.3.4 SCI寄存器(86) 6.4 串行外圍接口SPI(92) 6.4.1 SPI特性(92) 6.4.2 SPI引腳信號(92) 6.4.3 SPI結構(93) 6.4.4 SPI寄存器(95) 6.4.5 SPI系統與外部設備進行串行數據傳輸(99) 7 定時器系統與脈沖累加器 7.1 概述(105) 7.2 循環計數器(107) 7.2.1 時鐘分頻器(107) 7.2.2 計算機正常工作監視功能(110) 7.2.3 定時器標志的清除(110) 7.3 輸入捕捉功能(111) 7.3.1 概述(111) 7.3.2 定時器輸入捕捉鎖存器(TIC1、TIC2、TIC3) 7.3.3 輸入信號沿檢測邏輯(113) 7.3.4 輸入捕捉中斷(113) 7.4 輸出比較功能(114) 7.4.1 概述(114) 7.4.2 輸出比較功能使用的寄存器(116) 7.4.3 輸出比較示例(118) 7.5 脈沖累加器(119) 7.5.1 概述(119) 7.5.2 脈沖累加器控制和狀態寄存器(121) 8 A/D轉換系統 8.1 電荷重新分布技術與逐次逼近算法(125) 8.1.1 基本電路(125) 8.1.2 A/D轉換逐次逼近算法原理(130) 8.2 M68HC11中A/D轉換的實現方法(131) 8.2.1 逐次逼近A/D轉換器(131) 8.2.2 控制寄存器(132) 8.2.3 系統控制邏輯(135)? 9 單片機的內部操作 9.1 用立即>    圖書前言   美國Motorola公司從80年代中期開始推出的M68HC11系列單片機是當今功能最強、性能/價格比最好的八位單片微計算機之一。在美國,它已被廣泛地應用于教學和各種工業控制系統中。?   該單片機有豐富的I/O功能,完善的系統保護功能和軟件控制的節電工作方式 。它的指令系統與早期Motorola單片機MC6801等兼容,同時增加了91條新指令。其中包含16位乘法、除法運算指令等。   為便于用戶開發和應用M68HC11單片機,Motorola公司提供了多種開發工具。M68HC11 EVB (Evaluation Board)性能評估板就是一種M68HC11系列單片機的廉價開發工具。它既可用來 調試用戶程序,又可在仿真方式下運行。為方便用戶,M68HC11 EVB可與IBM?PC連接 ,借助于交叉匯編、通信程序等軟件,在IBM?PC上調試程序。?   本書分三部分(共15章)介紹了M68HC11的結構和基本原理、開發工具-EVB及開發應用實例等。第一部分(1~9章),介紹M68HC11的結構和基本原理。包括概述,系統配置與工作方式、CPU和存儲器、復位和中斷、指令系統、I/O、定時器系統和脈沖累加器、A/D轉換系統、單片機的內部操作等。第二部分(10~11章),介紹M68HC11 EVB的原理和技術特性以及EVB的應用。第三部分(12~15章),介紹M68HC11的開發與應用技術。包括基本的編程練習、應用程序設計、接口實驗、接口設計及應用等。   讀者通過學習本書,不僅可了解M68HC11的硬件、軟件,而且可了解使用EVB開發和應用M68HC11單片機的方法。在本書的第三部分專門提供了一部分實驗和應用程序。?   本書系作者張寧作為高級訪問學者,應邀在美國馬薩諸塞州洛厄爾大學(University of Massachusetts Lowell)工作期間完成的。全書由張寧執筆。在編著過程中,美國洛厄爾大學的R·代克曼教授?(Professor Robert J. Dirkman)多次與張寧一起討論、研究,并提供部分資料及實驗數據。參加編寫和審校等工作的還有王云霞、孫曉芳、劉安魯、張籍、來安德、張楊等同志。?   為將M68HC11系列單片機盡快介紹給我國,美國Motorola公司的Terrence M.S.Heng先生曾大力支持本書的編著和出版。在此表示衷心感謝。    

    標簽: MOTOROLA M68 68 11

    上傳時間: 2013-10-27

    上傳用戶:rlgl123

  • AVR單片機原理及應用

    《AVR單片機原理及應用》詳細介紹了ATMEL公司開發的ATmega8系列高速嵌入式單片機的硬件結構、工作原理、指令系統、接口電路、C編程實例,以及一些特殊功能的應用和設計,對讀者掌握和使用其他ATmega8系列的單片機具有極高的參考價值 AVR單片機原理及應用》具有較強的系統性和實用性,可作為有關工程技術人員和硬件工程師的應用手冊,亦可作為高等院校自動化、計算機、儀器儀表、電子等專業的教學參考書。 目錄 第1章 緒論 1.1 AVR單片機的主要特性 1.2 主流單片機系列產品比較 1.2.1 ATMEL公司的單片機 1.2.2 Mkcochip公司的單片機 1.2.3 Cygnal公司的單片機 第2章 AVR系統結構概況 2.1 AVR單片機ATmega8的總體結構 2.1.1 ATmega8特點 2.1.2 結構框圖 2.1.3 ATmega8單片機封裝與引腳 2.2 中央處理器 2.2.1 算術邏輯單元 2.2.2 指令執行時序 2.2.3 復位和中斷處理 2.3 ATmega8存儲器 2.3.1 Flash程序存儲器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的鎖定位、熔絲位、標識位和校正位 2.4 系統時鐘及其分配 2.4.1 時鐘源 2.4.2 外部晶振 2.4.3 外部低頻石英晶振 2.4.4 外部:RC振蕩器 2.4.5 可校準內部.RC振蕩器 2.4.6 外部時鐘源 2.4.7 異步定時器/計數器振蕩器 2.5 系統電源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空閑模式 2.5.3 ADC降噪模式 2.5.4 掉電模式 2.5.5 省電模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系統復位 2.6.1 復位源 2.6.2 MCU控制狀態寄存器——MCUCSR 2.6.3 內部參考電壓源 2.7 I/O端口 2.7.1 通用數字I/O端口 2.7.2 數字輸入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系統 3.1 ATmega8匯編指令格式 3.1.1 匯編語言源文件 3.1.2 指令系統中使用的符號 3.1.3 ATmega8指令 3.1.4 匯編器偽指令 3.1.5 表達式 3.1.6 文件“M8def.inc” 3.2 尋址方式和尋址空間 3.3 算術和邏輯指令 3.3.1 加法指令 3.3.2 減法指令 3.3.3 取反碼指令 3.3.4 取補碼指令 3.3.5 比較指令 3.3.6 邏輯與指令 3.3.7 邏輯或指令 3.3.8 邏輯異或 3.3.9 乘法指令 3.4 轉移指令 3.4.1 無條件轉移指令 3.4.2 條件轉移指令 3.4.3 子程序調用和返回指令 3.5 數據傳送指令 3.5.1 直接尋址數據傳送指令 3.5.2 間接尋址數據傳送指令 3.5.3 從程序存儲器中取數裝入寄存器指令 3.5.4 寫程序存儲器指令 3.5.5 I/0端口數據傳送 3.5.6 堆棧操作指令 3.6 位操作和位測試指令 3.6.1 帶進位邏輯操作指令 3.6.2 位變量傳送指令 3.6.3 位變量修改指令 3.7 MCU控制指令 3.8 指令的應用 第4章 中斷系統 4.1 外部向量 4.2 外部中斷 4.3 中斷寄存器 第5章 自編程功能 5.1 引導加載技術 5.2 相關I/O寄存器 5.3 Flash程序存儲器的自編程 5.4 Flash自編程應用 第6章 定時器/計數器 6.1 定時器/計數器預定比例分頻器 6.2 8位定時器/計數器O(T/CO) 6.3 16位定時器/計數器1(T/C1) 6.3.1 T/C1的結構 6.3.2 T/C1的操作模式 6.3.3 T/121的計數時序 6.3.4 T/C1的寄存器 6.4 8位定時器/計數器2(T/C2) 6.4.1 T/C2的組成結構 6.4.2 T/C2的操作模式 6.4.3 T/C2的計數時序 6.4.4 T/02的寄存器 6.4.5 T/C2的異步操作 6.5 看門狗定時器 第7章 AVR單片機通信接口 7.1 AVR單片機串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 兩線串行TWT總線接口 7.2.1 TWT模塊概述 7.2.2 TWT寄存器描述 7.2.3 TWT總線的使用 7.2.4 多主機系統和仲裁 第8章 AVR單片機A/D轉換及模擬比較器 8.1 A/D轉換 8.1.1 A/D轉換概述 8.1.2 ADC噪聲抑制器 8.1.3 ADC有關的寄存器 8.2 AvR單片機模擬比較器 第9章 系統擴展技術 9.1 串行接口8位LED顯示驅動器MAX7219 9.1.1 概述 9.1.2 引腳功能及內部結構 9.1.3 操作說明 9.1.4 應用 9.1.5 軟件設計 9.2 AT24C系列兩線串行總線E2PPOM 9.2.1 概述 9.2.2 引腳功能及內部結構 9.2.3 操作說明 9.2.4 軟件設計 9.3 AT93C46——三線串行總線E2PPOM接口芯片 9.3.1 概述 9.3.2 內部結構及引腳功能 9.3.3 操作說明 9.3.4 軟件設計 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 內部結構及引腳功能 9.4.3 操作說明 9.4.4 AD620放大器介紹 9.4.5 軟件設計 9.5 串行輸出16位ADCMAXl95 9.5.1 概述 9.5.2 引腳功能及內部結構 9.5.3 操作說明 9.5.4 應用 9.5.5 軟件設計 9.6 串行輸入DACTLC5615 9.6.1 概述 9.6.2 引腳功能及內部結構 9.6.3 操作說明 9.6.4 軟件設計 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 內部結構及引腳功能 9.7.3 操作說明 9.7.4 軟件設計 9.8 串行非易失性靜態RAMX24C44 9.8.1 概述 9.8.2 引腳功能及內部結構 9.8.3 操作說明 9.8.4 軟件設計 9.9 數據閃速存儲器AT45DB041B 9.9.1 概述 9.9.2 引腳功能及內部結構 9.9.3 操作說明 9.9.4 軟件設計 9.10 GM8164串行I/0擴展芯片 9.10.1 概述 9.10.2 引腳功能說明 9.10.3 操作說明 9.10.4 軟件設計 9.11 接口綜合實例 附錄1 ICCACR簡介 附錄2 ATmega8指令表 參考文獻

    標簽: AVR 單片機原理

    上傳時間: 2013-10-29

    上傳用戶:lanwei

  • LCD12864顯示漢字和數字(程序和電路)

    附件為:LCD12864顯示漢字和數字的程序與電路 /*  自定義延時子函數 */ void delayms(uchar z) {   int x,y;   for(x=z;x>0;x--)      for(y=110;y>0;y--); } /*      判斷LCD忙信號狀態 */ void buys() {   int dat;   RW=1;   RS=0;   do     {           P0=0x00;          E=1;    dat=P0;    E=0;    dat=0x80 & dat;   } while(!(dat==0x00)); } /*      LCD寫指令函數 */ void w_com(uchar com) {   //buys();   RW=0;   RS=0;   E=1;   P0=com;   E=0; }  /*      LCD寫數據函數 */ void w_date(uchar date) {   //buys();   RW=0;   RS=1;   E=1;   P0=date;   E=0; } /*     LCD選屏函數 */ void select_screen(uchar screen) {     switch(screen)     {         case 0:     //選擇全屏                 CS1=0;        CS2=0;           break;      case 1:     //選擇左屏                 CS1=0;        CS2=1;           break;                          case 2:     //選擇右屏                 CS1=1;        CS2=0;           break;    /*  case 3:     //選擇右屏                 CS1=1;          CS2=1;               break;    */     }           } /*   LCDx向上滾屏顯示 */ void lcd_rol() {     int x;     for(x=0;x<64;x++)        {       select_screen(0);     w_com(0xc0+x);       delayms(500);     } } /*     LCD清屏函數:清屏從第一頁的第一列開始,總共8頁,64列 */ void clear_screen(screen) {   int x,y;   select_screen(screen);     //screen:0-選擇全屏,1-選擇左半屏,2-選擇右半屏   for(x=0xb8;x<0xc0;x++)   //從0xb8-0xbf,共8頁      {    w_com(x);    w_com(0x40);   //列的初始地址是0x40    for(y=0;y<64;y++)       {            w_date(0x00);              }       }    } /*   LCD顯示漢字字庫函數 */ void lcd_display_hanzi(uchar screen,uchar page,uchar col,uint mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-3,mun:顯示第幾個漢字的參數       int a;    mun=mun*32;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*16));    for ( a=0;a<16;a++)       {        w_date(hanzi[mun++]);       } }  /*   LCD顯示字符字庫函數 */ void lcd_display_zifuk(uchar screen,uchar page,uchar col,uchar mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(zifu[mun++]);       } } /*   LCD顯示數字字庫函數 */ void lcd_display_shuzi(uchar screen,uchar page,uchar col,uchar mun) {  //screen:選擇屏幕參數,page:選擇頁參數0-3,col:選擇列參數0-7,mun:顯示第幾個漢字的參數       int a;    mun=mun*16;    select_screen(screen);    w_com(0xb8+(page*2));    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       }    w_com(0xb8+(page*2)+1);    w_com(0x40+(col*8));    for ( a=0;a<8;a++)       {        w_date(shuzi[mun++]);       } } /*   LCD初始化函數 */ void lcd_init() {   w_com(0x3f);   //LCD開顯示   w_com(0xc0);   //LCD行初始地址,共64行   w_com(0xb8);   //LCD頁初始地址,共8頁   w_com(0x40);   //LCD列初始地址,共64列     } /*   LCD顯示主函數 */ void main() {   //第一行       int x;    lcd_init();     //LCD初始化    clear_screen(0);    //LCD清屏幕    lcd_display_shuzi(1,0,4,5);    //LCD顯示數字    lcd_display_shuzi(1,0,5,1);    //LCD顯示數字       lcd_display_hanzi(1,0,3,0);    //LCD顯示漢字    lcd_display_hanzi(2,0,0,1);    //LCD顯示漢字    //LCD字符漢字    lcd_display_hanzi(2,0,1,2);    //LCD顯示漢字   //第二行     lcd_display_zifuk(1,1,2,0);    //LCD顯示字符    lcd_display_zifuk(1,1,3,0);    //LCD顯示字符    lcd_display_zifuk(1,1,4,0);    //LCD顯示字符    lcd_display_zifuk(1,1,5,4);    //LCD顯示字符    lcd_display_shuzi(1,1,6,8);    //LCD顯示字符    lcd_display_shuzi(1,1,7,9);    //LCD顯示字符    lcd_display_shuzi(2,1,0,5);    //LCD顯示字符    lcd_display_shuzi(2,1,1,1);    //LCD顯示字符    lcd_display_zifuk(2,1,2,4);    lcd_display_zifuk(2,1,3,1);    lcd_display_zifuk(2,1,4,2);    lcd_display_zifuk(2,1,5,3);   //第三行    for(x=0;x<4;x++)       {      lcd_display_hanzi(1,2,x,3+x);    //LCD顯示漢字    }      for(x=0;x<4;x++)       {      lcd_display_hanzi(2,2,x,7+x);    //LCD顯示漢字    }   //第四行     for(x=0;x<4;x++)       {      lcd_display_zifuk(1,3,x,5+x);    //LCD顯示漢字    }     lcd_display_shuzi(1,3,4,7);     lcd_display_shuzi(1,3,5,5);     lcd_display_shuzi(1,3,6,5);     lcd_display_zifuk(1,3,7,9);     lcd_display_shuzi(2,3,0,8);     lcd_display_shuzi(2,3,1,9);     lcd_display_shuzi(2,3,2,9);     lcd_display_shuzi(2,3,3,5);     lcd_display_shuzi(2,3,4,6);     lcd_display_shuzi(2,3,5,8);     lcd_display_shuzi(2,3,6,9);     lcd_display_shuzi(2,3,7,2);        while(1);    /* while(1)     {     //  LCD向上滾屏顯示        lcd_rol();     }    */ }

    標簽: 12864 LCD 漢字 數字

    上傳時間: 2013-11-08

    上傳用戶:aeiouetla

主站蜘蛛池模板: 马尔康县| 塔河县| 昌平区| 临桂县| 滁州市| 中牟县| 桐柏县| 冀州市| 广昌县| 麟游县| 循化| 台前县| 吴川市| 奉节县| 苗栗县| 白银市| 建德市| 贵州省| 务川| 余干县| 桂阳县| 晋江市| 德钦县| 连江县| 老河口市| 大悟县| 芜湖县| 寿阳县| 仲巴县| 平阳县| 当阳市| 建阳市| 鄂州市| 唐山市| 芒康县| 华安县| 乾安县| 巴中市| 石门县| 宜丰县| 邻水|