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

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

同軸<b>連接器</b>

  • 80C51特殊功能寄存器地址表

    /*--------- 8051內(nèi)核特殊功能寄存器 -------------*/ sfr ACC = 0xE0;             //累加器 sfr B = 0xF0;  //B 寄存器 sfr PSW    = 0xD0;           //程序狀態(tài)字寄存器 sbit CY    = PSW^7;       //進(jìn)位標(biāo)志位 sbit AC    = PSW^6;        //輔助進(jìn)位標(biāo)志位 sbit F0    = PSW^5;        //用戶標(biāo)志位0 sbit RS1   = PSW^4;        //工作寄存器組選擇控制位 sbit RS0   = PSW^3;        //工作寄存器組選擇控制位 sbit OV    = PSW^2;        //溢出標(biāo)志位 sbit F1    = PSW^1;        //用戶標(biāo)志位1 sbit P     = PSW^0;        //奇偶標(biāo)志位 sfr SP    = 0x81;            //堆棧指針寄存器 sfr DPL  = 0x82;            //數(shù)據(jù)指針0低字節(jié) sfr DPH  = 0x83;            //數(shù)據(jù)指針0高字節(jié) /*------------ 系統(tǒng)管理特殊功能寄存器 -------------*/ sfr PCON  = 0x87;           //電源控制寄存器 sfr AUXR = 0x8E;              //輔助寄存器 sfr AUXR1 = 0xA2;             //輔助寄存器1 sfr WAKE_CLKO = 0x8F;        //時鐘輸出和喚醒控制寄存器 sfr CLK_DIV  = 0x97;          //時鐘分頻控制寄存器 sfr BUS_SPEED = 0xA1;        //總線速度控制寄存器 /*----------- 中斷控制特殊功能寄存器 --------------*/ sfr IE     = 0xA8;           //中斷允許寄存器 sbit EA    = IE^7;  //總中斷允許位  sbit ELVD  = IE^6;           //低電壓檢測中斷控制位 8051

    標(biāo)簽: 80C51 特殊功能寄存器 地址

    上傳時間: 2013-10-30

    上傳用戶:yxgi5

  • PSHLY-B回路電阻測試儀

    PSHLY-B回路電阻測試儀介紹

    標(biāo)簽: PSHLY-B 回路 電阻測試儀

    上傳時間: 2013-11-05

    上傳用戶:木子葉1

  • EZ-USB FX系列單片機(jī)USB外圍設(shè)備設(shè)計與應(yīng)用

    EZ-USB FX系列單片機(jī)USB外圍設(shè)備設(shè)計與應(yīng)用:PART 1 USB的基本概念第1章 USB的基本特性1.1 USB簡介21.2 USB的發(fā)展歷程31.2.1 USB 1.131.2.2 USB 2.041.2.3 USB與IEEE 1394的比較41.3 USB基本架構(gòu)與總線架構(gòu)61.4 USB的總線結(jié)構(gòu)81.5 USB數(shù)據(jù)流的模式與管線的概念91.6 USB硬件規(guī)范101.6.1 USB的硬件特性111.6.2 USB接口的電氣特性121.6.3USB的電源管理141.7 USB的編碼方式141.8 結(jié)論161.9 問題與討論16第2章 USB通信協(xié)議2.1 USB通信協(xié)議172.2 USB封包中的數(shù)據(jù)域類型182.2.1 數(shù)據(jù)域位的格式182.3 封包格式192.4 USB傳輸?shù)念愋?32.4.1 控制傳輸242.4.2 中斷傳輸292.4.3 批量傳輸292.4.4 等時傳輸292.5 USB數(shù)據(jù)交換格式302.6 USB描述符342.7 USB設(shè)備請求422.8 USB設(shè)備群組442.9 結(jié)論462.10 問題與討論46第3章 設(shè)備列舉3.1注冊表編輯器473.2設(shè)備列舉的步驟493.3設(shè)備列舉步驟的實(shí)現(xiàn)--使用CATC分析工具513.4結(jié)論613.5問題與討論61第4章 USB芯片與EZUSB4.1USB芯片的簡介624.2USB接口芯片644.2.1Philips接口芯片644.2.2National Semiconductor接口芯片664.3內(nèi)含USB單元的微處理器684.3.1Motorola694.3.2Microchip694.3.3SIEMENS704.3.4Cypress714.4USB芯片總攬介紹734.5USB芯片的選擇與評估744.6問題與討論80第5章 設(shè)備與驅(qū)動程序5.1階層式的驅(qū)動程序815.2主機(jī)的驅(qū)動程序835.3驅(qū)動程序的選擇865.4結(jié)論865.5問題與討論87第6章 HID群組6.1HID簡介886.2HID群組的傳輸速率886.3HID描述符906.3.1報告描述符936.3.2主要 main 項(xiàng)目類型966.3.3整體 global 項(xiàng)目卷標(biāo)976.3.4區(qū)域 local 項(xiàng)目卷標(biāo)986.3.5簡易的報告描述符996.3.6Descriptor Tool 描述符工具 1006.3.7兼容測試程序1016.4HID設(shè)備的基本請求1026.5Windows通信程序1036.6問題與討論106PART 2 硬件技術(shù)篇第7章 EZUSB FX簡介7.1簡介1097.2EZUSB FX硬件框圖1097.3封包與PID碼1117.4主機(jī)是個主控者1137.4.1從主機(jī)接收數(shù)據(jù)1137.4.2傳送數(shù)據(jù)至主機(jī)1137.5USB方向1137.6幀1147.7EZUSB FX傳輸類型1147.7.1批量傳輸1147.7.2中斷傳輸1147.7.3等時傳輸1157.7.4控制傳輸1157.8設(shè)備列舉1167.9USB核心1167.10EZUSB FX單片機(jī)1177.11重新設(shè)備列舉1177.12EZUSB FX端點(diǎn)1187.12.1EZUSB FX批量端點(diǎn)1187.12.2EZUSB FX控制端點(diǎn)01187.12.3EZUSB FX中斷端點(diǎn)1197.12.4EZUSB FX等時端點(diǎn)1197.13快速傳送模式1197.14中斷1207.15重置與電源管理1207.16EZUSB 2100系列1207.17FX系列--從FIFO1227.18FX系列--GPIF 通用型可程序化的接口 1227.19AN2122/26各種特性的摘要1227.20修訂ID1237.21引腳描述123第8章 EZUSB FX CPU8.1簡介1308.28051增強(qiáng)模式1308.3EZUSB FX所增強(qiáng)的部分1318.4EZUSB FX寄存器接口1318.5EZUSB FX內(nèi)部RAM1318.6I/O端口1328.7中斷1328.8電源控制1338.9特殊功能寄存器 SFR 1348.10內(nèi)部總線1358.11重置136第9章 EZUSB FX內(nèi)存9.1簡介1379.28051內(nèi)存1389.3擴(kuò)充的EZUSB FX內(nèi)存1399.4CS#與OE#信號1409.5EZUSB FX ROM版本141第10章 EZUSB FX輸入/輸出端口10.1簡介14310.2I/O端口14310.3EZUSB輸入/輸出端口寄存器14610.3.1端口配置寄存器14710.3.2I/O端口寄存器14710.4EZUSB FX輸入/輸出端口寄存器14910.5EZUSB FX端口配置表15110.6I2C控制器15610.78051 I2C控制器15610.8控制位15810.8.1START位15810.8.2STOP位15810.8.3LASTRD位15810.9狀態(tài)位15910.9.1DONE位15910.9.2ACK位15910.9.3BERR位15910.9.4ID1, ID015910.10送出 WRITE I2C數(shù)據(jù)16010.11接收 READ I2C數(shù)據(jù)16010.12I2C激活加載器16010.13SFR尋址 FX 16210.14端口A~E的SFR控制165第11章 EZUSB FX設(shè)備列舉與重新設(shè)備列舉11.1簡介16711.2預(yù)設(shè)的USB設(shè)備16911.3USB核心對于EP0設(shè)備請求的響應(yīng)17011.4固件下載17111.5設(shè)備列舉模式17211.6沒有存在EEPROM17311.7存在著EEPROM, 第一個字節(jié)是0xB0 0xB4, FX系列11.8存在著EEPROM, 第一個字節(jié)是0xB2 0xB6, FX系列11.9配置字節(jié)0,FX系列17711.10重新設(shè)備列舉 ReNumerationTM 17811.11多重重新設(shè)備列舉 ReNumerationTM 17911.12預(yù)設(shè)描述符179第12章 EZUSB FX批量傳輸12.1簡介18812.2批量輸入傳輸18912.3中斷傳輸19112.4EZUSB FX批量IN的例子19112.5批量OUT傳輸19212.6端點(diǎn)對19412.7IN端點(diǎn)對的狀態(tài)19412.8OUT端點(diǎn)對的狀態(tài)19512.9使用批量緩沖區(qū)內(nèi)存19512.10Data Toggle控制19612.11輪詢的批量傳輸?shù)姆独?9712.12設(shè)備列舉說明19912.13批量端點(diǎn)中斷19912.14中斷批量傳輸?shù)姆独?0112.15設(shè)備列舉說明20512.16自動指針器205第13章 EZUSB控制端點(diǎn)013.1簡介20913.2控制端點(diǎn)EP021013.3USB請求21213.3.1取得狀態(tài) Get_Status 21413.3.2設(shè)置特性(Set_Feature)21713.3.3清除特性(Clear_Feature)21813.3.4取得描述符(Get_Descriptor)21913.3.5設(shè)置描述符(Set Descriptor)22313.3.6設(shè)置配置(Set_Configuration)22513.3.7取得配置(Get_Configuration)22513.3.8設(shè)置接口(Set_Interface)22513.3.9取得接口(Get_Interface)22613.3.10設(shè)置地址(Set_Address)22713.3.11同步幀22713.3.12固件加載228第14章 EZUSB FX等時傳輸14.1簡介22914.2等時IN傳輸23014.2.1初始化設(shè)置23014.2.2IN數(shù)據(jù)傳輸23014.3等時OUT傳輸23114.3.1初始化設(shè)置23114.3.2數(shù)據(jù)傳輸23214.4設(shè)置等時FIFO的大小23214.5等時傳輸速度23414.5.1EZUSB 2100系列23414.5.2EZUSB FX系列23514.6快速傳輸 僅存于2100系列 23614.6.1快速寫入23614.6.2快速讀取23714.7快速傳輸?shù)臅r序 僅存于2100系列 23714.7.1快速寫入波形23814.7.2快速讀取波形23914.8快速傳輸速度(僅存于2100系列)23914.9其余的等時寄存器24014.9.1除能等時寄存器24014.9.20字節(jié)計數(shù)位24114.10以無數(shù)據(jù)來響應(yīng)等時IN令牌24214.11使用等時FIFO242第15章 EZUSB FX中斷15.1簡介24315.2USB核心中斷24415.3喚醒中斷24415.4USB中斷信號源24515.5SUTOK與SUDAV中斷24815.6SOF中斷24915.7中止 suspend 中斷24915.8USB重置中斷24915.9批量端點(diǎn)中斷25015.10USB自動向量25015.11USB自動向量譯碼25115.12I2C中斷25215.13IN批量NAK中斷 僅存于AN2122/26與FX系列 25315.14I2C STOP反相中斷 僅存于AN2122/26與FX系列 25415.15從FIFO中斷 INT4 255第16章 EZUSB FX重置16.1簡介25716.2EZUSB FX打開電源重置 POR 25716.38051重置的釋放25916.3.1RAM的下載26016.3.2下載EEPROM26016.3.3外部ROM26016.48051重置所產(chǎn)生的影響26016.5USB總線重置26116.6EZUSB脫離26216.7各種重置狀態(tài)的總結(jié)263第17章 EZUSB FX電源管理17.1簡介26517.2中止 suspend 26617.3回復(fù) resume 26717.4遠(yuǎn)程喚醒 remote wakeup 269第18章 EZUSB FX系統(tǒng)18.1簡介27118.2DMA寄存器描述27218.2.1來源. 目的. 傳輸長度地址寄存器27218.2.2DMA起始與狀態(tài)寄存器27518.2.3DMA同步突發(fā)使能寄存器27518.2.4虛擬寄存器27818.3RD/FRD與WR/FWR DMA閃控的選擇27818.4DMA閃控波形與延伸位的交互影響27918.4.1DMA外部寫入27918.4.2DMA外部讀取280第19章 EZUSB FX寄存器19.1簡介28219.2批量數(shù)據(jù)緩沖區(qū)寄存器28319.3等時數(shù)據(jù)FIFO寄存器28419.4等時字節(jié)計數(shù)寄存器28519.5CPU寄存器28719.6I/O端口配置寄存器28819.7I/O端口A~C輸入/輸出寄存器28919.8230 Kbaud UART操作--AN2122/26寄存器29119.9等時控制/狀態(tài)寄存器29119.10I2C寄存器29219.11中斷29419.12端點(diǎn)0控制與狀態(tài)寄存器29919.13端點(diǎn)1~7的控制與狀態(tài)寄存器30019.14整體USB寄存器30519.15快速傳輸30919.16SETUP數(shù)據(jù)31119.17等時FIFO的容量大小31119.18通用I/F中斷使能31219.19通用中斷請求31219.20輸入/輸出端口寄存器D與E31319.20.1端口D輸出31319.20.2輸入端口D腳位31319.20.3端口D輸出使能31319.20.4端口E輸出31319.20.5輸入端口E腳位31419.20.6端口E輸出使能31419.21端口設(shè)置31419.22接口配置31419.23端口A與端口C切換配置31619.23.1端口A切換配置#231619.23.2端口C切換配置#231719.24DMA寄存器31919.24.1來源. 目的. 傳輸長度地址寄存器31919.24.2DMA起始與狀態(tài)寄存器32019.24.3DMA同步突發(fā)使能寄存器32019.24.4選擇8051 A/D總線作為外部FIFO321PART 3 固件技術(shù)篇第20章 EZUSB FX固件架構(gòu)與函數(shù)庫20.1固件架構(gòu)總覽32320.2固件架構(gòu)的建立32520.3固件架構(gòu)的副函數(shù)鉤子32520.3.1工作分配器32620.3.2設(shè)備請求 device request 32620.3.3USB中斷服務(wù)例程32920.4固件架構(gòu)整體變量33220.5描述符表33320.5.1設(shè)備描述符33320.5.2配置描述符33420.5.3接口描述符33420.5.4端點(diǎn)描述符33520.5.5字符串描述符33520.5.6群組描述符33520.6EZUSB FX固件的函數(shù)庫33620.6.1包含文件 *.H 33620.6.2子程序33620.6.3整體變量33820.7固件架構(gòu)的原始程序代碼338第21章 EZUSB FX固件范例程序21.1范例程序的簡介34621.2外圍I/O測試程序34721.3端點(diǎn)對, EP_PAIR范例35221.4批量測試, BulkTest范例36221.5等時傳輸, ISOstrm范例36821.6問題與討論373PART 4 實(shí)驗(yàn)篇第22章 EZUSB FX仿真器22?1簡介37522?2所需的工具37622?3EZUSB FX框圖37722.4EZUSB最終版本的系統(tǒng)框圖37822?5第一次下載程序37822.6EZUSB FX開發(fā)系統(tǒng)框圖37922.7設(shè)置開發(fā)環(huán)境38022.8EZUSB FX開發(fā)工具組的內(nèi)容38122.9EZUSB FX開發(fā)工具組軟件38222.9.1初步安裝程序38222.9.2確認(rèn)主機(jī) 個人計算機(jī) 是否支持USB38222.10安裝EZUSB控制平臺. 驅(qū)動程序以及文件38322.11EZUSB FX開發(fā)電路板38522.11.1簡介38522.11.2開發(fā)電路板的瀏覽38522.11.3所使用的8051資源38622.11.4詳細(xì)電路38622.11.5LED的顯示38722.11.6Jumper38722.11.7連接器39122.11.8內(nèi)存映象圖39222.11.9PLD信號39422.11.10PLD源文件文件39522.11.11雛形板的擴(kuò)充連接器P1~P639722.11.12Philips PCF8574 I/O擴(kuò)充IC40022.12DMA USB FX I/O LAB開發(fā)工具介紹40122.12.1USBFX簡介40122.12.2USBFX及外圍整體環(huán)境介紹40322?12?3USBFX與PC連接軟件介紹40422.12.4USBFX硬件功能介紹404第23章 LED顯示器輸出實(shí)驗(yàn)23.1硬件設(shè)計與基本概念40923.2固件設(shè)計41023.3.1固件架構(gòu)文件FW.C41123.3.2描述符文件DESCR.A5141223.3.3外圍接口文件PERIPH.C41723.4固件程序代碼的編譯與鏈接42123.5Windows程序, VB設(shè)計42323.6INF文件的編寫設(shè)計42423.7結(jié)論42623.8問題與討論427第24章 七段顯示器與鍵盤的輸入/輸出實(shí)驗(yàn)24.1硬件設(shè)計與基本概念42824.2固件設(shè)計43124.2.1七段顯示器43124.2.24×4鍵盤掃描43324.3固件程序代碼的編譯與鏈接43424.4Windows程序, VB設(shè)計43624.5問題與討論437第25章 LCD文字型液晶顯示器輸出實(shí)驗(yàn)25.1硬件設(shè)計與基本概念43825.1.1液晶顯示器LCD43825.2固件設(shè)計45225.3固件程序代碼的編譯與鏈接45625.4Windows程序, VB設(shè)計45725.5問題與討論458第26章 LED點(diǎn)陣輸出實(shí)驗(yàn)26.1硬件設(shè)計與基本概念45926.2固件設(shè)計46326.3固件程序代碼的編譯與鏈接46326.4Windows程序, VB設(shè)計46526.5問題與討論465第27章 步進(jìn)電機(jī)輸出實(shí)驗(yàn)27.1硬件設(shè)計與基本概念46627.1.11相激磁46727.1.22相激磁46727.1.31-2相激磁46827?1?4PMM8713介紹46927.2固件設(shè)計47327.3固件程序代碼的編譯與鏈接47427.4Windows程序, VB設(shè)計47627.5問題與討論477第28章 I2C接口輸入/輸出實(shí)驗(yàn)28.1硬件設(shè)計與基本概念47828.2固件設(shè)計48128.3固件程序代碼的編譯與鏈接48328.4Windows程序, VB設(shè)計48428.5問題與討論485第29章 A/D轉(zhuǎn)換器與D/A轉(zhuǎn)換器的輸入/輸出實(shí)驗(yàn)29.1硬件設(shè)計與基本概念48629.1.1A/D轉(zhuǎn)換器48629.1.2D/A轉(zhuǎn)換器49029.2固件設(shè)計49329.2.1A/D轉(zhuǎn)換器的固件設(shè)計49329.2.2D/A轉(zhuǎn)換器的固件設(shè)計49629.3固件程序代碼的編譯與鏈接49729.4Windows程序, VB設(shè)計49829.5問題與討論499第30章 LCG繪圖型液晶顯示器輸出實(shí)驗(yàn)30.1硬件設(shè)計與基本概念50030.1.1繪圖型LCD50030.1.2繪圖型LCD控制指令集50330.1.3繪圖型LCD讀取與寫入時序圖50530.2固件設(shè)計50630.2.1LCG驅(qū)動程序50630.2.2USB固件碼51330.3固件程序代碼的編譯與鏈接51630.4Windows程序, VB設(shè)計51730.5問題與討論518附錄A Cypress控制平臺的操作A.1EZUSB控制平臺總覽519A.2主畫面520A.3熱插拔新的USB設(shè)備521A.4各種工具欄的使用524A.5故障排除526A.6控制平臺的進(jìn)階操作527A.7測試Unary Op工具欄上的按鈕功能528A.8測試制造商請求的工具欄 2100 系列的開發(fā)電路板 529A.9測試等時傳輸工具欄532A.10測試批量傳輸工具欄533A.11測試重置管線工具欄535A.12測試設(shè)置接口工具欄537A.13測試制造商請求工具欄 FX系列開發(fā)電路板A.14執(zhí)行Get Device Descriptor 操作來驗(yàn)證開發(fā)板的功能是否正確539A.15從EZUSB控制平臺中, 加載dev_io的范例并且加以執(zhí)行540A.16從Keil偵錯應(yīng)用程序中, 加載dev_io范例程序代碼, 然后再加以執(zhí)行542A.17將dev_io 目標(biāo)文件移開, 且使用Keil IDE 集成開發(fā)環(huán)境 來重建545A.18在偵錯器下執(zhí)行dev_io目標(biāo)文件, 并且使用具有偵錯能力的IDE547A.19在EZUSB控制平臺下, 執(zhí)行ep_pair目標(biāo)文件A.20如何修改fw范例, 并在開發(fā)電路板上產(chǎn)生等時傳輸550附錄BEZUSB 2100系列及EZUSB FX系列引腳表B.1EZUSB 2100系列引腳表555B?2EZUSB FX系列引腳圖表561附錄C EZUSB FX寄存器總覽附錄D EEPROM燒錄方式

    標(biāo)簽: EZ-USB USB 單片機(jī) 外圍設(shè)備

    上傳時間: 2013-11-21

    上傳用戶:努力努力再努力

  • PIC單片機(jī)設(shè)計電子密碼鎖

    介紹用PIC16F84單片機(jī)制作的電子密碼鎖。PIC16F84單片機(jī)共18個引腳,13個可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。 用PIC單片機(jī)設(shè)計的電子密碼鎖微芯公司生產(chǎn)的PIC8位COMS單片機(jī),采用類RISC指令集和哈弗總線結(jié)構(gòu),以及先進(jìn)的流水線時序,與傳統(tǒng)51單片機(jī)相比其在速度和性能方面更具優(yōu)越性和先進(jìn)性。PIC單片機(jī)的另一個優(yōu)點(diǎn)是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設(shè)計更加簡單,節(jié)約設(shè)計成本,提高整機(jī)性能。因此PIC單片機(jī)已成為產(chǎn)品開發(fā),尤其是產(chǎn)品設(shè)計和研制階段的首選控制器。本文介紹用PIC16F84單片機(jī)制作的電子密碼鎖。PIC16F84單片機(jī)共18個引腳,13個可用I/O接口。芯片內(nèi)有1K×14的FLASHROM程序存儲器,36×8的靜態(tài)RAM的通用寄存器,64×8的EEPROM的數(shù)據(jù)存儲器,8級深度的硬堆棧。硬件設(shè)計  電路原理見圖1。Xx8位數(shù)據(jù)線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進(jìn)制數(shù)據(jù),經(jīng)74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚(yáng)聲器。RB2接中功率三極管基極,驅(qū)動繼電器動作。有效密碼長度為4位,根據(jù)實(shí)際情況,可通過修改源程序增加密碼位數(shù)。產(chǎn)品初始密碼為3345,這是一隨機(jī)數(shù),無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結(jié)束。輸入密碼并按#號確認(rèn)之后,腳輸出RB2腳輸出高電平,繼電器閉合,執(zhí)行一次開鎖動作。  若用戶輸入的密碼正確,揚(yáng)聲器發(fā)出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發(fā)出短促的“滴”聲。連續(xù)3次輸入密碼錯誤之后,程序鎖死,揚(yáng)聲器報警。直到CPU被復(fù)位或從新上電。軟件設(shè)計  軟件流程圖見圖3。CPU上電或復(fù)位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內(nèi)沒有接受到用戶的任何輸入,CPU自動轉(zhuǎn)入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內(nèi)部4個連續(xù)的EEPROM單元,掉電后該數(shù)據(jù)任有效。每執(zhí)行一次開鎖指令,CPU將當(dāng)前輸入密碼與該值比較,看是否真確,并給出相應(yīng)的提示和控制。布     局  所有元件均使用SMD表貼封裝,縮小體積,便于產(chǎn)品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產(chǎn)品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。

    標(biāo)簽: PIC 單片機(jī)設(shè)計 電子密碼鎖

    上傳時間: 2013-10-31

    上傳用戶:uuuuuuu

  • 單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法

    單片機(jī)音樂中音調(diào)和節(jié)拍的確定方法:調(diào)號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經(jīng)過聲學(xué)家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標(biāo)準(zhǔn)的音高為每秒鐘振動440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):1=BB。466,C 262   #C277   D 294   #D(bE)311  E 330   F 349   #F369   G 392  #G415A 440.    #A466    B 494 所謂1=A,就是說,這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說,這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來的高低是不一樣的。各調(diào)的對應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂時音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對單片機(jī)演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機(jī)演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機(jī)演奏音樂基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂只需弄清楚兩個概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個音符唱多高的頻率,節(jié)拍表示一個音符唱多長的時間。 在音樂中所謂“音調(diào)”,其實(shí)就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學(xué)中稱它相差一個八度音。在一個八度音內(nèi),有12個半音。以1—i八音區(qū)為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數(shù)關(guān)系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說來,常采用的方法就是通過單片機(jī)的定時器定時中斷,將單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實(shí)現(xiàn)。那么怎樣確定一個頻率所對應(yīng)的定時器的定時值呢?以標(biāo)準(zhǔn)音高A為例:   A的頻率f = 440 Hz,其對應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對應(yīng)蜂鳴器的I/O口來回取反的時間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機(jī)上定時器應(yīng)有的中斷觸發(fā)時間。一般情況下,單片機(jī)奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時器的予置初值由下式來確定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數(shù)初值。因此定時器的高低計數(shù)器的初值為:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  將t=1136μs代入上面兩式(注意:計算時應(yīng)將時間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值為 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來說明。在一張樂譜中,我們經(jīng)常會看到這樣的表達(dá)式,如1=C  、1=G …… 等等,這里1=C,1=G表示樂譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來表示節(jié)拍的。以 為例加以說明,它表示樂譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:      其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當(dāng)以四分音符為節(jié)拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機(jī)上控制一個音符唱多長可采用循環(huán)延時的方法來實(shí)現(xiàn)。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調(diào)用一次延時程序,如果它為八分音符,則只需調(diào)用二次延時程序,如果它為四分音符,則只需調(diào)用四次延時程序,依次類推。通過上面關(guān)于一個音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂了。具體的實(shí)現(xiàn)方法為:將樂譜中的每個音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲器中,通過程序取出一個音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個音符,根據(jù)需要也可循環(huán)不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂曲結(jié)束用節(jié)拍參數(shù)為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數(shù)器的予置初值 : C調(diào)音符  頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調(diào)音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調(diào)音符  頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02

    標(biāo)簽: 單片機(jī) 音調(diào)

    上傳時間: 2013-10-20

    上傳用戶:哈哈haha

  • 驅(qū)動程序與應(yīng)用程序的接口

    有兩種方式可以讓設(shè)備和應(yīng)用程序之間聯(lián)系:1. 通過為設(shè)備創(chuàng)建的一個符號鏈;2. 通過輸出到一個接口WDM驅(qū)動程序建議使用輸出到一個接口而不推薦使用創(chuàng)建符號鏈的方法。這個接口保證PDO的安全,也保證安全地創(chuàng)建一個惟一的、獨(dú)立于語言的訪問設(shè)備的方法。一個應(yīng)用程序使用Win32APIs來調(diào)用設(shè)備。在某個Win32 APIs和設(shè)備對象的分發(fā)函數(shù)之間存在一個映射關(guān)系。獲得對設(shè)備對象訪問的第一步就是打開一個設(shè)備對象的句柄。 用符號鏈打開一個設(shè)備的句柄為了打開一個設(shè)備,應(yīng)用程序需要使用CreateFile。如果該設(shè)備有一個符號鏈出口,應(yīng)用程序可以用下面這個例子的形式打開句柄:hDevice = CreateFile("\\\\.\\OMNIPORT3",  GENERIC_READ | GENERIC_WRITE,FILE_SHARE_READ,  NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL ,NULL);文件路徑名的前綴“\\.\”告訴系統(tǒng)本調(diào)用希望打開一個設(shè)備。這個設(shè)備必須有一個符號鏈,以便應(yīng)用程序能夠打開它。有關(guān)細(xì)節(jié)查看有關(guān)Kdevice和CreateLink的內(nèi)容。在上述調(diào)用中第一個參數(shù)中前綴后的部分就是這個符號鏈的名字。注意:CreatFile中的第一個參數(shù)不是Windows 98/2000中驅(qū)動程序(.sys文件)的路徑。是到設(shè)備對象的符號鏈。如果使用DriverWizard產(chǎn)生驅(qū)動程序,它通常使用類KunitizedName來構(gòu)成設(shè)備的符號鏈。這意味著符號鏈名有一個附加的數(shù)字,通常是0。例如:如果鏈接名稱的主干是L“TestDevice”那么在CreateFile中的串就該是“\\\\.\\TestDevice0”。如果應(yīng)用程序需要被覆蓋的I/O,第六個參數(shù)(Flags)必須或上FILE_FLAG_OVERLAPPED。 使用一個輸出接口打開句柄用這種方式打開一個句柄會稍微麻煩一些。DriverWorks庫提供兩個助手類來使獲得對該接口的訪問容易一些,這兩個類是CDeviceInterface, 和 CdeviceInterfaceClass。CdeviceInterfaceClass類封裝了一個設(shè)備信息集,該信息集包含了特殊類中的所有設(shè)備接口信息。應(yīng)用程序能有用CdeviceInterfaceClass類的一個實(shí)例來獲得一個或更多的CdeviceInterface類的實(shí)例。CdeviceInterface類是一個單一設(shè)備接口的抽象。它的成員函數(shù)DevicePath()返回一個路徑名的指針,該指針可以在CreateFile中使用來打開設(shè)備。下面用一個小例子來顯示這些類最基本的使用方法:extern GUID TestGuid;HANDLE OpenByInterface(  GUID* pClassGuid,  DWORD instance,  PDWORD pError){  CDeviceInterfaceClass DevClass(pClassGuid, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  CDeviceInterface DevInterface(&DevClass, instance, pError);  if (*pError != ERROR_SUCCESS)    return INVALID_HANDLE_VALUE;  cout << "The device path is "    << DevInterface.DevicePath()    << endl;   HANDLE hDev;  hDev = CreateFile(   DevInterface.DevicePath(),    GENERIC_READ | GENERIC_WRITE,    FILE_SHARE_READ | FILE_SHARE_WRITE,    NULL,    OPEN_EXISTING,    FILE_ATTRIBUTE_NORMAL,    NULL  );  if (hDev == INVALID_HANDLE_VALUE)    *pError = GetLastError();  return hDev;} 在設(shè)備中執(zhí)行I/O操作一旦應(yīng)用程序獲得一個有效的設(shè)備句柄,它就能使用Win32 APIs來產(chǎn)生到設(shè)備對象的IRPs。下面的表顯示了這種對應(yīng)關(guān)系。Win32 API  DRIVER_FUNCTION_xxxIRP_MJ_xxx  KDevice subclass member function CreateFile  CREATE  Create ReadFile  READ  Read WriteFile  WRITE  Write DeviceIoControl  DEVICE_CONTROL  DeviceControl CloseHandle  CLOSECLEANUP  CloseCleanUp 需要解釋一下設(shè)備類成員的Close和CleanUp:CreateFile使內(nèi)核為設(shè)備創(chuàng)建一個新的文件對象。這使得多個句柄可以映射同一個文件對象。當(dāng)這個文件對象的最后一個用戶級句柄被撤銷后,I/O管理器調(diào)用CleanUp。當(dāng)沒有任何用戶級和核心級的對文件對象的訪問的時候,I/O管理器調(diào)用Close。如果被打開的設(shè)備不支持指定的功能,則調(diào)用相應(yīng)的Win32將引起錯誤(無效功能)。以前為Windows95編寫的VxD的應(yīng)用程序代碼中可能會在打開設(shè)備的時候使用FILE_FLAG_DELETE_ON_CLOSE屬性。在Windows NT/2000中,建議不要使用這個屬性,因?yàn)樗鼘?dǎo)致沒有特權(quán)的用戶企圖打開這個設(shè)備,這是不可能成功的。I/O管理器將ReadFile和WriteFile的buff參數(shù)轉(zhuǎn)換成IRP域的方法依賴于設(shè)備對象的屬性。當(dāng)設(shè)備設(shè)置DO_DIRECT_IO標(biāo)志,I/O管理器將buff鎖住在存儲器中,并且創(chuàng)建了一個存儲在IRP中的MDL域。一個設(shè)備可以通過調(diào)用Kirp::Mdl來存取MDL。當(dāng)設(shè)備設(shè)置DO_BUFFERED_IO標(biāo)志,設(shè)備對象分別通過KIrp::BufferedReadDest或 KIrp::BufferedWriteSource為讀或?qū)懖僮鳙@得buff地址。當(dāng)設(shè)備不設(shè)置DO_BUFFERED_IO標(biāo)志也不設(shè)置DO_DIRECT_IO,內(nèi)核設(shè)置IRP 的UserBuffer域來對應(yīng)ReadFile或WriteFile中的buff參數(shù)。然而,存儲區(qū)并沒有被鎖住而且地址只對調(diào)用進(jìn)程有效。驅(qū)動程序可以使用KIrp::UserBuffer來存取IRP域。對于DeviceIoControl調(diào)用,buffer參數(shù)的轉(zhuǎn)換依賴于特殊的I/O控制代碼,它不在設(shè)備對象的特性中。宏CTL_CODE(在winioctl.h中定義)用來構(gòu)造控制代碼。這個宏的其中一個參數(shù)指明緩沖方法是METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT, 或METHOD_NEITHER。下面的表顯示了這些方法和與之對應(yīng)的能獲得輸入緩沖與輸出緩沖的KIrp中的成員函數(shù):Method  Input Buffer Parameter  Output Buffer Parameter METHOD_BUFFERED  KIrp::IoctlBuffer KIrp::IoctlBuffer METHOD_IN_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_OUT_DIRECT  KIrp::IoctlBuffer KIrp::Mdl METHOD_NEITHER  KIrp::IoctlType3InputBuffer KIrp::UserBuffer 如果控制代碼指明METHOD_BUFFERED,系統(tǒng)分配一個單一的緩沖來作為輸入與輸出。驅(qū)動程序必須在向輸出緩沖放數(shù)據(jù)之前拷貝輸入數(shù)據(jù)。驅(qū)動程序通過調(diào)用KIrp::IoctlBuffer獲得緩沖地址。在完成時,I/O管理器從系統(tǒng)緩沖拷貝數(shù)據(jù)到提供給Ring 3級調(diào)用者使用的緩沖中。驅(qū)動程序必須在結(jié)束前存儲拷貝到IRP的Information成員中的數(shù)據(jù)個數(shù)。如果控制代碼不指明METHOD_IN_DIRECT或METHOD_OUT_DIRECT,則DeviceIoControl的參數(shù)呈現(xiàn)不同的含義。參數(shù)InputBuffer被拷貝到一個系統(tǒng)緩沖,這個緩沖驅(qū)動程序可以通過調(diào)用KIrp::IoctlBuffer。參數(shù)OutputBuffer被映射到KMemory對象,驅(qū)動程序?qū)@個對象的訪問通過調(diào)用KIrp::Mdl來實(shí)現(xiàn)。對于METHOD_OUT_DIRECT,調(diào)用者必須有對緩沖的寫訪問權(quán)限。注意,對METHOD_NEITHER,內(nèi)核只提供虛擬地址;它不會做映射來配置緩沖。虛擬地址只對調(diào)用進(jìn)程有效。這里是一個用METHOD_BUFFERED的例子:首先,使用宏CTL_CODE來定義一個IOCTL代碼:#define IOCTL_MYDEV_GET_FIRMWARE_REV \CTL_CODE (FILE_DEVICE_UNKNOWN,0,METHOD_BUFFERED,FILE_ANY_ACCESS)現(xiàn)在使用一個DeviceIoControl調(diào)用:BOOLEAN b;CHAR FirmwareRev[60];ULONG FirmwareRevSize;b = DeviceIoControl(hDevice, IOCTL_MYDEV_GET_VERSION_STRING,  NULL, // no input  注意,這里放的是包含有執(zhí)行操作命令的字符串指針  0, FirmwareRev,      //這里是output串指針,存放從驅(qū)動程序中返回的字符串。sizeof(FirmwareRev),& FirmwareRevSize,  NULL // not overlapped I/O );如果輸出緩沖足夠大,設(shè)備拷貝串到里面并將拷貝的資結(jié)束設(shè)置到FirmwareRevSize中。在驅(qū)動程序中,代碼看起來如下所示:const char* FIRMWARE_REV = "FW 16.33 v5";NTSTATUS MyDevice::DeviceControl( KIrp I ){  ULONG fwLength=0;  switch ( I.IoctlCode() )  {    case IOCTL_MYDEV_GET_FIRMWARE_REV:      fwLength = strlen(FIRMWARE_REV)+1;      if (I.IoctlOutputBufferSize() >= fwLength)      {        strcpy((PCHAR)I.IoctlBuffer(),FIRMWARE_REV);        I.Information() = fwLength;         return I.Complete(STATUS_SUCCESS);      }      else      {              }    case . . .   } }

    標(biāo)簽: 驅(qū)動程序 應(yīng)用程序 接口

    上傳時間: 2013-10-17

    上傳用戶:gai928943

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

    串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實(shí)現(xiàn)編程的讀,寫,擦等細(xì)節(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()//編程前的準(zhǔn)備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結(jié)束后的工作,設(shè)置合適的引腳電平{ 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)換并設(shè)置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,設(shè)置相應(yīng)的編程控制信號 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,設(shè)置相應(yīng)的編程控制信號 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,設(shè)置相應(yīng)的編程控制信號 //寫一個單元 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)//效驗(yàn):循環(huán)讀,直到讀出與寫入的數(shù)相同 {  nTimeOut++;  if(nTimeOut>1000)//超時了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 //讀一個單元 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();//先設(shè)置成編程狀態(tài)//----------------------------------------------------------------------------- //根據(jù)器件的DataSheet,設(shè)置相應(yīng)的編程控制信號 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()//設(shè)置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;}

    標(biāo)簽: Keil 串行 C語言 編程器

    上傳時間: 2013-11-12

    上傳用戶:gut1234567

  • 采用高速串行收發(fā)器Rocket I/O實(shí)現(xiàn)數(shù)據(jù)率為2.5 G

    摘要: 串行傳輸技術(shù)具有更高的傳輸速率和更低的設(shè)計成本, 已成為業(yè)界首選, 被廣泛應(yīng)用于高速通信領(lǐng)域。提出了一種新的高速串行傳輸接口的設(shè)計方案, 改進(jìn)了Aurora 協(xié)議數(shù)據(jù)幀格式定義的弊端, 并采用高速串行收發(fā)器Rocket I/O, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps的高速串行傳輸。關(guān)鍵詞: 高速串行傳輸; Rocket I/O; Aurora 協(xié)議 為促使FPGA 芯片與串行傳輸技術(shù)更好地結(jié)合以滿足市場需求, Xilinx 公司適時推出了內(nèi)嵌高速串行收發(fā)器RocketI/O 的Virtex II Pro 系列FPGA 和可升級的小型鏈路層協(xié)議———Aurora 協(xié)議。Rocket I/O支持從622 Mbps 至3.125 Gbps的全雙工傳輸速率, 還具有8 B/10 B 編解碼、時鐘生成及恢復(fù)等功能, 可以理想地適用于芯片之間或背板的高速串行數(shù)據(jù)傳輸。Aurora 協(xié)議是為專有上層協(xié)議或行業(yè)標(biāo)準(zhǔn)的上層協(xié)議提供透明接口的第一款串行互連協(xié)議, 可用于高速線性通路之間的點(diǎn)到點(diǎn)串行數(shù)據(jù)傳輸, 同時其可擴(kuò)展的帶寬, 為系統(tǒng)設(shè)計人員提供了所需要的靈活性[4]。但該協(xié)議幀格式的定義存在弊端,會導(dǎo)致系統(tǒng)資源的浪費(fèi)。本文提出的設(shè)計方案可以改進(jìn)Aurora 協(xié)議的固有缺陷,提高系統(tǒng)性能, 實(shí)現(xiàn)數(shù)據(jù)率為2.5 Gbps 的高速串行傳輸, 具有良好的可行性和廣闊的應(yīng)用前景。

    標(biāo)簽: Rocket 2.5 高速串行 收發(fā)器

    上傳時間: 2013-11-06

    上傳用戶:smallfish

  • 集成溫度傳感器的分類和應(yīng)用

    一、傳感器的定義信息處理技術(shù)取得的進(jìn)展以及微處理器和計算機(jī)技術(shù)的高速發(fā)展,都需要在傳感器的開發(fā)方面有相應(yīng)的進(jìn)展。微處理器現(xiàn)在已經(jīng)在測量和控制系統(tǒng)中得到了廣泛的應(yīng)用。隨著這些系統(tǒng)能力的增強(qiáng),作為信息采集系統(tǒng)的前端單元,傳感器的作用越來越重要。傳感器已成為自動化系統(tǒng)和機(jī)器人技術(shù)中的關(guān)鍵部件,作為系統(tǒng)中的一個結(jié)構(gòu)組成,其重要性變得越來越明顯。最廣義地來說,傳感器是一種能把物理量或化學(xué)量轉(zhuǎn)變成便于利用的電信號的器件。國際電工委員會(IEC:International Electrotechnical Committee)的定義為:“傳感器是測量系統(tǒng)中的一種前置部件,它將輸入變量轉(zhuǎn)換成可供測量的信號”。按照Gopel等的說法是:“傳感器是包括承載體和電路連接的敏感元件”,而“傳感器系統(tǒng)則是組合有某種信息處理(模擬或數(shù)字)能力的傳感器”。傳感器是傳感器系統(tǒng)的一個組成部分,它是被測量信號輸入的第一道關(guān)口。傳感器系統(tǒng)的原則框圖示于圖1-1,進(jìn)入傳感器的信號幅度是很小的,而且混雜有干擾信號和噪聲。為了方便隨后的處理過程,首先要將信號整形成具有最佳特性的波形,有時還需要將信號線性化,該工作是由放大器、濾波器以及其他一些模擬電路完成的。在某些情況下,這些電路的一部分是和傳感器部件直接相鄰的。成形后的信號隨后轉(zhuǎn)換成數(shù)字信號,并輸入到微處理器。德國和俄羅斯學(xué)者認(rèn)為傳感器應(yīng)是由二部分組成的,即直接感知被測量信號的敏感元件部分和初始處理信號的電路部分。按這種理解,傳感器還包含了信號成形器的電路部分。傳感器系統(tǒng)的性能主要取決于傳感器,傳感器把某種形式的能量轉(zhuǎn)換成另一種形式的能量。有兩類傳感器:有源的和無源的。有源傳感器能將一種能量形式直接轉(zhuǎn)變成另一種,不需要外接的能源或激勵源(參閱圖1-2(a))。有源(a)和無源(b)傳感器的信號流程無源傳感器不能直接轉(zhuǎn)換能量形式,但它能控制從另一輸入端輸入的能量或激勵能傳感器承擔(dān)將某個對象或過程的特定特性轉(zhuǎn)換成數(shù)量的工作。其“對象”可以是固體、液體或氣體,而它們的狀態(tài)可以是靜態(tài)的,也可以是動態(tài)(即過程)的。對象特性被轉(zhuǎn)換量化后可以通過多種方式檢測。對象的特性可以是物理性質(zhì)的,也可以是化學(xué)性質(zhì)的。按照其工作原理,傳感器將對象特性或狀態(tài)參數(shù)轉(zhuǎn)換成可測定的電學(xué)量,然后將此電信號分離出來,送入傳感器系統(tǒng)加以評測或標(biāo)示。各種物理效應(yīng)和工作機(jī)理被用于制作不同功能的傳感器。傳感器可以直接接觸被測量對象,也可以不接觸。用于傳感器的工作機(jī)制和效應(yīng)類型不斷增加,其包含的處理過程日益完善。常將傳感器的功能與人類5大感覺器官相比擬: 光敏傳感器——視覺;聲敏傳感器——聽覺;氣敏傳感器——嗅覺;化學(xué)傳感器——味覺;壓敏、溫敏、流體傳感器——觸覺。與當(dāng)代的傳感器相比,人類的感覺能力好得多,但也有一些傳感器比人的感覺功能優(yōu)越,例如人類沒有能力感知紫外或紅外線輻射,感覺不到電磁場、無色無味的氣體等。對傳感器設(shè)定了許多技術(shù)要求,有一些是對所有類型傳感器都適用的,也有只對特定類型傳感器適用的特殊要求。針對傳感器的工作原理和結(jié)構(gòu)在不同場合均需要的基本要求是: 高靈敏度,抗干擾的穩(wěn)定性(對噪聲不敏感),線性,容易調(diào)節(jié)(校準(zhǔn)簡易),高精度,高可靠性,無遲滯性,工作壽命長(耐用性) ,可重復(fù)性,抗老化,高響應(yīng)速率,抗環(huán)境影響(熱、振動、酸、堿、空氣、水、塵埃)的能力 ,選擇性,安全性(傳感器應(yīng)是無污染的),互換性 低成本 ,寬測量范圍,小尺寸、重量輕和高強(qiáng)度,寬工作溫度范圍 。二、傳感器的分類可以用不同的觀點(diǎn)對傳感器進(jìn)行分類:它們的轉(zhuǎn)換原理(傳感器工作的基本物理或化學(xué)效應(yīng));它們的用途;它們的輸出信號類型以及制作它們的材料和工藝等。根據(jù)傳感器工作原理,可分為物理傳感器和化學(xué)傳感器二大類:傳感器工作原理的分類物理傳感器應(yīng)用的是物理效應(yīng),諸如壓電效應(yīng),磁致伸縮現(xiàn)象,離化、極化、熱電、光電、磁電等效應(yīng)。被測信號量的微小變化都將轉(zhuǎn)換成電信號。化學(xué)傳感器包括那些以化學(xué)吸附、電化學(xué)反應(yīng)等現(xiàn)象為因果關(guān)系的傳感器,被測信號量的微小變化也將轉(zhuǎn)換成電信號。有些傳感器既不能劃分到物理類,也不能劃分為化學(xué)類。大多數(shù)傳感器是以物理原理為基礎(chǔ)運(yùn)作的。化學(xué)傳感器技術(shù)問題較多,例如可靠性問題,規(guī)模生產(chǎn)的可能性,價格問題等,解決了這類難題,化學(xué)傳感器的應(yīng)用將會有巨大增長。常見傳感器的應(yīng)用領(lǐng)域和工作原理列于表1.1。按照其用途,傳感器可分類為: 壓力敏和力敏傳感器 ,位置傳感器 , 液面?zhèn)鞲衅?能耗傳感器 ,速度傳感器 ,熱敏傳感器,加速度傳感器,射線輻射傳感器 ,振動傳感器,濕敏傳感器 ,磁敏傳感器,氣敏傳感器,真空度傳感器,生物傳感器等。以其輸出信號為標(biāo)準(zhǔn)可將傳感器分為: 模擬傳感器——將被測量的非電學(xué)量轉(zhuǎn)換成模擬電信號。數(shù)字傳感器——將被測量的非電學(xué)量轉(zhuǎn)換成數(shù)字輸出信號(包括直接和間接轉(zhuǎn)換)。膺數(shù)字傳感器——將被測量的信號量轉(zhuǎn)換成頻率信號或短周期信號的輸出(包括直接或間接轉(zhuǎn)換)。開關(guān)傳感器——當(dāng)一個被測量的信號達(dá)到某個特定的閾值時,傳感器相應(yīng)地輸出一個設(shè)定的低電平或高電平信號。

    標(biāo)簽: 集成 溫度傳感器 分類

    上傳時間: 2013-10-11

    上傳用戶:zhangdebiao

  • LINUX系統(tǒng)分析與高級編程技術(shù)

    本書介紹Linux環(huán)境下的編程方法,內(nèi)容包括Linux系統(tǒng)命令、 Shell腳本、編程語言(gawk、Perl)、系統(tǒng)內(nèi)核、安全體系、X Window等,內(nèi)容豐富、論述全面,涵蓋了Linux系統(tǒng)的方方面面。本書附帶光盤包括了RedHat Linux系統(tǒng)的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統(tǒng)的技術(shù)人員提供了較全面的參考。    目      錄前言第一篇   Linux系統(tǒng)介紹第1章   Linux簡介 …11.1   Linux 的起源 11.2   自由軟件基金會的GNU計劃 11.3   Linux 的發(fā)音 21.4   Linux 的特點(diǎn) 21.5   基本硬件要求 31.6   如何獲得Linux 31.6.1   從網(wǎng)上下載Linux 31.6.2   從光盤獲得Linux 31.7   涉及Linux 的Web 網(wǎng)址和新聞討論組 61.8   Linux 的不足之處 7第2章   外殼及常用命令 82.1   登錄和退出 82.2   Linux 系統(tǒng)的外殼 82.3   外殼的常用命令 92.3.1   更改帳號密碼 92.3.2   聯(lián)機(jī)幫助 92.3.3   遠(yuǎn)程登錄 92.3.4   文件或目錄處理 92.3.5   改變工作目錄 102.3.6   復(fù)制文件 102.3.7   移動或更改文件、目錄名稱 102.3.8   建立新目錄 102.3.9   刪除目錄 112.3.10   刪除文件 112.3.11   列出當(dāng)前所在的目錄位置 112.3.12   查看文件內(nèi)容 112.3.13   分頁查看文件內(nèi)容 112.3.14   查看目錄所占磁盤容量 112.3.15   文件傳輸 112.3.16   文件權(quán)限的設(shè)定 122.3.17   檢查自己所屬的工作組名稱 132.3.18   改變文件或目錄工作組所有權(quán) 132.3.19   改變文件或目錄的最后修改時間 132.3.20   文件的鏈接 132.3.21   文件中字符串的查尋 142.3.22   查尋文件或命令的路徑 142.3.23   比較文件或目錄的內(nèi)容 142.3.24   文件打印輸出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印機(jī)控制命令 142.3.28   進(jìn)程控制 152.3.29   外殼變量 162.3.30   環(huán)境變量 162.3.31   別名 162.3.32   歷史命令 172.3.33   文件的壓縮 172.3.34   管道命令的使用 172.3.35   輸入/輸出控制 182.3.36   查看系統(tǒng)中的用戶 182.3.37   改變用戶名 182.3.38   查看用戶名 182.3.39   查看當(dāng)前系統(tǒng)上所有工作站       的用戶 192.3.40   與某工作站上的用戶交談 192.3.41   檢查遠(yuǎn)程系統(tǒng)是否正常 192.3.42   電子郵件的使用簡介 19第3章   Linux系統(tǒng)的網(wǎng)絡(luò)功能 213.1   Linux支持的網(wǎng)絡(luò)協(xié)議 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 協(xié)議集 213.1.5   廣域網(wǎng) 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   業(yè)余無線電 223.1.9   ATM 223.2   Linux系統(tǒng)下的文件共享和打印共享 223.2.1   Machintosh 環(huán)境 223.2.2   Windows 環(huán)境 223.2.3   Novell 環(huán)境 233.2.4   UNIX 環(huán)境 233.3   Linux系統(tǒng)中的Internet/Intranet功能 233.3.1   郵件 233.3.2   Web 服務(wù)器 243.3.3   Web 瀏覽器 243.3.4   FTP 服務(wù)器和客戶機(jī) 243.3.5   新聞服務(wù) 243.3.6   域名系統(tǒng) 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系統(tǒng)下應(yīng)用程序的遠(yuǎn)程執(zhí)行 243.4.1   Telnet 253.4.2   遠(yuǎn)程命令 253.4.3   X Window 253.5   Linux系統(tǒng)的網(wǎng)絡(luò)互連功能 253.5.1   路由器 253.5.2   網(wǎng)橋 253.5.3   IP偽裝 253.5.4   IP統(tǒng)計 263.5.5   IP 別名 263.5.6   流量限制器 263.5.7   防火墻 263.5.8   端口下傳 263.5.9   負(fù)載平衡 263.5.10   EQL 273.5.11   代理服務(wù)器 273.5.12   按需撥號 273.5.13   管道、移動IP和虛擬個人網(wǎng)絡(luò) 273.6   Linux系統(tǒng)中的網(wǎng)絡(luò)管理 273.6.1   Linux系統(tǒng)下的網(wǎng)絡(luò)管理應(yīng)用程序 273.6.2   SNMP 283.7   企業(yè)級Linux網(wǎng)絡(luò) 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余網(wǎng)絡(luò) 28第4章   Linux系統(tǒng)管理簡介 294.1   root 帳號 294.2   啟動和關(guān)閉系統(tǒng) 294.2.1   從軟盤啟動 294.2.2   使用LILO 啟動 294.2.3   關(guān)閉Linux系統(tǒng) 304.3   掛接文件系統(tǒng) 304.3.1   掛接軟盤 304.3.2   創(chuàng)建新的文件系統(tǒng) 304.3.3   卸載文件系統(tǒng) 314.4   檢查文件系統(tǒng) 314.5   使用文件作為交換區(qū) 314.6   系統(tǒng)和文件的備份 324.7   設(shè)置系統(tǒng) 334.7.1   設(shè)置系統(tǒng)名 334.7.2   使用維護(hù)磁盤 334.7.3   重新設(shè)置root 帳號口令 334.7.4   設(shè)置登錄信息 33第二篇   Linux高級語言及管理編程第5章   外殼編程 355.1   創(chuàng)建和運(yùn)行外殼程序 355.1.1   創(chuàng)建外殼程序 355.1.2   運(yùn)行外殼程序 355.2   使用外殼變量 365.2.1   給變量賦值 365.2.2   讀取變量的值 375.2.3   位置變量和其他系統(tǒng)變量 375.2.4   引號的作用 375.3   數(shù)值運(yùn)算命令 385.4   條件表達(dá)式 405.4.1   if 表達(dá)式 405.4.2   case 表達(dá)式 415.5   循環(huán)語句 425.5.1   for 語句 435.5.2   while 語句 435.5.3   until 語句 445.6   shift 命令 445.7   select 語句 455.8   repeat 語句 465.9   子函數(shù) 46第6章   gawk語言編程 486.1   gawk的主要功能 486.2   如何執(zhí)行g(shù)awk程序 486.3   文件、記錄和字段 486.4   模式和動作 496.5   比較運(yùn)算和數(shù)值運(yùn)算 506.6   內(nèi)部函數(shù) 506.6.1   隨機(jī)數(shù)和數(shù)學(xué)函數(shù) 516.6.2   字符串的內(nèi)部函數(shù) 516.6.3   輸入輸出的內(nèi)部函數(shù) 526.7   字符串和數(shù)字 526.8   格式化輸出 526.9   改變字段分隔符 546.10   元字符 546.11   調(diào)用gawk程序 556.12   BEGIN和END 556.13   變量 566.14   內(nèi)置變量 566.15   控制結(jié)構(gòu) 576.15.1   if 表達(dá)式 576.15.2   while 循環(huán) 576.15.3   for 循環(huán) 586.15.4   next 和 exit 586.16   數(shù)組 586.17   用戶自定義函數(shù) 586.18   幾個實(shí)例 59第7章   Perl語言編程 607.1   什么是Perl 607.2   Perl的現(xiàn)狀 607.3   初試Perl 607.4   Perl變量 607.4.1   標(biāo)量 607.4.2   數(shù)組 637.4.3   相關(guān)數(shù)組 657.5   文件句柄和文件操作 657.6   循環(huán)結(jié)構(gòu) 667.6.1   foreach循環(huán) 667.6.2   判斷運(yùn)算 667.6.3   for循環(huán) 677.6.4   while 和 until循環(huán) 677.7   條件結(jié)構(gòu) 677.8   字符匹配 687.9   替換和翻譯 697.9.1   替換 697.9.2   翻譯 707.10   子過程 707.10.1   子過程的定義 707.10.2   參數(shù) 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系統(tǒng)內(nèi)核分析第8章   Linux內(nèi)核簡介 738.1   系統(tǒng)初始化 738.2   系統(tǒng)運(yùn)行 738.3   內(nèi)核提供的各種系統(tǒng)調(diào)用 748.3.1   進(jìn)程的基本概念和系統(tǒng)            的基本數(shù)據(jù)結(jié)構(gòu) 748.3.2   創(chuàng)建和撤消進(jìn)程 748.3.3   執(zhí)行程序 748.4   存取文件系統(tǒng) 75第9章   系統(tǒng)進(jìn)程 769.1   什么是進(jìn)程 769.2   進(jìn)程的結(jié)構(gòu) 769.3   進(jìn)程調(diào)度 789.4   進(jìn)程使用的文件 799.5   進(jìn)程使用的虛擬內(nèi)存 809.6   創(chuàng)建進(jìn)程 819.7   進(jìn)程的時間和計時器 819.7.1   實(shí)時時鐘 819.7.2   虛擬時鐘 819.7.3   形象時鐘 819.8   程序的執(zhí)行 829.8.1   ELF文件 829.8.2   腳本文件 82第10章   內(nèi)存管理 8310.1   內(nèi)存管理的作用 8310.2   虛擬內(nèi)存的抽象模型 8310.3   按需裝入頁面 8410.4   交換 8510.5   共享虛擬內(nèi)存 8510.6   存取控制 8510.7   高速緩存 8610.7.1   緩沖區(qū)高速緩存 8610.7.2   頁面高速緩存 8610.7.3   交換高速緩存 8610.7.4   硬件高速緩存 8610.8   系統(tǒng)頁面表 8610.9   頁面的分配和釋放 8710.9.1   頁面的分配 8810.9.2   頁面的釋放 8810.10   內(nèi)存映射 8810.11   請求調(diào)頁 8910.12   頁面高速緩存 8910.13   內(nèi)核交換守護(hù)進(jìn)程 90第11章   進(jìn)程間通信 9111.1   信號機(jī)制 9111.2   管道機(jī)制 9211.3  System V IPC 機(jī)制  9311.3.1   信息隊(duì)列 9311.3.2   信號量 9411.3.3   共享內(nèi)存 96第12章   PCI 9812.1   PCI 系統(tǒng) 9812.2   PCI地址空間 9812.3   PCI設(shè)置頭 9912.4   PCI I/O 和 PCI 內(nèi)存地址 10012.5   PCI-ISA橋 10012.6   PCI-PCI 橋 10012.7   PCI初始化 10112.7.1   Linux系統(tǒng)內(nèi)核有關(guān)PCI的      數(shù)據(jù)結(jié)構(gòu) 10112.7.2   PCI 設(shè)備驅(qū)動程序 10212.7.3   PCI BIOS 函數(shù) 10512.7.4   PCI Fixup 105第13章   中斷和中斷處理 10613.1   中斷 10613.2   可編程中斷控制器 10613.3   初始化中斷處理的數(shù)據(jù)結(jié)構(gòu) 10713.4   中斷處理 108第14章   設(shè)備驅(qū)動程序 10914.1   硬件設(shè)備的管理 10914.2   輪詢和中斷 11014.3   直接內(nèi)存存取 11014.4   內(nèi)存 11114.5   設(shè)備驅(qū)動程序和內(nèi)核之間的接口 11114.5.1   字符設(shè)備 11214.5.2   塊設(shè)備 11314.6   硬盤 11314.6.1   IDE 硬盤 11514.6.2   初始化IDE 硬盤子系統(tǒng) 11514.6.3   SCSI 硬盤 11514.6.4   初始化 SCSI 磁盤子系統(tǒng) 11614.6.5   傳遞塊設(shè)備請求 11814.7   網(wǎng)絡(luò)設(shè)備 11814.7.1   網(wǎng)絡(luò)設(shè)備文件名 11814.7.2   總線信息 11814.7.3   網(wǎng)絡(luò)接口標(biāo)記 11914.7.4   協(xié)議信息 11914.7.5   初始化網(wǎng)絡(luò)設(shè)備 119第15章   文件系統(tǒng) 12115.1   Linux文件系統(tǒng)概述 12115.2   ext2文件系統(tǒng) 12215.2.1   ext2的索引節(jié)點(diǎn) 12215.2.2   ext2超級塊 12415.2.3   ext2 數(shù)據(jù)塊組描述符 12415.2.4   ext2 中的目錄 12515.2.5   在ext2 文件系統(tǒng)中查找文件 12515.2.6   改變ext2 文件系統(tǒng)中文件             的大小 12615.3   VFS 12715.3.1   VFS 超級塊 12815.3.2   VFS 索引節(jié)點(diǎn) 12915.3.3   登記文件系統(tǒng) 12915.3.4   掛接文件系統(tǒng) 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系統(tǒng) 13115.3.7   VFS 索引節(jié)點(diǎn)緩存 13215.3.8   VFS目錄緩存 13215.4   緩沖區(qū)緩存 13315.5   /proc 文件系統(tǒng) 135第16章   網(wǎng)絡(luò)系統(tǒng) 13616.1   TCP/IP 網(wǎng)絡(luò)簡介 13616.2   TCP/IP網(wǎng)絡(luò)的分層 13716.3   BSD 套接口 13816.4   INET套接口層 14016.4.1   創(chuàng)建BSD 套接口 14116.4.2   給INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上創(chuàng)建連接 14216.4.4   監(jiān)聽INET BSD 套接口 14216.4.5   接收連接請求 14316.5   IP 層 14316.5.1   套接口緩沖區(qū) 14316.5.2   接收IP數(shù)據(jù)包 14416.5.3   發(fā)送IP數(shù)據(jù)包 14416.5.4   數(shù)據(jù)碎片 14416.6   地址解析協(xié)議 145第17章   系統(tǒng)內(nèi)核機(jī)制 14717.1   Bottom Half處理 14717.2   任務(wù)隊(duì)列 14817.3   計時器 14917.4   等待隊(duì)列 14917.5   信號量 150第四篇   Linux系統(tǒng)高級編程第18章   Linux內(nèi)核模塊編程 15118.1   一個簡單程序Hello World 15118.2   設(shè)備文件 15218.3    /proc文件系統(tǒng) 15618.4   使用/proc輸入 15818.5   與設(shè)備文件通信 16218.6   啟動參數(shù) 16918.7   系統(tǒng)調(diào)用 17018.8   阻塞進(jìn)程 17218.9   替換printk 17718.10   調(diào)度任務(wù) 178第19章   有關(guān)進(jìn)程通信的編程 18119.1   進(jìn)程間通信簡介 18119.2   半雙工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C語言創(chuàng)建管道 18219.2.3   創(chuàng)建管道的簡單方法 18519.2.4   使用管道的自動操作 18719.2.5   使用半雙工管道時的注意事項(xiàng) 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   創(chuàng)建FIFO 18819.3.3   FIFO操作 18919.3.4   FIFO的阻塞 19019.3.5    SIGPIPE信號 19019.4   System V IPC 19019.4.1   基本概念 19019.4.2   消息隊(duì)列基本概念 19119.4.3   系統(tǒng)調(diào)用msgget() 19419.4.4   系統(tǒng)調(diào)用msgsnd() 19519.4.5   系統(tǒng)調(diào)用msgctl() 19719.4.6   一個msgtool的實(shí)例 19919.5   使用信號量編程 20119.5.1   基本概念 20119.5.2   系統(tǒng)調(diào)用semget() 20219.5.3   系統(tǒng)調(diào)用semop() 20319.5.4   系統(tǒng)調(diào)用semctl() 20419.5.5   使用信號量集的實(shí)例:semtool 20519.6   共享內(nèi)存 20919.6.1   基本概念 20919.6.2   系統(tǒng)內(nèi)部用戶數(shù)據(jù)結(jié)構(gòu)             shmid_ds 20919.6.3   系統(tǒng)調(diào)用shmget() 21019.6.4   系統(tǒng)調(diào)用shmat() 21119.6.5   系統(tǒng)調(diào)用shmctl() 21119.6.6   系統(tǒng)調(diào)用shmdt() 21219.6.7   使用共享內(nèi)存的實(shí)例:shmtool 212第20章   高級線程編程 21520.1   線程的概念和用途 21520.2   一個簡單的例子 21520.3   線程同步 21720.4   使用信號量協(xié)調(diào)程序 21820.5   信號量的實(shí)現(xiàn) 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系統(tǒng)網(wǎng)絡(luò)編程 22521.1   什么是套接口 22521.2   兩種類型的Internet套接口 22521.3   網(wǎng)絡(luò)協(xié)議分層 22521.4   數(shù)據(jù)結(jié)構(gòu) 22521.5   IP地址和如何使用IP地址 22621.5.1   socket() 22621.5.2   bind() 22621.5.3   connect() 22721.5.4   listen() 22821.5.5   accept() 22821.5.6   send() 和 recv() 22921.5.7   sendto() 和 recvfrom() 23021.5.8   close() 和 shutdown() 23021.5.9   getpeername() 23121.5.10   gethostname() 23121.6   DNS 23121.7   客戶機(jī)/服務(wù)器模式 23221.8   簡單的數(shù)據(jù)流服務(wù)器程序 23221.9   簡單的數(shù)據(jù)流客戶機(jī)程序 23421.10   數(shù)據(jù)報套接口 23521.11   阻塞 237第22章   Linux I/O端口編程 24022.1   如何在 C 語言下使用I/O端口 24022.1.1   一般的方法 24022.1.2   另一個替代方法: /dev/port 24122.2   硬件中斷 與 DMA 存取 24122.3   高精確的時間 24122.3.1   延遲時間 24122.3.2   時間的量測 24322.4   使用其他程序語言 24322.5   一些有用的 I/O 端口 24322.5.1   并行端口 24322.5.2   游戲端口 24422.5.3   串行端口 245第五篇   Linux系統(tǒng)安全分析第23章   系統(tǒng)管理員安全 24723.1   安全管理 24723.2   超級用戶 24723.3   文件系統(tǒng)安全 24723.3.1   Linux文件系統(tǒng)概述 24723.3.2   設(shè)備文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考慮 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安裝和拆卸文件系統(tǒng) 25023.3.9   系統(tǒng)目錄和文件 25123.4   作為root運(yùn)行的程序 25123.4.1   啟動系統(tǒng) 25123.4.2   init進(jìn)程 25123.4.3   進(jìn)入多用戶 25223.4.4   shutdown命令 25223.4.5   系統(tǒng)V的cron程序 25223.4.6   系統(tǒng)V版本2之后的cron程序 25223.4.7   /etc/profile 25323.5   /etc/passwd文件 25323.5.1   口令時效 25323.5.2   UID和GID 25423.6   /etc/group文件 25423.7   增加、刪除和移走用戶 25423.7.1   增加用戶 25423.7.2   刪除用戶 25523.7.3   將用戶移到另一個系統(tǒng) 25523.8   安全檢查 25523.8.1   記帳 25523.8.2   其他檢查命令 25623.8.3   安全檢查程序的問題 25623.8.4   系統(tǒng)泄密后怎么辦 25723.9   加限制的環(huán)境 25823.9.1   加限制的外殼 25823.9.2   用chroot()限制用戶 25823.10   小系統(tǒng)安全 25923.11   物理安全 25923.12   用戶意識 26023.13   系統(tǒng)管理員意識 26123.13.1   保持系統(tǒng)管理員個人的               登錄安全 26123.13.2   保持系統(tǒng)安全 261第24章   系統(tǒng)程序員安全 26324.1   系統(tǒng)子程序 26324.1.1   I/O子程序 26324.1.2   進(jìn)程控制 26324.1.3   文件屬性 26424.1.4   UID和GID的處理 26524.2   標(biāo)準(zhǔn)C程序庫 26524.2.1   標(biāo)準(zhǔn)I/O 26524.2.2   /etc/passwd的處理 26624.2.3   /etc/group的處理 26724.2.4   加密子程序 26824.2.5   運(yùn)行外殼 26824.3   編寫安全的C程序 26824.3.1   需要考慮的安全問題 26824.3.2   SUID/SGID程序指導(dǎo)準(zhǔn)則 26924.3.3   編譯、安裝SUID/SGID程序             的方法 26924.4   root用戶程序的設(shè)計 270第25章   Linux系統(tǒng)的網(wǎng)絡(luò)安全 27225.1   UUCP系統(tǒng)概述 27225.1.1   UUCP命令 27225.1.2   uux命令 27225.1.3   uucico程序 27325.1.4   uuxqt程序 27325.2   UUCP的安全問題 27325.2.1   USERFILE文件 27325.2.2   L.cmds文件 27425.2.3   uucp登錄 27425.2.4   uucp使用的文件和目錄 27425.3   HONEYDANBER UUCP 27525.3.1   HONEYDANBER UUCP與           老UUCP的差別 27525.3.2   登錄名規(guī)則 27625.3.3   MACHINE規(guī)則 27725.3.4   組合MACHINE和LOGNAME             規(guī)則 27825.3.5   uucheck命令 27825.3.6   網(wǎng)關(guān) 27825.3.7   登錄文件檢查 27925.4   其他網(wǎng)絡(luò) 27925.4.1   遠(yuǎn)程作業(yè)登錄 27925.4.2   NSC網(wǎng)絡(luò)系統(tǒng) 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用戶身份鑒別 28225.6   SUN OS系統(tǒng)的網(wǎng)絡(luò)安全 28325.6.1   確保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   遠(yuǎn)程過程調(diào)用鑒別 28425.6.4   Linux鑒別機(jī)制 28425.6.5   DES鑒別系統(tǒng) 28525.6.6   公共關(guān)鍵字的編碼 28625.6.7   網(wǎng)絡(luò)實(shí)體的命名 28625.6.8   DES鑒別系統(tǒng)的應(yīng)用 28725.6.9   遺留的安全問題 28725.6.10   性能 28825.6.11   啟動和setuid程序引起的問題 28825.6.12   小結(jié) 289第26章   Linux系統(tǒng)的用戶安全性 29026.1   口令安全 29026.2   文件許可權(quán) 29026.3   目錄許可 29126.4   umask命令 29126.5   設(shè)置用戶ID和同組用戶ID許可 29126.6   cp mv ln和cpio命令 29126.7   su和newgrp命令 29226.7.1   su命令 29226.7.2   newgrp命令 29226.8   文件加密 29226.9   其他安全問題 29326.9.1   用戶的.profile文件 29326.9.2   ls -a 29326.9.3   .exrc文件 29326.9.4   暫存文件和目錄 29326.9.5   UUCP和其他網(wǎng)絡(luò) 29326.9.6   特洛伊木馬 29426.9.7   誘騙 29426.9.8   計算機(jī)病毒 29426.9.9   要離開自己已登錄的終端 29426.9.10   智能終端 29426.9.11   斷開與系統(tǒng)的連接 29426.9.12   cu命令 29526.10   保持帳戶安全的要點(diǎn) 295第六篇   X window系統(tǒng)的內(nèi)部結(jié)構(gòu)和使用第27章  X Window系統(tǒng)的基本知識 29727.1   X Window系統(tǒng)介紹 29727.1.1   X的特點(diǎn) 29727.1.2   什么是窗口系統(tǒng) 29827.1.3   X發(fā)展的歷史 29927.1.4   X的產(chǎn)品 29927.1.5   MIT發(fā)行的X 29927.2   X的基本結(jié)構(gòu) 30227.2.1   X 的基本元素 30327.2.2   服務(wù)程序和客戶程序如何             交互通信 30427.2.3   X 的網(wǎng)絡(luò)概況 30627.3   從用戶界面的角度概觀X 30727.3.1   管理界面:窗口管理器 30727.3.2   應(yīng)用程序界面和工具箱 30927.3.3   其他系統(tǒng)角度 30927.4   術(shù)語和符號 31027.4.1   術(shù)語 31027.4.2   符號 31127.5   啟動和關(guān)閉X 31227.5.1   啟動X 31227.5.2   執(zhí)行X程序的方式 31327.5.3   關(guān)閉X 31427.6   窗口管理器基礎(chǔ)—uwm 31527.6.1   什么是窗口管理器 31527.6.2   啟動uwm 31527.6.3   基本窗口操作 —uwm             的菜單 31527.6.4   移動窗口 31627.6.5   重定窗口大小 31627.6.6   建立新窗口 31627.6.7   管理屏幕空間 31827.6.8   中止應(yīng)用程序窗口 32027.6.9   激活uwm菜單的其他方式 32027.7   使用 x的網(wǎng)絡(luò)設(shè)備 32027.7.1   指定遠(yuǎn)程終端機(jī)—display             選項(xiàng) 32127.7.2   實(shí)際使用遠(yuǎn)程的顯示器 32227.7.3   控制存取顯示器—xhost 32227.8   終端機(jī)模擬器—詳細(xì)介紹xterm 32327.8.1   選擇xterm功能—菜單與       命令行選項(xiàng) 32327.8.2   滾動xterm屏幕 32427.8.3   記錄與終端機(jī)的交互過程—寫           記錄 32527.8.4   剪貼文本 32527.8.5   使用Tektronix模擬功能 32627.8.6   使用不同的字體 32727.8.7   使用顏色 32727.8.8   其他xterm選項(xiàng) 32727.8.9   設(shè)定終端機(jī)鍵盤 328第28章   實(shí)用程序和工具 32928.1   實(shí)用程序 32928.2   保存、顯示和打印屏幕圖像 33028.3   使用X的應(yīng)用程序 33228.3.1   文字編輯器—Xedit 33328.3.2   郵件/信息處理系統(tǒng)—xmh 33628.4   示例和游戲程序 33628.4.1   找出通過隨機(jī)迷宮的             路徑—maze 33628.4.2   擔(dān)任鼠標(biāo)指針的大眼睛—             xeyes 33628.4.3   智慧盤游戲—puzzle 33728.4.4   打印一個大X標(biāo)志—xlogo 33728.4.5   跳動的多面體—ico 33728.4.6   動態(tài)幾何圖案—muncher與             plaid 33728.7   顯示信息和狀態(tài)的程序 33728.7.1   列出X服務(wù)程序的特征—    xdpyinfo 33828.7.2   獲取有關(guān)窗口的信息 33828.7.3   觀察X的事件—xev 340第29章   定制X Window系統(tǒng) 34129.1   使用X的字體和顏色 34129.1.1   字體初步 34129.1.2   字體命名 34229.1.3   觀察特定字體的內(nèi)容—xfd 34329.1.4   保存字體和位置 34329.1.5   例子:在你的服務(wù)程序中      增加新字體 34529.1.6   使用X的顏色 34629.2   定義和使用圖形 34729.2.1   系統(tǒng)圖形程序庫 34729.2.2   交互編輯圖形—bitmap 34729.2.3   編輯圖形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定義應(yīng)用程序的缺省選項(xiàng)—           Resources 35029.3.1   什么是資源 35029.3.2   XToolkit 35129.3.3   管理資源—資源管理器 35329.3.4   資源的類型—如何指定值 35829.4   實(shí)際使用資源 35929.4.1   在何處保存資源的缺省值 35929.4.2   在服務(wù)程序上保存缺省值—    xrdb 36329.4.3   常見的錯誤和修正 36629.5   定制鍵盤和鼠標(biāo) 36729.5.1   實(shí)際使用轉(zhuǎn)換 36829.5.2   轉(zhuǎn)換—格式和規(guī)則 37429.5.3   轉(zhuǎn)換規(guī)范中常見的問題 37729.6   鍵盤和鼠標(biāo)—對應(yīng)和參數(shù) 37929.6.1   鍵盤和鼠標(biāo)映射—xmodmap 37929.6.2   鍵盤和鼠標(biāo)參數(shù)設(shè)定—xset 38229.7   進(jìn)一步介紹和定制uwm 38429.7.1   uwm的新特征 38429.7.2   定制uwm 38629.8   顯示器管理器—xdm 39029.8.1   需要做些什么 39029.8.2   xdm 39129.8.3   xdm的更多信息 39229.8.4   uwm配置 395附錄A   Gcc使用介紹 396附錄B   安裝X Window窗口系統(tǒng) 410

    標(biāo)簽: LINUX 系統(tǒng)分析 高級編程

    上傳時間: 2013-11-10

    上傳用戶:changeboy

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久亚洲综合| 中文精品在线| 久久精品视频免费播放| 韩国女主播一区| 欧美电影电视剧在线观看| 一本色道久久综合狠狠躁篇怎么玩| 国产精品久久久久久亚洲毛片 | 国模精品一区二区三区| 久久婷婷久久| 日韩视频国产视频| 国产精品一区二区三区乱码| 久久一区国产| 亚洲一区二区免费视频| 一区二区在线观看视频| 欧美国产日韩在线| 午夜在线观看免费一区| 亚洲国产精品va| 国产精品爽爽ⅴa在线观看| 美女亚洲精品| 亚洲欧美日韩人成在线播放| 亚洲国产福利在线| 国产日韩精品在线| 欧美日本一区| 久久精品噜噜噜成人av农村| 亚洲老司机av| 国产综合香蕉五月婷在线| 欧美视频一区在线| 免费视频一区二区三区在线观看| 在线亚洲一区| 亚洲人www| 国内精品久久久久久 | 欧美色道久久88综合亚洲精品| 欧美有码在线观看视频| 日韩一区二区福利| 精品1区2区| 国产精品亚洲欧美| 欧美日韩在线播放一区| 欧美成人国产一区二区| 久久免费视频这里只有精品| 亚洲国产精品99久久久久久久久| 国产精品区二区三区日本| 欧美精彩视频一区二区三区| 久久国产精品久久久久久电车| 99国产精品久久| 91久久精品美女高潮| 黄网站色欧美视频| 国产日韩欧美三级| 欧美激情综合| 麻豆av一区二区三区| 香蕉成人伊视频在线观看| 一区二区三区日韩欧美精品| 亚洲人成网站在线播| 一区二区视频免费完整版观看| 国产日韩精品视频一区| 国产精品h在线观看| 欧美极品色图| 欧美国产欧美亚洲国产日韩mv天天看完整 | 一本色道久久综合精品竹菊 | 亚洲欧美www| 一本色道久久综合亚洲精品婷婷 | 国产精品欧美日韩一区二区| 开心色5月久久精品| 久久久久久久网站| 久久久久久久久久久久久女国产乱| 性欧美video另类hd性玩具| 亚洲黄色一区| 亚洲国产另类精品专区| 亚洲高清av| 亚洲第一中文字幕| 亚洲国产一二三| 亚洲人成啪啪网站| 亚洲精品国久久99热| 亚洲激情av在线| 一区二区亚洲| 亚洲福利视频在线| 最近中文字幕mv在线一区二区三区四区 | 韩国v欧美v日本v亚洲v| 国产午夜亚洲精品不卡| 欧美精品一区二区精品网| 欧美精品久久99| 欧美三级乱码| 国产精品日本| 国产在线观看91精品一区| 激情综合在线| 亚洲精品乱码久久久久久黑人 | 欧美日韩午夜在线视频| 欧美伦理91| 欧美亚州一区二区三区| 国产精品专区一| 久久综合激情| 欧美激情视频在线免费观看 欧美视频免费一 | 欧美丰满高潮xxxx喷水动漫| 欧美国产第一页| 欧美色视频一区| 国产日本欧洲亚洲| 永久久久久久| 夜夜精品视频| 日韩亚洲精品视频| 亚洲人成在线观看| 亚洲香蕉网站| 欧美专区18| 女同一区二区| 欧美小视频在线| 国产日产亚洲精品| 亚洲丁香婷深爱综合| 亚洲韩国精品一区| 亚洲视频免费观看| 欧美一级在线亚洲天堂| 美女主播一区| 欧美天天在线| 影音先锋成人资源站| 一区二区国产在线观看| 性18欧美另类| 欧美电影免费网站| 国产伦精品一区二区三区高清版 | 久久er99精品| 欧美成人国产| 国产精品视频你懂的| 有码中文亚洲精品| 日韩香蕉视频| 午夜一级久久| 欧美日本久久| 国产中文一区二区三区| 一本色道久久综合亚洲精品不卡 | 久久夜色精品亚洲噜噜国产mv| 欧美搞黄网站| 国产精品视频免费在线观看| 在线日韩欧美视频| 亚洲欧美日韩天堂一区二区| 免费永久网站黄欧美| 国产精品看片资源| 亚洲日本va在线观看| 久久中文字幕一区| 伊人春色精品| 久久久久久夜精品精品免费| 欧美在线网站| 一本色道久久综合亚洲91| 美女精品视频一区| 亚洲高清激情| 男人的天堂亚洲在线| 亚洲综合视频一区| 国产精品久久久久久久午夜片| 免费国产一区二区| 久久国产视频网| 午夜一区在线| 午夜综合激情| 亚洲男人的天堂在线观看| 亚洲无吗在线| 欧美巨乳在线| 午夜精品久久久久99热蜜桃导演| 亚洲国产日韩美| 亚洲狠狠婷婷| 亚洲精品在线视频| 狠狠久久综合婷婷不卡| 国产精品影院在线观看| 国产精品香蕉在线观看| 国产精品美女主播在线观看纯欲| 欧美性猛交xxxx乱大交蜜桃| 免费美女久久99| 亚洲欧美日韩综合国产aⅴ| 亚洲一区二区三区色| av成人福利| 亚洲美女av电影| 黄色精品一二区| 亚洲精品视频免费| 久久se精品一区精品二区| 欧美日韩成人综合天天影院| 国内视频精品| 亚洲网友自拍| 欧美日本三级| 久久午夜激情| 欧美日韩免费观看一区| 国产乱码精品一区二区三区不卡 | 久久成人羞羞网站| 久久精品午夜| 欧美激情精品久久久六区热门 | 亚洲视频在线看| 欧美日韩一区二| 亚洲欧洲精品一区二区三区| 欧美怡红院视频一区二区三区| 亚洲欧美www| 久久激情视频| 国产精品久久综合| 亚洲国产影院| 欧美一区二视频在线免费观看| 欧美刺激性大交免费视频 | 国产精品伦子伦免费视频| 黄色另类av| 久久gogo国模裸体人体| 国产精品毛片a∨一区二区三区|国| 亚洲韩国日本中文字幕| 久久精品视频va| 国产亚洲一区二区精品| 欧美在线播放一区| 欧美激情a∨在线视频播放| 亚洲一区二区三区精品视频 | 欧美一级欧美一级在线播放| 欧美激情第五页| 亚洲黑丝在线| 欧美精品久久99久久在免费线|