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

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

開(kāi)發(fā)周期

  • 單片機在數字化脈沖周期監測裝置中的應用

    摘要:反應堆儀表和控制系統(I&C)的數字化發展方向成為趨勢,反應堆堆外核測量系統的數字化勢在必行。傳統脈沖周期監測裝置通常采用模擬電路設計,但是,周期測量穩定性較差,統計漲落帶來的測量誤差較大。本項目研制數字脈沖周期監測裝置能克服以上缺陷。本文簡單介紹了單片機在數字脈沖周期監測裝置中的應用,并簡要分析了使用80C196KC單片機的原因和在脈沖周期監測裝置中單片機完成的功能和功能實現方法。關鍵詞:脈沖周期監測;80C196KC;C語言;最小二乘擬合法

    標簽: 單片機 中的應用 數字化 周期

    上傳時間: 2013-11-10

    上傳用戶:saharawalker

  • I/O 型單片機使用手冊

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

    標簽: 單片機 使用手冊

    上傳時間: 2013-10-18

    上傳用戶:blacklee

  • 基于HT47C20L的R-F型低電壓八位Mask單片機

    基于HT47C20L的R-F型低電壓八位Mask單片機 HT47C20L 是8 位高性能精簡指令集單片機。單指令周期和兩級流水線結構,使其適合高速應用的場合。特別適用于帶LCD 的低功耗產品,例如:電子計算機、時鐘計數器、游戲產品、電子秤、玩具、溫度計、濕度計、體溫計、電容測量儀,以及其它掌上型LCD 產品,尤其是電池供電的系統。

    標簽: Mask 20L 47C C20

    上傳時間: 2013-11-13

    上傳用戶:assef

  • HT45R35VC/R-F型八位OTP單片機

    HT45R35VC/R-F型八位OTP單片機 HT45R35V 是一款C/R-F 型具有8 位高性能精簡指令集的單片機,專門為需要VFD 功能的產品而設計。 秉承HOLTEK MCU 一般特性,該單片機帶有暫停和喚醒功能,振蕩器選項等等,這些都保證使用者的應用只需極少的外部元器件便可實現。這款單片機專門為直接與VFD 面板相連的VFD 應用而設計。集成C/R-F 功能,外加功耗低、性能良好、I/O 使用靈活、成本低等優勢,使這款單片機可以廣泛應用于VFD 相關產品中,例如家電定時產品,各種消費產品,子系統控制器,其他家電應用等方面。

    標簽: R-F OTP HT 45

    上傳時間: 2013-11-07

    上傳用戶:semi1981

  • TKStudio IDE集成開發環境升級記錄

    1. 文件比較器TKSDiff :a) 二進制比較:支持字體設置和文件改動監測,微調智能比較算法b) 支持文件拖拽,內容替換和插入c) 支持復制選中文本和比較文件的文件名d) 支持選中內容的導出e) 顯示智能比較完成度f) 處理k-flash命令行g) 禁止大文件間的比較h) 修正部分內存越界問題i) 修正消除二進制標題時有時無問題j) 修正目錄比較界面模塊資源泄漏問題k) 修正快速比較設置起始地址 bug

    標簽: TKStudio IDE 集成開發環境 記錄

    上傳時間: 2013-10-13

    上傳用戶:CSUSheep

  • MSP430系列超低功耗16位單片機原理與應用

    MSP430系列超低功耗16位單片機原理與應用TI公司的MSP430系列微控制器是一個近期推出的單片機品種。它在超低功耗和功能集成上都有一定的特色,尤其適合應用在自動信號采集系統、液晶顯示智能化儀器、電池供電便攜式裝置、超長時間連續工作設備等領域。《MSP430系列超低功耗16位單片機原理與應用》對這一系列產品的原理、結構及內部各功能模塊作了詳細的說明,并以方便工程師及程序員使用的方式提供軟件和硬件資料。由于MSP430系列的各個不同型號基本上是這些功能模塊的不同組合,因此,掌握《MSP430系列超低功耗16位單片機原理與應用》的內容對于MSP430系列的原理理解和應用開發都有較大的幫助。《MSP430系列超低功耗16位單片機原理與應用》的內容主要根據TI公司的《MSP430 Family Architecture Guide and Module Library》一書及其他相關技術資料編寫。  《MSP430系列超低功耗16位單片機原理與應用》供高等院校自動化、計算機、電子等專業的教學參考及工程技術人員的實用參考,亦可做為應用技術的培訓教材。MSP430系列超低功耗16位單片機原理與應用 目錄  第1章 MSP430系列1.1 特性與功能1.2 系統關鍵特性1.3 MSP430系列的各種型號??第2章 結構概述2.1 CPU2.2 代碼存儲器?2.3 數據存儲器2.4 運行控制?2.5 外圍模塊2.6 振蕩器、倍頻器和時鐘發生器??第3章 系統復位、中斷和工作模式?3.1 系統復位和初始化3.2 中斷系統結構3.3 中斷處理3.3.1 SFR中的中斷控制位3.3.2 外部中斷3.4 工作模式3.5 低功耗模式3.5.1 低功耗模式0和模式13.5.2 低功耗模式2和模式33.5.3 低功耗模式43.6 低功耗應用要點??第4章 存儲器組織4.1 存儲器中的數據4.2 片內ROM組織4.2.1 ROM表的處理4.2.2 計算分支跳轉和子程序調用4.3 RAM與外圍模塊組織4.3.1 RAM4.3.2 外圍模塊--地址定位4.3.3 外圍模塊--SFR??第5章 16位CPU?5.1 CPU寄存器5.1.1 程序計數器PC5.1.2 系統堆棧指針SP5.1.3 狀態寄存器SR5.1.4 常數發生寄存器CG1和CG2?5.2 尋址模式5.2.1 寄存器模式5.2.2 變址模式5.2.3 符號模式5.2.4 絕對模式5.2.5 間接模式5.2.6 間接增量模式5.2.7 立即模式5.2.8 指令的時鐘周期與長度5.3 指令集概述5.3.1 雙操作數指令5.3.2 單操作數指令5.3.3 條件跳轉5.3.4 模擬指令的簡短格式5.3.5 其他指令5.4 指令分布??第6章 硬件乘法器?6.1 硬件乘法器的操作6.2 硬件乘法器的寄存器6.3 硬件乘法器的SFR位6.4 硬件乘法器的軟件限制6.4.1 硬件乘法器的軟件限制--尋址模式6.4.2 硬件乘法器的軟件限制--中斷程序??第7章 振蕩器與系統時鐘發生器?7.1 晶體振蕩器7.2 處理機時鐘發生器7.3 系統時鐘工作模式7.4 系統時鐘控制寄存器7.4.1 模塊寄存器7.4.2 與系統時鐘發生器相關的SFR位7.5 DCO典型特性??第8章 數字I/O配置?8.1 通用端口P08.1.1 P0的控制寄存器8.1.2 P0的原理圖8.1.3 P0的中斷控制功能8.2 通用端口P1、P28.2.1 P1、P2的控制寄存器8.2.2 P1、P2的原理圖8.2.3 P1、P2的中斷控制功能8.3 通用端口P3、P48.3.1 P3、P4的控制寄存器8.3.2 P3、P4的原理圖8.4 LCD端口8.5 LCD端口--定時器/端口比較器??第9章 通用定時器/端口模塊?9.1 定時器/端口模塊操作9.1.1 定時器/端口計數器TPCNT1--8位操作9.1.2 定時器/端口計數器TPCNT2--8位操作9.1.3 定時器/端口計數器--16位操作9.2 定時器/端口寄存器9.3 定時器/端口SFR位9.4 定時器/端口在A/D中的應用9.4.1 R/D轉換原理9.4.2 分辨率高于8位的轉換??第10章 定時器?10.1 Basic Timer110.1.1 Basic Timer1寄存器10.1.2 SFR位10.1.3 Basic Timer1的操作10.1.4 Basic Timer1的操作--LCD時鐘信號fLCD?10.2 8位間隔定時器/計數器10.2.1 8位定時器/計數器的操作10.2.2 8位定時器/計數器的寄存器10.2.3 與8位定時器/計數器有關的SFR位10.2.4 8位定時器/計數器在UART中的應用10.3 看門狗定時器11.1.3 比較模式11.1.4 輸出單元11.2 TimerA的寄存器11.2.1 TimerA控制寄存器TACTL11.2.2 捕獲/比較控制寄存器CCTL11.2.3 TimerA中斷向量寄存器11.3 TimerA的應用11.3.1 TimerA增計數模式應用11.3.2 TimerA連續模式應用11.3.3 TimerA增/減計數模式應用11.3.4 TimerA軟件捕獲應用11.3.5 TimerA處理異步串行通信協議11.4 TimerA的特殊情況11.4.1 CCR0用做周期寄存器11.4.2 定時器寄存器的啟/停11.4.3 輸出單元Unit0??第12章 USART外圍接口--UART模式?12.1 異步操作12.1.1 異步幀格式12.1.2 異步通信的波特率發生器12.1.3 異步通信格式12.1.4 線路空閑多處理機模式12.1.5 地址位格式12.2 中斷與控制功能12.2.1 USART接收允許12.2.2 USART發送允許12.2.3 USART接收中斷操作12.2.4 USART發送中斷操作12.3 控制與狀態寄存器12.3.1 USART控制寄存器UCTL12.3.2 發送控制寄存器UTCTL12.3.3 接收控制寄存器URCTL12.3.4 波特率選擇和調制控制寄存器12.3.5 USART接收數據緩存URXBUF12.3.6 USART發送數據緩存UTXBUF12.4 UART模式--低功耗模式應用特性12.4.1 由UART幀啟動接收操作12.4.2 時鐘頻率的充分利用與UART模式的波特率12.4.3 節約MSP430資源的多處理機模式12.5 波特率的計算??第13章 USART外圍接口--SPI模式?13.1 USART的同步操作13.1.1 SPI模式中的主模式--MM=1、SYNC=113.1.2 SPI模式中的從模式--MM=0、SYNC=113.2 中斷與控制功能13.2.1 USART接收允許13.2.2 USART發送允許13.2.3 USART接收中斷操作13.2.4 USART發送中斷操作13.3 控制與狀態寄存器13.3.1 USART控制寄存器13.3.2 發送控制寄存器UTCTL13.3.3 接收控制寄存器URCTL13.3.4 波特率選擇和調制控制寄存器13.3.5 USART接收數據緩存URXBUF13.3.6 USART發送數據緩存UTXBUF??第14章 液晶顯示驅動?14.1 LCD驅動基本原理14.2 LCD控制器/驅動器14.2.1 LCD控制器/驅動器功能14.2.2 LCD控制與模式寄存器14.2.3 LCD顯示內存14.2.4 LCD操作軟件例程14.3 LCD端口功能14.4 LCD與端口模式混合應用實例??第15章 A/D轉換器?15.1 概述15.2 A/D轉換操作15.2.1 A/D轉換15.2.2 A/D中斷15.2.3 A/D量程15.2.4 A/D電流源15.2.5 A/D輸入端與多路切換15.2.6 A/D接地與降噪15.2.7 A/D輸入與輸出引腳15.3 A/D控制寄存器??第16章 其他模塊16.1 晶體振蕩器16.2 上電電路16.3 晶振緩沖輸出??附錄A 外圍模塊地址分配?附錄B 指令集描述?B1 指令匯總B2 指令格式B3 不增加ROM開銷的指令模擬B4 指令說明B5 用幾條指令模擬的宏指令??附錄C EPROM編程?C1 EPROM操作C2 快速編程算法C3 通過串行數據鏈路應用\"JTAG\"特性的EPROM模塊編程C4 通過微控制器軟件實現對EPROM模塊編程??附錄D MSP430系列單片機參數表?附錄E MSP430系列單片機產品編碼?附錄F MSP430系列單片機封裝形式?

    標簽: MSP 430 超低功耗 位單片機

    上傳時間: 2014-05-07

    上傳用戶:lwq11

  • 波形發生器,含原理圖+電路圖+源程序

    含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片機核心,配相應的外圍電路和功能軟件,能實現各種波形發生的應用系統,它由硬件部分和軟件部分組成,硬件是系統的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發生的任務。 波形發生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統進行初始化,LED在面板上顯示6個0,表示系統處于初始狀態,等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統進入設置狀態,相應的數碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態后,輸入0~9等數字鍵,(數字鍵僅在設置狀態時,有效)為欲輸出的波形設置相應參數,LED將參數顯示在面板上;4、 如果在設置中,要改變已設定的參數,可按下“CL”鍵,清除所有已設定參數,系統恢復初始狀態,LED顯示6個0,等待重新輸入命令;5、 當必要的參數設定完畢后,所有參數顯示于LED上,用戶按下“EN”鍵,系統會將各波形參數傳遞到波形產生模塊中,以便控制波形發生,實現不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發生器開始輸出滿足參數的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數;7、 波形發生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數,設置過程如上所述,如果不改變參數,可按下“EN”鍵,繼續輸出原波形信號;8、 要停止波形發生器的使用,可按下復位按鈕,將系統復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊)  波形發生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數據傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數器,在波形發生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數碼管動態顯示;           提供響應界面;           掃面鍵盤;           提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態,按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH ,  C口:7FFEH    3、D/A電路功能:將波形樣值的數字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數字編碼,不同的編碼會產生不同的輸出值,在本發生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發生器提供直流能量;構成由變壓器、整流硅堆,穩壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩定,使用7805進行穩壓。最后,+5V電源配送到各用電負載。

    標簽: 波形發生器 原理圖 電路圖 源程序

    上傳時間: 2013-11-08

    上傳用戶:685

  • 單片機音樂中音調和節拍的確定方法

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

    標簽: 單片機 音調

    上傳時間: 2013-10-20

    上傳用戶:哈哈haha

  • PCB可測性設計布線規則之建議―從源頭改善可測率

    P C B 可測性設計布線規則之建議― ― 從源頭改善可測率PCB 設計除需考慮功能性與安全性等要求外,亦需考慮可生產與可測試。這里提供可測性設計建議供設計布線工程師參考。1. 每一個銅箔電路支點,至少需要一個可測試點。如無對應的測試點,將可導致與之相關的開短路不可檢出,并且與之相連的零件會因無測試點而不可測。2. 雙面治具會增加制作成本,且上針板的測試針定位準確度差。所以Layout 時應通過Via Hole 盡可能將測試點放置于同一面。這樣就只要做單面治具即可。3. 測試選點優先級:A.測墊(Test Pad) B.通孔(Through Hole) C.零件腳(Component Lead) D.貫穿孔(Via Hole)(未Mask)。而對于零件腳,應以AI 零件腳及其它較細較短腳為優先,較粗或較長的引腳接觸性誤判多。4. PCB 厚度至少要62mil(1.35mm),厚度少于此值之PCB 容易板彎變形,影響測點精準度,制作治具需特殊處理。5. 避免將測點置于SMT 之PAD 上,因SMT 零件會偏移,故不可靠,且易傷及零件。6. 避免使用過長零件腳(>170mil(4.3mm))或過大的孔(直徑>1.5mm)為測點。7. 對于電池(Battery)最好預留Jumper,在ICT 測試時能有效隔離電池的影響。8. 定位孔要求:(a) 定位孔(Tooling Hole)直徑最好為125mil(3.175mm)及其以上。(b) 每一片PCB 須有2 個定位孔和一個防呆孔(也可說成定位孔,用以預防將PCB反放而導致機器壓破板),且孔內不能沾錫。(c) 選擇以對角線,距離最遠之2 孔為定位孔。(d) 各定位孔(含防呆孔)不應設計成中心對稱,即PCB 旋轉180 度角后仍能放入PCB,這樣,作業員易于反放而致機器壓破板)9. 測試點要求:(e) 兩測點或測點與預鉆孔之中心距不得小于50mil(1.27mm),否則有一測點無法植針。以大于100mil(2.54mm)為佳,其次是75mil(1.905mm)。(f) 測點應離其附近零件(位于同一面者)至少100mil,如為高于3mm 零件,則應至少間距120mil,方便治具制作。(g) 測點應平均分布于PCB 表面,避免局部密度過高,影響治具測試時測試針壓力平衡。(h) 測點直徑最好能不小于35mil(0.9mm),如在上針板,則最好不小于40mil(1.00mm),圓形、正方形均可。小于0.030”(30mil)之測點需額外加工,以導正目標。(i) 測點的Pad 及Via 不應有防焊漆(Solder Mask)。(j) 測點應離板邊或折邊至少100mil。(k) 錫點被實踐證實是最好的測試探針接觸點。因為錫的氧化物較輕且容易刺穿。以錫點作測試點,因接觸不良導致誤判的機會極少且可延長探針使用壽命。錫點尤其以PCB 光板制作時的噴錫點最佳。PCB 裸銅測點,高溫后已氧化,且其硬度高,所以探針接觸電阻變化而致測試誤判率很高。如果裸銅測點在SMT 時加上錫膏再經回流焊固化為錫點,雖可大幅改善,但因助焊劑或吃錫不完全的緣故,仍會出現較多的接觸誤判。

    標簽: PCB 可測性設計 布線規則

    上傳時間: 2014-01-14

    上傳用戶:cylnpy

  • 二: 普通計算器的設計說明: 1 普通計算器的主要功能(普通計算與逆波蘭計算): 1.1主要功能: 包括 a普通加減乘除運算及帶括號的運算 b各類三角與反三角運算(可實現角度與弧度的切換) c邏輯運算

    二: 普通計算器的設計說明: 1 普通計算器的主要功能(普通計算與逆波蘭計算): 1.1主要功能: 包括 a普通加減乘除運算及帶括號的運算 b各類三角與反三角運算(可實現角度與弧度的切換) c邏輯運算, d階乘與分解質因數等 e各種復雜物理常數的記憶功能 f對運算過程的中間變量及上一次運算結果的儲存. G 定積分計算器(只要輸入表達式以及上下限就能將積分結果輸出) H 可編程計算器(只要輸入帶變量的表達式后,再輸入相應的變量的值就能得到相應的結果) I 二進制及八進制的計算器 j十六進制轉化為十進制的功能。 *k (附帶各種進制間的轉化器)。 L幫助與階乘等附屬功能

    標簽: 運算 1.1 計算器 計算

    上傳時間: 2013-11-26

    上傳用戶:yzy6007

主站蜘蛛池模板: 沂源县| 察隅县| 永和县| 马边| 托里县| 津南区| 淳化县| 宜都市| 井研县| 通道| 宁津县| 田阳县| 哈密市| 宁德市| 澎湖县| 鱼台县| 上杭县| 即墨市| 年辖:市辖区| 岱山县| 周口市| 西华县| 金堂县| 临洮县| 丹棱县| 堆龙德庆县| 伊吾县| 五常市| 五寨县| 梓潼县| 玉田县| 丹寨县| 信阳市| 文昌市| 清水河县| 班玛县| 隆昌县| 高密市| 大英县| 清新县| 南和县|