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

蟲蟲首頁(yè)| 資源下載| 資源專輯| 精品軟件
登錄| 注冊(cè)

宏晶<b>科技</b>

  • j1939 附錄a附錄b

    j1939 附錄a附錄b

    標(biāo)簽: j1939

    上傳時(shí)間: 2022-06-09

    上傳用戶:

  • 工業(yè)儀表顯示,收音機(jī)LCD驅(qū)動(dòng),音箱/音響LCD段碼屏驅(qū)動(dòng):VK2C21A/B/C/D(裸片可訂貨)

    產(chǎn)品型號(hào):VK2C21A/B/C/D 產(chǎn)品品牌:VINKA/永嘉微/永嘉微電 封裝形式:SOP28/24/20/16 裸片:DICE(邦定COB)/COG(邦定玻璃用) 產(chǎn)品年份:新年份 聯(lián) 系 人:許碩  Q Q:191 888 5898 聯(lián)系手機(jī):18898582398(信) 原廠直銷,工程服務(wù),技術(shù)支持,價(jià)格最具優(yōu)勢(shì)!QT459 VK2C21A/B/C/D概述: VK2C21是一個(gè)點(diǎn)陣式存儲(chǔ)映射的LCD驅(qū)動(dòng)器,可支持最大80點(diǎn)(20SEGx4COM)或者最大128點(diǎn)(16SEGx8COM)的LCD屏。單片機(jī)可通過(guò)I2C接口配置顯示參數(shù)和讀寫顯示數(shù)據(jù),也可通過(guò)指令進(jìn)入省電模式。其高抗干擾,低功耗的特性適用于水電氣表以及工控儀表類產(chǎn)品。 特點(diǎn): ★  工作電壓 2.4-5.5V ★  內(nèi)置32 kHz RC振蕩器 ★  偏置電壓(BIAS)可配置為1/3、1/4 ★  COM周期(DUTY)可配置為1/4、1/8 ★  內(nèi)置顯示RAM為20x4位、16x8位 ★  幀頻可配置為80Hz、160Hz ★  省電模式(通過(guò)關(guān)顯示和關(guān)振蕩器進(jìn)入)

    標(biāo)簽: VK2C21 VK2C21A VK2C21B VK2C21C VK2C21D LCD抗干擾段碼屏驅(qū)動(dòng) 段碼屏驅(qū)動(dòng)抗干擾

    上傳時(shí)間: 2022-06-09

    上傳用戶:2937735731

  • NTC計(jì)算公式 溫度公式B值計(jì)算法

    描述了NTC使用B值計(jì)算出實(shí)際溫度與輸出的電壓之間的關(guān)系。

    標(biāo)簽: ntc計(jì)算

    上傳時(shí)間: 2022-06-15

    上傳用戶:

  • Quectel Wireless Solutions BC20-TE-B 原理圖 V1.2

    BC20-TE-B NB-Iot 評(píng)估板評(píng)估板原廠原理圖V1.2。完整對(duì)應(yīng)實(shí)物裝置。

    標(biāo)簽: BC20 NB-Iot Quectel

    上傳時(shí)間: 2022-06-17

    上傳用戶:

  • ASR M08-B資料

    ASR M08-B設(shè)置軟件 V3.2  arduino 2560+ASRM08-B測(cè)試程序  arduino UNO+ASRM08-B測(cè)試程序語(yǔ)音控制臺(tái)燈電路圖及C51源碼(不帶校驗(yàn)碼) 繼電器模塊設(shè)置。   ASR M08-B是一款語(yǔ)音識(shí)別模塊。首先對(duì)模塊添加一些關(guān)鍵字,對(duì)著該模塊說(shuō)出關(guān)鍵字,串口會(huì)返回三位的數(shù),如果是返回特定的三位數(shù)字,還會(huì)引起ASR M08-B的相關(guān)引腳電平的變化。【測(cè)試】①打開“ASR M08-B設(shè)置軟件 V3.2.exe”。②選擇“串口號(hào)”、“打開串口”、點(diǎn)選“十六進(jìn)制顯示”。③將USB轉(zhuǎn)串口模塊連接到語(yǔ)音識(shí)別模塊上。接線方法如下:語(yǔ)音模塊TXD --> USB模塊RXD語(yǔ)音模塊RXD --> USB模塊TXD語(yǔ)音模塊GND --> USB模塊GND語(yǔ)音模塊3V3 --> USB模塊3V3(此端為3.3V電源供電端。)④將模塊的開關(guān)撥到“A”端,最好再按一次上面的大按鈕(按一次即可,為了確保模塊工作在正確的模式)。⑤對(duì)著模塊說(shuō)“開燈”、“關(guān)燈”模塊會(huì)返回“0B”、“0A”,表示正常(注意:0B對(duì)應(yīng)返回值010,0B對(duì)應(yīng)返回值010,返回是16進(jìn)制顯示的嘛,設(shè)置的時(shí)候是10進(jìn)制設(shè)置的)。

    標(biāo)簽: ASR M08-B

    上傳時(shí)間: 2022-07-06

    上傳用戶:aben

  • 基于嵌入式ARM的遠(yuǎn)程視頻監(jiān)控系統(tǒng)研究

    隨著科技的進(jìn)步,視頻監(jiān)控系統(tǒng)正在向嵌入式、數(shù)字化、網(wǎng)絡(luò)化方向發(fā)展。嵌入式視頻監(jiān)控系統(tǒng)充分利用大規(guī)模集成電路和網(wǎng)絡(luò)的科技成果,實(shí)現(xiàn)了體積小巧、性能穩(wěn)定、通訊便利的監(jiān)控產(chǎn)品。 本文以S3C2410為核心硬件平臺(tái)開發(fā)了基于嵌入式的遠(yuǎn)程視頻監(jiān)控系統(tǒng),并對(duì)關(guān)鍵技術(shù)進(jìn)行了論述和研究。首先給出了系統(tǒng)總體軟硬件設(shè)計(jì)方案,針對(duì)本系統(tǒng)硬件對(duì)vivi進(jìn)行了修改和移植,對(duì)編譯和移植Linux內(nèi)核以及制作YAFFS文件系統(tǒng)也做了深入的研究,重點(diǎn)討論了在嵌入式Linux操作系統(tǒng)下開發(fā)USB接口攝像頭驅(qū)動(dòng)程序和利用linux提供的Video4Linux API函數(shù)實(shí)現(xiàn)視頻數(shù)據(jù)采集,其次采用背景差法實(shí)現(xiàn)了對(duì)視頻圖像中運(yùn)動(dòng)目標(biāo)的檢測(cè),然后通過(guò)MJPEG壓縮算法實(shí)現(xiàn)了視頻數(shù)據(jù)壓縮,接著介紹了在Linux下基于TCP/IP協(xié)議的socket編程,實(shí)現(xiàn)了視頻數(shù)據(jù)的網(wǎng)絡(luò)發(fā)送。最后著重論述了嵌入式Web服務(wù)器的設(shè)計(jì),編寫了視頻監(jiān)控主界面程序,并實(shí)現(xiàn)了基于B/S模式的視頻監(jiān)控系統(tǒng)結(jié)構(gòu)。 本系統(tǒng)采用模塊化設(shè)計(jì)方法,使得設(shè)計(jì)更加簡(jiǎn)潔、高效,具有良好的擴(kuò)展性和易用性,有利于系統(tǒng)升級(jí)。另外采用嵌入式的方法,系統(tǒng)成本較低,易于推廣使用。

    標(biāo)簽: ARM 嵌入式 遠(yuǎn)程視頻監(jiān)控 系統(tǒng)研究

    上傳時(shí)間: 2013-04-24

    上傳用戶:小楓殘?jiān)?/p>

  • 零序電流互感器

    AL-LJ(K)系列零序電流互感器 保定奧蘭電氣科技有限責(zé)任公司生產(chǎn)的AL-LJ(K)系列零序電流互感器經(jīng)電力工業(yè)部電氣設(shè)備質(zhì)量檢測(cè)中心檢測(cè),質(zhì)量?jī)?yōu)于國(guó)標(biāo)GB1208-1997《電流互感器》,具有精度高,線性度好,運(yùn)行可靠,安裝方便,外型美觀等特點(diǎn)。 零序電流互感器(電纜型)的孔徑范圍為Ф40~Ф360,有各種容量、變比、準(zhǔn)確限值系數(shù),可與小電流接地選線裝置、繼電器、儀表等配套使用,實(shí)現(xiàn)對(duì)系統(tǒng)的檢測(cè)和保護(hù)。裝置具有靈敏度高,線性度好等優(yōu)點(diǎn)。產(chǎn)品分整體式和組合式兩類。互感器采用工程塑料外殼、樹脂澆注全密封;外型美觀、安裝方便、節(jié)省安裝空間、規(guī)格品種多,可適用各種保護(hù)裝置和電力系統(tǒng)各種運(yùn)行方式(中性點(diǎn)接地,中性點(diǎn)不接地,大電阻接地,小電阻接地和消弧線圈接地)的需要。 空格:用于小電流接地選線裝置 A:與DD11/60型繼電器配合使用 J:用于微機(jī)型繼電保護(hù) B:與DL11/0.2型繼電器配合使用 保定市奧蘭電氣科技有限責(zé)任公司開發(fā)生產(chǎn)的零序電流互感器是一種套在電纜上的CT,它的一次繞組為穿過(guò)CT內(nèi)孔的三相一次導(dǎo)體電纜,它的一次電流是一次三相電流的向量和(在正常、三相平衡時(shí)為0),當(dāng)發(fā)生一次系統(tǒng)單相接地時(shí)三相平衡關(guān)系被打破,這時(shí)零序電流互感器的二次就有電流輸出,供給保護(hù)裝置,實(shí)現(xiàn)保護(hù)和監(jiān)控。 零序電流互感器的一次絕緣就是電纜自身絕緣,所以這種零序電流互感器可以套在任一電壓等級(jí)的電纜上。

    標(biāo)簽: 零序電流互感器

    上傳時(shí)間: 2013-10-30

    上傳用戶:fengzimili

  • I/O 型單片機(jī)使用手冊(cè)

    I/O 型單片機(jī)使用手冊(cè) 目錄 間接尋址寄存器 – IAR, IAR0, IAR1 .............................................35間接尋址指針 – MP, MP0, MP1 ......................................................35存儲(chǔ)區(qū)指針 – BP .........................................................................36累加器 – ACC...................................................................................37程序計(jì)數(shù)器低字節(jié)寄存器 – PCL....................................................37表格寄存器 – TBLP,TBHP,TBLH....................................................37看門狗定時(shí)寄存器 – WDTS............................................................38狀態(tài)寄存器 – STATUS.....................................................................38中斷控制寄存器 – INTC,INTC0,INTC1 .........................................39定時(shí)/計(jì)數(shù)寄存器...............................................................................39輸入/輸出端口和控制寄存器...........................................................40UART 寄存器 .USR,UCR1,UCR2,TXR/RXR,BRG.......................40輸入/輸出端口..........................................................................................41上拉電阻............................................................................................41PA 口的喚醒......................................................................................41輸入/輸出端口控制寄存器...............................................................41引腳共享功能....................................................................................42編程注意事項(xiàng)....................................................................................45定時(shí)/計(jì)數(shù)器..............................................................................................46配置定時(shí)/計(jì)數(shù)器輸入時(shí)鐘源...........................................................47定時(shí)/計(jì)數(shù)寄存器 – TMR, TMR0,TMR0L/TMR0H,TMR1L/TMR1H,TMR2.....................................................................49定時(shí)/計(jì)數(shù)控制寄存器 – TMRC,TMR0C,TMR1C,TMR2C............50定時(shí)器模式........................................................................................53事件計(jì)數(shù)器模式................................................................................53脈沖寬度測(cè)量模式............................................................................54可編程分頻器(PFD)和蜂鳴器的應(yīng)用..............................................55預(yù)分頻器(Prescaler)...........................................................................56輸入/輸出接口...................................................................................56編程注意事項(xiàng)....................................................................................57定時(shí)/計(jì)數(shù)器應(yīng)用范例.......................................................................57中斷............................................................................................................59中斷寄存器........................................................................................59中斷優(yōu)先權(quán)........................................................................................62外部中斷............................................................................................63定時(shí)/計(jì)數(shù)器中斷...............................................................................64UART 中斷........................................................................................64編程注意事項(xiàng)....................................................................................65復(fù)位和初始化............................................................................................66復(fù)位....................................................................................................66目錄iii異步串行口——UART............................................................................74UART 特性..........................................................................................74UART 外部引腳..................................................................................74數(shù)據(jù)發(fā)送.............................................................................................75UART 狀態(tài)控制寄存器......................................................................75波特率發(fā)生器.....................................................................................79UART 設(shè)置與控制..............................................................................81UART 發(fā)送器......................................................................................83UART 接收器......................................................................................84接收錯(cuò)誤處理.....................................................................................85接收中斷圖解.....................................................................................86地址檢測(cè)模式.....................................................................................86暫停模式下的UART 功能.................................................................87UART 應(yīng)用范例.................................................................................87振蕩器........................................................................................................89系統(tǒng)時(shí)鐘配置....................................................................................89系統(tǒng)晶體/陶瓷振蕩器.......................................................................89系統(tǒng)電阻電容振蕩器........................................................................90內(nèi)部系統(tǒng)電阻電容振蕩器................................................................90RTC 振蕩器........................................................................................91看門狗定時(shí)振蕩器............................................................................91暫停和喚醒................................................................................................92暫停.....................................................................................................92進(jìn)入暫停.............................................................................................92靜態(tài)電流.............................................................................................92喚醒....................................................................................................92看門狗定時(shí)器............................................................................................94掩膜選項(xiàng)....................................................................................................96應(yīng)用電路....................................................................................................97第二部份 程序語(yǔ)言.....................................................................99第二章 指令集介紹.................................................................................101指令集......................................................................................................101指令周期..........................................................................................101數(shù)據(jù)的傳送......................................................................................101算術(shù)運(yùn)算..........................................................................................102邏輯和移位運(yùn)算..............................................................................102分支和控制的轉(zhuǎn)換..........................................................................102位運(yùn)算..............................................................................................102查表運(yùn)算..........................................................................................103其它運(yùn)算..........................................................................................103指令設(shè)定一覽表......................................................................................104慣例..................................................................................................104I/O 型單片機(jī)使用手冊(cè)iv第三章 指令定義.....................................................................................107第四章 匯編語(yǔ)言和編譯器.....................................................................121常用符號(hào)..................................................................................................121語(yǔ)句語(yǔ)法..................................................................................................122名稱..................................................................................................122操作項(xiàng)..............................................................................................122操作數(shù)項(xiàng)..........................................................................................122注解..................................................................................................122編譯偽指令..............................................................................................123條件編譯偽指令..............................................................................123文件控制偽指令..............................................................................124程序偽指令......................................................................................126數(shù)據(jù)定義偽指令..............................................................................130宏指令..............................................................................................132匯編語(yǔ)言指令..........................................................................................136名稱..................................................................................................136助記符..............................................................................................136操作數(shù)、運(yùn)算子和表達(dá)式..............................................................136其它..........................................................................................................139前置引用..........................................................................................139局部標(biāo)號(hào)..........................................................................................139匯編語(yǔ)言保留字..............................................................................140編譯器選項(xiàng)..............................................................................................141編譯列表文件格式..................................................................................141源程序列表......................................................................................141編譯總結(jié)..........................................................................................142其它..................................................................................................142第三部份 開發(fā)工具................................................................... 145第五章 單片機(jī)開發(fā)工具.........................................................................147HT-IDE 集成開發(fā)環(huán)境............................................................................147盛群?jiǎn)纹瑱C(jī)仿真器(HT-ICE) ..................................................................149HT-ICE 接口卡.................................................................................149OTP 燒寫器.....................................................................................149OTP 適配卡.....................................................................................149系統(tǒng)配置..................................................................................................150HT-ICE 接口卡設(shè)置........................................................................151安裝..........................................................................................................153系統(tǒng)要求..........................................................................................153硬件安裝..........................................................................................153軟件安裝..........................................................................................154目錄v第六章 快速開始.....................................................................................159步驟一:建立一個(gè)新項(xiàng)目..............................................................159步驟二:將源程序文件加到項(xiàng)目中..............................................159步驟三:編譯項(xiàng)目..........................................................................159步驟四:燒寫OTP 單片機(jī).............................................................160步驟五:傳送程序與掩膜選項(xiàng)單至Holtek ..................................160附錄............................................................................................... 161附錄A 特性曲線圖...................................................................................163附錄B 封裝信息.......................................................................................173

    標(biāo)簽: 單片機(jī) 使用手冊(cè)

    上傳時(shí)間: 2013-10-18

    上傳用戶:blacklee

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

    單片機(jī)音樂(lè)中音調(diào)和節(jié)拍的確定方法:調(diào)號(hào)-音樂(lè)上指用以確定樂(lè)曲主音高度的符號(hào)。很明顯一個(gè)八度就有12個(gè)半音。A、B、C、D、E、F、G。經(jīng)過(guò)聲學(xué)家的研究,全世界都用這些字母來(lái)表示固定的音高。比如,A這個(gè)音,標(biāo)準(zhǔn)的音高為每秒鐘振動(dòng)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,就是說(shuō),這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說(shuō),這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說(shuō)“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來(lái)的高低是不一樣的。各調(diào)的對(duì)應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂(lè)時(shí)音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對(duì)單片機(jī)演奏音樂(lè)比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識(shí)做一些簡(jiǎn)介,但愿能對(duì)單片機(jī)演奏音樂(lè)比較有興趣而又不知其解的朋友能有所啟迪。 一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。 在音樂(lè)中所謂“音調(diào)”,其實(shí)就是我們常說(shuō)的“音高”。在音樂(lè)中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個(gè)聲音信號(hào)的頻率相差一倍時(shí),也即f2=2f1時(shí),則稱f2比f(wàn)1高一個(gè)倍頻程, 在音樂(lè)中1(do)與 ,2(來(lái))與 ……正好相差一個(gè)倍頻程,在音樂(lè)學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度音內(nèi),有12個(gè)半音。以1—i八音區(qū)為例, 12個(gè)半音是: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個(gè)音階的分度基本上是以對(duì)數(shù)關(guān)系來(lái)劃分的。如果我們只要知道了這十二個(gè)音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個(gè)音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說(shuō)來(lái),常采用的方法就是通過(guò)單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反,或者說(shuō)來(lái)回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時(shí)器予置不同的定時(shí)值就可實(shí)現(xiàn)。那么怎樣確定一個(gè)頻率所對(duì)應(yīng)的定時(shí)器的定時(shí)值呢?以標(biāo)準(zhǔn)音高A為例:   A的頻率f = 440 Hz,其對(duì)應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反的時(shí)間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個(gè)時(shí)間t也就是單片機(jī)上定時(shí)器應(yīng)有的中斷觸發(fā)時(shí)間。一般情況下,單片機(jī)奏樂(lè)時(shí),其定時(shí)器為工作方式1,它以振蕩器的十二分頻信號(hào)為計(jì)數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時(shí)器的予置初值由下式來(lái)確定:    t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時(shí)器待確定的計(jì)數(shù)初值。因此定時(shí)器的高低計(jì)數(shù)器的初值為:     TH = THL / 256 = ( TALL – t* f0/12) / 256    TL = THL % 256 = ( TALL – t* f0/12) %256  將t=1136μs代入上面兩式(注意:計(jì)算時(shí)應(yīng)將時(shí)間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值為 :    TH440Hz = (65536 – 1136 * 12/12) /256 = FBH    TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計(jì)數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來(lái)說(shuō)明。在一張樂(lè)譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如1=C  、1=G …… 等等,這里1=C,1=G表示樂(lè)譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來(lái)表示節(jié)拍的。以 為例加以說(shuō)明,它表示樂(lè)譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如:      其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),3、4的時(shí)長(zhǎng)為八分音符的一半,即為十六分音符長(zhǎng),5的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),6的時(shí)長(zhǎng)為四分音符長(zhǎng)。那么一拍到底該唱多長(zhǎng)呢?一般說(shuō)來(lái),如果樂(lè)曲沒有特殊說(shuō)明,一拍的時(shí)長(zhǎng)大約為400—500ms 。我們以一拍的時(shí)長(zhǎng)為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長(zhǎng)就為400ms,八分音符的時(shí)長(zhǎng)就為200ms,十六分音符的時(shí)長(zhǎng)就為100ms。可見,在單片機(jī)上控制一個(gè)音符唱多長(zhǎng)可采用循環(huán)延時(shí)的方法來(lái)實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長(zhǎng)的延時(shí)程序,比如說(shuō)以十六分音符的時(shí)長(zhǎng)為基本延時(shí)時(shí)間,那么,對(duì)于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類推。通過(guò)上面關(guān)于一個(gè)音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂(lè)了。具體的實(shí)現(xiàn)方法為:將樂(lè)譜中的每個(gè)音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲(chǔ)器中,通過(guò)程序取出一個(gè)音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個(gè)音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個(gè)音符,根據(jù)需要也可循環(huán)不停地播放整個(gè)樂(lè)曲。另外,對(duì)于樂(lè)曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂(lè)曲結(jié)束用節(jié)拍參數(shù)為00H來(lái)表示。下面給出部分音符(三個(gè)八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(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)

    上傳時(shí)間: 2013-10-20

    上傳用戶:哈哈haha

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

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

    上傳時(shí)間: 2013-10-17

    上傳用戶:gai928943

主站蜘蛛池模板: 巴林右旗| 嫩江县| 桐城市| 泾川县| 枣强县| 新建县| 天门市| 仁化县| 余江县| 河池市| 阳原县| 彝良县| 瑞昌市| 三江| 松潘县| 武隆县| 榕江县| 若尔盖县| 衡阳市| 三明市| 健康| 陇西县| 武宁县| 涟水县| 枝江市| 黎城县| 隆化县| 嵊州市| 上犹县| 定西市| 安国市| 五河县| 无为县| 革吉县| 婺源县| 台东市| 奎屯市| 阳谷县| 昌都县| 隆安县| 日土县|