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

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

技術(shù)(shù)測(cè)量

  • RSM-4055 8通道隔離數(shù)字量輸入輸出模塊

    RSM-4055 是帶隔離的數(shù)字量輸入輸出模塊。模塊有8 路隔離數(shù)字量輸入,8 路隔離數(shù)字量輸出。數(shù)字量輸入可支持開關(guān)觸點信號或電平信號,數(shù)字量輸出采用開漏輸出,最大負載可達50V,50mA,同時模塊的DI 通道還具有計數(shù)功能,能對小于2kHz 的數(shù)字脈沖信號進行計數(shù),DI 輸入檢測和計數(shù)都具有數(shù)字濾波功能能有效濾掉干擾信號,數(shù)字輸入檢測和計數(shù)可同時使用。模塊適用于采集工業(yè)現(xiàn)場的數(shù)字量信號以及控制功率繼電器等。

    標簽: 4055 RSM 隔離 數(shù)字量

    上傳時間: 2013-11-10

    上傳用戶:zl520l

  • MSP430系列單片機C語言程序設計與開發(fā)

    MSP430系列單片機C語言程序設計與開發(fā)MSP430系列是一個具有明顯技術(shù)特色的單片機品種。關(guān)于它的硬件特性及匯編語言程序設計已在《MSP430系列超低功耗16位單片機的原理與應用》及《MSP430系列 FLASH型超低功耗16位單片機》等書中作了全面介紹?!禡SP430系列單片機C語言程序設計與開發(fā)》介紹IAR公司為MSP430系列單片機配備的C程序設計語言C430。書中敘述了C語言的基本概念、C430的擴展特性及C庫函數(shù);對C430的集成開發(fā)環(huán)境的使用及出錯信息作了詳盡的說明;并以MSP430F149為例,對各種應用問題及外圍模塊操作提供了典型的C程序例程,供讀者在今后的C430程序設計中參考。   《MSP430系列單片機C語言程序設計與開發(fā)》可以作為高等院校計算機、自動化及電子技術(shù)類專業(yè)的教學參考書,也可作為工程技術(shù)人員設計開發(fā)時的技術(shù)資料。MSP430系列超低功耗16位單片機的原理與應用目錄MSP430系列單片機C語言程序設計與開發(fā) 目錄  第1章 C語言基本知識1.1 標識符與關(guān)鍵字11.1.1 標識符11.1.2 關(guān)鍵字11.2 數(shù)據(jù)基本類型21.2.1 整型數(shù)據(jù)21.2.2 實型數(shù)據(jù)31.2.3 字符型數(shù)據(jù)41.2.4 各種數(shù)據(jù)轉(zhuǎn)換關(guān)系61.3 C語言的運算符71.3.1 算術(shù)運算符71.3.2 關(guān)系運算符和邏輯運算符71.3.3 賦值運算符81.3.4 逗號運算符81.3.5 ? 與 :運算符81.3.6 強制轉(zhuǎn)換運算符91.3.7 各種運算符優(yōu)先級列表91.4 程序設計的三種基本結(jié)構(gòu)101.4.1 語句的概念101.4.2 順序結(jié)構(gòu)111.4.3 選擇結(jié)構(gòu)121.4.4 循環(huán)結(jié)構(gòu)141.5 函數(shù)181.5.1 函數(shù)定義181.5.2 局部變量與全局變量191.5.3 形式參數(shù)與實際參數(shù)201.5.4 函數(shù)調(diào)用方式201.5.5 函數(shù)嵌套調(diào)用211.5.6 變量的存儲類別221.5.7 內(nèi)部函數(shù)和外部函數(shù)231.6 數(shù)組231.6.1 一維數(shù)組241.6.2 多維數(shù)組241.6.3 字符數(shù)組261.7 指針271.7.1 指針與地址的概念271.7.2 指針變量的定義281.7.3 指針變量的引用281.7.4 數(shù)組的指針281.7.5 函數(shù)的指針301.7.6 指針數(shù)組311.8 結(jié)構(gòu)和聯(lián)合321.8.1 結(jié)構(gòu)定義321.8.2 結(jié)構(gòu)類型變量的定義331.8.3 結(jié)構(gòu)類型變量的初始化341.8.4 結(jié)構(gòu)類型變量的引用341.8.5 聯(lián)合341.9 枚舉361.9.1 枚舉的定義361.9.2 枚舉元素的值371.9. 3 枚舉變量的使用371.10 類型定義381.10.1 類型定義的形式381.10.2 類型定義的使用381.11 位運算391.11.1 位運算符391.11.2 位域401.12 預處理功能411.12.1 簡單宏定義和帶參數(shù)宏定義411.12.2 文件包含431.12.3 條件編譯命令44第2章 C430--MSP430系列的C語言2.1 MSP430系列的C語言452.1.1 C430概述452.1.2 C430程序設計工作流程462.1.3 開始462.1.4 C430程序生成472.2 C430的數(shù)據(jù)表達482.2.1 數(shù)據(jù)類型482.2.2 編碼效率502.3 C430的配置512.3.1 引言512.3. 2 存儲器分配522.3.3 堆棧體積522.3.4 輸入輸出522.3.5 寄存器的訪問542.3.6 堆體積542.3.7 初始化54第3章 C430的開發(fā)調(diào)試環(huán)境3.1 引言563.1.1 Workbench特性563.1.2 Workbench的內(nèi)嵌編輯器特性563.1.3 C編譯器特性573.1. 4 匯編器特性573.1.5 連接器特性583.1.6 庫管理器特性583.1.7 C?SPY調(diào)試器特性593.2 Workbench概述593.2.1 項目管理模式593.2.2 選項設置603.2.3 建立項目603.2.4 測試代碼613.2.5 樣本應用程序613.3 Workbench的操作623.3.1 開始633.3.2 編譯項目683.3.3 連接項目693.3.4 調(diào)試項目713.3.5 使用Make命令733.4 Workbench的功能匯總753.4.1 Workbench的窗口753.4.2 Workbench的菜單功能813.5 Workbench的內(nèi)嵌編輯器993.5.1 內(nèi)嵌編輯器操作993.5.2 編輯鍵說明993.6 C?SPY概述1013.6.1 C?SPY的C語言級和匯編語言級調(diào)試1013.6.2 程序的執(zhí)行1023.7 C?SPY的操作1033.7.1 程序生成1033.7.2 編譯與連接1033.7.3 C?SPY運行1033.7.4 C語言級調(diào)試1043.7.5 匯編級調(diào)試1113.8 C?SPY的功能匯總1133.8.1 C?SPY的窗口1133.8.2 C?SPY的菜單命令功能1203.9 C?SPY的表達式與宏1323.9.1 匯編語言表達式1323.9.2 C語言表達式1333.9.3 C?SPY宏1353.9.4 C?SPY的設置宏1373.9.5 C?SPY的系統(tǒng)宏137 第4章 C430程序設計實例4.1 程序設計與調(diào)試環(huán)境1434.1.1 程序設計調(diào)試集成環(huán)境1434.1.2 設備連接1444.1.3 ProF149實驗系統(tǒng)1444.2 數(shù)值計算1454.2.1 C語言表達式1454.2.2 利用MPY實現(xiàn)運算1464.3 循環(huán)結(jié)構(gòu)1474.4 選擇結(jié)構(gòu)1484.5 SFR訪問1494.6 RAM訪問1504.7 FLASH訪問1514.8 WDT操作1534.8. 1 WDT使程序自動復位1534.8.2 程序?qū)ATCHDOG計數(shù)溢出的控制1544.8.3 WDT的定時器功能1554.9 Timer操作1554.9.1 用Timer產(chǎn)生時鐘信號1554.9.2 用Timer檢測脈沖寬度1564.10 UART操作1574.10.1 點對點通信1574.10.2 點對多點通信1604.11 SPI操作1634.12 比較器操作1654.13 ADC12操作1674.13.1 單通道單次轉(zhuǎn)換1674.13.2 序列通道多次轉(zhuǎn)換1684.14 時鐘模塊操作1704.15 中斷服務程序1714.16 省電工作模式1754.17 調(diào)用匯編語言子程序1764.17.1 程序舉例1764.17.2 生成C程序調(diào)用的匯編子程序177第5章 C430的擴展特性5.1 C430的語言擴展概述1785.1.1 擴展關(guān)鍵字1785.1.2 #pragma編譯命令1785.1.3 預定義符號1795.1.4 本征函數(shù)1795.1.5 其他擴展特性1795.2 C430的關(guān)鍵字擴展1795.2.1 interrupt1805.2.2 monitor1805.2.3 no_init1815.2.4 sfrb1815.2.5 sfrw1825.3 C430的 #pragma編譯命令1825.3.1 bitfields=default1825.3.2 bitfields=reversed1825.3.3 codeseg1835.3.4 function=default1835.3.5 function=interrupt1845.3.6 function=monitor1845.3.7 language=default1845.3.8 language=extended1845.3.9 memory=constseg1855.3.10 memory=dataseg1855.3.11 memory=default1855.3.12 memory=no_init1865.3.13 warnings=default1865.3.14 warnings=off1865.3.15 warnings=on1865.4 C430的預定義符號1865.4.1 DATE1875.4.2 FILE1875.4.3 IAR_SYSTEMS_ICC1875.4.4 LINE1875.4.5 STDC1875.4.6 TID1875.4.7 TIME1885.4.8 VER1885.5 C430的本征函數(shù)1885.5.1 _args$1885.5.2 _argt$1895.5.3 _BIC_SR1895.5.4 _BIS_SR1905.5.5 _DINT1905.5.6 _EINT1905.5.7 _NOP1905.5.8 _OPC1905.6 C430的匯編語言接口1915.6.1 創(chuàng)建匯編子程序框架1915.6.2 調(diào)用規(guī)則1915.6.3 C程序調(diào)用匯編子程序1935.7 C430的段定義1935.7.1 存儲器分布與段定義1945.7.2 CCSTR段1945.7.3 CDATA0段1945.7.4 CODE段1955.7.5 CONST1955.7.6 CSTACK1955.7.7 CSTR1955.7.8 ECSTR1955.7.9 IDATA01965.7.10 INTVEC1965.7.11 NO_INIT1965.7.12 UDATA0196第6章 C430的庫函數(shù)6.1 引言1976.1.1 庫模塊文件1976.1.2 頭文件1976.1.3 庫定義匯總1976.2C 庫函數(shù)參考2046.2.1 C庫函數(shù)的說明格式2046.2.2 C庫函數(shù)說明204第7章 C430編譯器的診斷消息7.1 編譯診斷消息的類型2307.2 編譯出錯消息2317.3 編譯警告消息243附錄 AMSP430系列FLASH型芯片資料248附錄 BProF149實驗系統(tǒng)251附錄 CMSP430x14x.H文件253附錄 DIAR MSP430 C語言產(chǎn)品介紹275

    標簽: MSP 430 C語言 單片機

    上傳時間: 2014-05-05

    上傳用戶:253189838

  • 單片機c語言輕松入門

    單片機c語言輕松入門:隨著單片機開發(fā)技術(shù)的不斷發(fā)展,目前已有越來越多的人從普遍使用匯編語言到逐漸使用高級語言開發(fā),其中主要是以C 語言為主,市場上幾種常見的單片機均有其C 語言開發(fā)環(huán)境。這里以最為流行的80C51 單片機為例來學習單片機的C 語言編程技術(shù)。本書共分六章,每章一個專題,以一些待完成的任務為中心,圍繞該任務介紹 C 語言的一些知識,每一個任務都是可以獨立完成的,每完成一個任務,都能掌握一定的知識,等到所有的任務都完成后,即可以完成C 語言的入門工作。

    標簽: 單片機c語言

    上傳時間: 2013-11-18

    上傳用戶:zhqzal1014

  • 單片機C語言應用程序設計

    單片機C語言應用程序設計針對目前最通用的單片機8051和最流行的程序設計語言——C語言,以KEII。公司8051單片機開發(fā)套件講解單片機的C語言應用程序設計。該套件的編譯器有支持經(jīng)典8051及8051派生產(chǎn)品的版本,統(tǒng)稱為Cx51。Windows集成開發(fā)環(huán)境μVision2把μVisionl用的模擬調(diào)試器dScope與集成環(huán)境無縫結(jié)合起來,使用更方便,支持的單片機品種更多?! ”緯奶攸c是取材于原文資料,總結(jié)實際教學和應用經(jīng)驗,實例較多,實用性強。本書中C語言是針對8051特有結(jié)構(gòu)描述的,這樣,即使無編程基礎(chǔ)的人,也可通過本書學習單片機的c編程。單片機C語言應用程序設計目錄第1章 單片機基礎(chǔ)知識 1.1 8051單片機的特點 1.2 8051的內(nèi)部知識 1.3 8051的系統(tǒng)擴展 習題一第2章 C與8051 2.1 8051的編程語言 2.2 Cx51編譯器 2.3 KEIL 8051開發(fā)工具 2.4 KEIL Cx51編程實例 2.5 Cx51程序結(jié)構(gòu) 習題二第3章 Cx51 數(shù)據(jù)與運算 3.1 數(shù)據(jù)與數(shù)據(jù)類型 3.2 常量與變量 3.3 Cx51數(shù)據(jù)存儲類型與8051存儲器結(jié)構(gòu) 3.4 8051特殊功能寄存器(SFR)及其Cx51定義  3.5 8051并行接口及其Cx51定義 3.6 位變量(BIT)及其Cx51定義 3.7 Cx51運算符、表達式及其規(guī)則 習題三第4章 Cx51 流程控制語句 4.1 C語言程序的基本結(jié)構(gòu)及其流程圖 4.2 選擇語句 4.3 循環(huán)語句 習題四第5章 Cx51 構(gòu)造數(shù)據(jù)類型 5.1 數(shù)組 5.2 指針 5.3 結(jié)構(gòu) 5.4 共用體 5.5 枚舉 習題五第6章 Cx51 函數(shù)第7章 模塊化程序設計第8章 8051內(nèi)部資源的C編輯第9章 8051擴展資源的C編輯第10章 8051輸出控制的C編程第11章 8051數(shù)據(jù)采集的C編程第12章 8051機間通信的C編程第13章 8051人機交互的C編程附錄A μVision2集成開發(fā)環(huán)境使用附錄B KEIL Cx51 上機制南

    標簽: 單片機 C語言 應用程序

    上傳時間: 2013-10-21

    上傳用戶:行者Xin

  • 單片機指令系統(tǒng)

    單片機指令系統(tǒng) 3.1 MCS-51指令簡介 3.2 指令系統(tǒng) 3.1  MCS-51指令簡介 二、MCS-51系列單片機指令系統(tǒng)分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址         1、數(shù)據(jù)傳送指令位操 2、直接尋址             2、算術(shù)運算指令 3、寄存器尋址           3、邏輯運算指令 4、寄存器間接尋址指令   4、控制轉(zhuǎn)移類指令 5、相對尋址             5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址    MOV A, @R1        操作數(shù)是通過寄存器間接得到的。 4、立即尋址               MOV  A, #40H        操作數(shù)在指令中直接給出。 5、基址寄存器加變址寄存器尋址        以DPTR或PC為基址寄存器,以A為變址寄存器,        以兩者相加形成的16位地址為操作數(shù)的地址。                   MOVC A, @A+DPTR                   MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區(qū)的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區(qū)可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內(nèi)部數(shù)據(jù)存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(shù)(立即數(shù)); #datal6——表示16位常數(shù); add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內(nèi)容 (( ))——表示間接尋址的內(nèi)容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數(shù)的指令 2.  以Rn為目的操作數(shù)的指令 3.  以直接地址為目的操作數(shù)的指令 4.  以寄存器間接地址為目的操作數(shù)指令 應用舉例1 8段數(shù)碼管顯示 應用舉例2 3.2  指令系統(tǒng) 2、堆棧操作指令  3.  累加器A與外部數(shù)據(jù)傳輸指令 4.  查表指令    MOVC  A,   @A+PC  例子: 5.  字節(jié)交換指令 6.  半字節(jié)交換指令 二、算術(shù)操作類指令 PSW寄存器 2.  帶進位加法指令 3.  加1指令 4.  十進制調(diào)整指令 5.  帶借位減法指令(Subtraction) 6.  減1指令(Decrease) 7.   乘法指令(Multiplication) 8.  除法指令(Division)        三、邏輯運算指令 1.  簡單邏輯操作指令 2.  循環(huán)指令 帶進位左循環(huán)指令(Rotate  Accumulator Left   through  Carry  flag)      右循環(huán)指令(Rotate  Accumulator  Right) 帶進位右循環(huán)指令(Rotate  A  Right  with  C) 3.   邏輯與指令 4.  邏輯或指令 5.  邏輯異或指令 四、控制轉(zhuǎn)移類指令 1.  跳轉(zhuǎn)指令 相對轉(zhuǎn)移指令   SJMP   rel           PC←(PC)+2                                                                                                                            PC←(PC)+rel 程序中標號與地址之間的關(guān)系 2.  條件轉(zhuǎn)移指令 3.  比較不相等轉(zhuǎn)移指令 4.  減 1 不為 0 轉(zhuǎn)移指令 5.  調(diào)用子程序指令 7.  中斷返回指令 五、位操作指令 1.  數(shù)據(jù)位傳送指令 2.  位變量邏輯指令 3.  條件轉(zhuǎn)移類指令

    標簽: 單片機 指令系統(tǒng)

    上傳時間: 2013-10-27

    上傳用戶:xuanjie

  • 微機燈光控制系統(tǒng)

    一、實驗目的1.掌握定時/計數(shù)器、輸入/輸出接口電路設計方法。    2.掌握中斷控制編程技術(shù)的方法和應用。3.掌握8086匯編語言程序設計方法。 二、實驗內(nèi)容與要求 微機燈光控制系統(tǒng)主要用于娛樂場所的彩燈控制。系統(tǒng)的彩燈共有12組,在實驗時用12個發(fā)光二極管模擬。1. 基本要求:燈光控制共有8種模式,如12個燈依次點亮;12個燈同時閃爍等八種。系統(tǒng)可以通過鍵盤和顯示屏的人機對話,將8種模式進行任意個數(shù)、任意次序的連接組合。系統(tǒng)不斷重復執(zhí)行輸入的模式組合,直至鍵盤有任意一個鍵按下,退出燈光控制系統(tǒng),返回DOS系統(tǒng)。2. 提高要求:音樂彩燈控制系統(tǒng),根據(jù)音樂的變化控制彩燈的變化,主要有以下幾種:第一種為音樂節(jié)奏控制彩燈,按音樂的節(jié)拍變換彩燈花樣。第二種音律的強弱(信號幅度大?。┛刂撇薀簟娨魰r,燈的亮度加大,且被點亮的數(shù)目增多。第三種按音調(diào)高低(信號頻率高低)控制彩燈。低音時,某一部分燈點亮;高音時,另一部分點亮。 三、實驗報告要求 1.設計目的和內(nèi)容 2.總體設計 3.硬件設計:原理圖(接線圖)及簡要說明 4.軟件設計框圖及程序清單5.設計結(jié)果和體會(包括遇到的問題及解決的方法) 四、設計原理我們以背景霓虹燈的一種顯示效果為例,介紹控制霓虹燈顯示的基本原理。設有一排 n 段水平排列的霓虹燈,某種顯示方式為從左到右每0.2 秒逐個點亮。其控制過程如下: 若以“ 1 ”代表霓虹燈點亮,以“ 0 ”代表霓虹燈熄滅,則開始時刻, n 段霓虹燈的控制信號均為“ 0 ”,隨后,控制器將一幀 n 個數(shù)據(jù)送至 n 段霓虹燈的控制端,其中,最左邊的一段霓虹燈對應的控制數(shù)據(jù)為“ 1 ”,其余的數(shù)據(jù)均為零,即 1000 … 000 。當 n 個數(shù)據(jù)送完以后,控制器停止送數(shù),保留這種狀態(tài)(定時) 0.2 秒,此時,第 1 段霓虹燈被點亮,其余霓虹燈熄滅。隨后,控制器又在極短的時間內(nèi)將數(shù)據(jù) 1100 … 000 送至霓虹燈的控制端,并定時 0.2 秒,這段時間,前兩段霓虹燈被點亮。由于送數(shù)據(jù)的過程很快,我們觀測到的效果是第一段霓虹燈被點亮 0.2 秒后,第 2 段霓虹燈接著被點亮,即每隔 0.2 秒顯示一幀圖樣。如此下去,最后控制器將數(shù)據(jù) 1111 … 111 送至 n 段霓虹燈的控制端,則 n 段霓虹燈被全部點亮。 只要改變送至每段霓虹燈的數(shù)據(jù),即可改變霓虹燈的顯示方式,顯然,我們可以通過合理地組合數(shù)據(jù)(編程)來得到霓虹燈的不同顯示方式。 五、總體方案論證分析系統(tǒng)設計思路如下:1) 采集8位開關(guān)輸入信號,若輸入數(shù)據(jù)為0時,將其修改為1。確定輸入的硬件接口電路。采樣輸入開關(guān)量,并存入NUM的軟件程序段。2) 以12個燈依次點亮為例(即燈光控制模式M1),考慮與其相應的燈光顯示代碼數(shù)據(jù)。確定顯示代碼數(shù)據(jù)輸出的接口電路。輸出一個同期顯示代碼的軟件程序段(暫不考慮時隙的延時要求)。3) 應用定時中斷服務和NUM數(shù)據(jù),實現(xiàn)t=N×50ms的方法。4) 實現(xiàn)某一種模式燈光顯示控制中12個時隙一個周期,共重復四次的控制方法。要求在初始化時采樣開關(guān)輸入數(shù)據(jù)NUM,并以此控制每一時隙的延時時間;在每一時隙結(jié)束時,檢查有無鍵按下,若是退出鍵按下,則結(jié)束燈光控制,返回DOS系統(tǒng),若是其他鍵就返回主菜單,重新輸入控制模式數(shù)據(jù)。5) 通過人機對話,輸入8種燈光顯示控制模式的任意個數(shù)、任意次序連接組合的控制模式數(shù)據(jù)串(以ENTER鍵結(jié)尾)。對輸入的數(shù)據(jù)進行檢查,若數(shù)據(jù)都在1 - 8之間,則存入INBUF;若有錯誤,則通過屏幕顯示輸入錯誤,準備重新輸入燈光顯示控制模式數(shù)據(jù)。6) 依次讀取INBUF中的控制模式數(shù)據(jù)進行不同模式的燈光顯示控制,在沒有任意鍵按下的情況下,系統(tǒng)從第一個控制模式數(shù)據(jù)開始,順序工作到最后一個控制模式數(shù)據(jù)后,又返回到第一個控制模式數(shù)據(jù),不斷重復循環(huán)進行燈光顯示控制。7) 本系統(tǒng)的軟件在總體上有兩部份,即主程序(MAIN)和實時中斷服務程序(INTT)。討論以功能明確、相互界面分割清晰的軟件程序模塊化設計方法。即確定有關(guān)功能模塊,并畫出以功能模塊表示的主程序(MAIN)流程框圖和定時中斷服務程序的流程框圖。    六、硬件電路設計   以微機實驗平臺和PC機資源為硬件設計的基礎(chǔ),不需要外加電路。主要利用了以下的資源:1.8255并行口電路8255并行口電路主要負責數(shù)據(jù)的輸入與輸出,可以輸出數(shù)據(jù)控制發(fā)光二極管的亮滅和讀取乒乓開關(guān)的數(shù)據(jù)。實驗時可以將8255的A口、B口和一組發(fā)光二極管相連,C口和乒乓開關(guān)相連。2.8253定時/計數(shù)器8253定時/計數(shù)器和8259中斷控制器一起實現(xiàn)時隙定時。本設計的定時就是采用的t=N×50ms的方法,50ms由8253定時/計數(shù)器的計數(shù)器0控制定時,N是在中斷服務程序中軟件計時。8253的OUT0接到IRQ2,產(chǎn)生中斷請求信號。8253定時/計數(shù)器定時結(jié)束會發(fā)出中斷信號,進入中斷服務程序。3.PC機資源本設計除了利用PC機作為控制器之外,還利用了PC機的鍵盤和顯示器。鍵盤主要是輸入控制模式數(shù)據(jù),顯示器就是顯示提示信息。   七、軟件設計   軟件主要分為主程序(MAIN)和中斷服務程序(INTT),主程序包含系統(tǒng)初始化、讀取乒乓開關(guān)、讀取控制模式數(shù)據(jù)以及按鍵處理等模塊。中斷服務程序主要是定時時間到后根據(jù)控制模式數(shù)據(jù)點亮相應的發(fā)光二極管。1.主程序主程序的程序流程圖如圖1所示。

    標簽: 微機 燈光控制

    上傳時間: 2014-04-05

    上傳用戶:q986086481

  • XA-S3的IIC接口的驅(qū)動器軟件程序(C語言)

    The XA-S3 is a member of Philips Semiconductors’ XA (eXtended Architecture) family of high performance 16-bit single-chip Microcontrollers. The XA-S3 combines many powerful peripherals on one chip. Therefore, it is suited for general multipurpose high performance embedded control functions.One of the on-chip peripherals is the I2C bus interface. This report describes worked-out driver software (written in C) to program / use the I2C interface of the XA-S3. The driver software, together with a demo program and interface software routines offer the user a quick start in writing a complete I2C - XAS3 system application.

    標簽: XA-S IIC C語言 接口

    上傳時間: 2013-11-10

    上傳用戶:liaofamous

  • 實驗指導書 (TPC-H實驗臺C語言版)

    《現(xiàn)代微機原理與接口技術(shù)》實驗指導書 TPC-H實驗臺C語言版 1.實驗臺結(jié)構(gòu)1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標有“總線”區(qū)引出數(shù)據(jù)總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應信號DACK1 及AEN信號,供學生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉(zhuǎn)換器定時器/計數(shù)器串行接口實驗使用。圖34) 邏輯電平開關(guān)電路如圖-4所示實驗臺右下方設有8個開關(guān)K7~K0,開關(guān)撥到“1”位置時開關(guān)斷開,輸出高電平。向下打到“0”位置時開關(guān)接通,輸出低電平。電路中串接了保護電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現(xiàn)象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設有8個發(fā)光二極管及相關(guān)驅(qū)動電路(輸入端L7~L0),當輸入信號為“1” 時發(fā)光,為“0”時滅6) 七段數(shù)碼管顯示電路如圖-6所示實驗臺上設有兩個共陰極七段數(shù)碼管及驅(qū)動電路,段碼為同相驅(qū)動器,位碼為反相驅(qū)動器。從段碼與位碼的驅(qū)動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數(shù)字或符號。

    標簽: TPC-H 實驗指導書 C語言 實驗臺

    上傳時間: 2013-11-22

    上傳用戶:sssnaxie

  • 串行編程器源程序(Keil C語言)

    串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現(xiàn)編程的讀,寫,擦等細節(jié)//AT89C2051的特殊處:給XTAL一個脈沖,地址計數(shù)加1;P1的引腳排列與AT89C51相反,需要用函數(shù)轉(zhuǎn)換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數(shù)據(jù){ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉(zhuǎn)換并設置P0口的數(shù)據(jù){ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環(huán)讀,直到讀出與寫入的數(shù)相同 {  nTimeOut++;  if(nTimeOut>1000)//超時了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數(shù)指針,讓主程序可以調(diào)用上面的函數(shù){ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    標簽: Keil 串行 C語言 編程器

    上傳時間: 2013-11-12

    上傳用戶:gut1234567

  • PIC的C語言編程知識

    用C 語言來開發(fā)單片機系統(tǒng)軟件最大的好處是編寫代碼效率高、軟件調(diào)試直觀、維護升級方便、代碼的重復利用率高、便于跨平臺的代碼移植等等,因此C 語言編程在單片機系統(tǒng)設計中已得到越來越廣泛的運用。針對PIC 單片機的軟件開發(fā),同樣可以用C 語言實現(xiàn)。但在單片機上用C 語言寫程序和在PC 機上寫程序絕對不能簡單等同?,F(xiàn)在的PC 機資源十分豐富,運算能力強大,因此程序員在寫PC 機的應用程序時幾乎不用關(guān)心編譯后的可執(zhí)行代碼在運行過程中需要占用多少系統(tǒng)資源,也基本不用擔心運行效率有多高。寫單片機的C 程序最關(guān)鍵的一點是單片機內(nèi)的資源非常有限,控制的實時性要求又很高,因此,如果沒有對單片機體系結(jié)構(gòu)和硬件資源作詳盡的了解,以筆者的愚見認為是無法寫出高質(zhì)量實用的C 語言程序。這就是為什么前面所有章節(jié)中的的示范代碼全部用基礎(chǔ)的匯編指令實現(xiàn)的原因,希望籍此能使讀者對PIC 單片機的指令體系和硬件資源有深入了解,在這基礎(chǔ)之上再來討論C 語言編程,就有水到渠成的感覺。本書圍繞中檔系列PIC 單片機來展開討論,Microchip 公司自己沒有針對中低檔系列PIC單片機的C 語言編譯器,但很多專業(yè)的第三方公司有眾多支持PIC 單片機的C 語言編譯器提供,常見的有Hitech、CCS、IAR、Bytecraft 等公司。其中筆者最常用的是Hitech 公司的PICC編譯器,它穩(wěn)定可靠,編譯生成的代碼效率高,在用PIC 單片機進行系統(tǒng)設計和開發(fā)的工程師群體中得到廣泛認可。其正式完全版軟件需要購置,但在其網(wǎng)站上有限時的試用版供用戶評估。另外,Hitech 公司針對廣大PIC 的業(yè)余愛好者和初學者還提供了完全免費的學習版PICC-Lite 編譯器套件,它的使用方式和完全版相同,只是支持的PIC 單片機型號限制在PIC16F84、PIC16F877 和PIC16F628 等幾款。這幾款Flash 型的單片機因其所具備的豐富的片上資源而最適用于單片機學習入門,因此筆者建議感興趣的讀者可從PICC-Lite 入手掌握PIC 單片機的C 語言編程。

    標簽: PIC C語言編程

    上傳時間: 2013-11-17

    上傳用戶:aa54

主站蜘蛛池模板: 稻城县| 正宁县| 牙克石市| 恩平市| 南丹县| 财经| 安仁县| 马尔康县| 仲巴县| 嘉黎县| 达孜县| 商都县| 衡南县| 泰兴市| 衡水市| 庐江县| 海盐县| 中牟县| 通辽市| 忻州市| 安宁市| 福州市| 临澧县| 贵定县| 荔浦县| 靖远县| 米泉市| 沁水县| 平泉县| 南郑县| 磐石市| 古交市| 那坡县| 太仓市| 新疆| 汤原县| 麦盖提县| 双辽市| 工布江达县| 宿迁市| 阿尔山市|