MCP定時器產生邊沿PWM輸出:PWM波是一種脈寬可調的脈沖波,用于交、直流電機的電壓控制。PWM一共有兩種調整方法,一是定頻調寬、另一種是定寬調頻。其中定頻調寬是種最常見的脈寬調制方式,它使脈沖波的頻率保持不變,只調整脈沖寬度。同時定頻調寬的PWM波形也分為兩種,一種是單邊的PWM,另一種是中心對稱的雙邊PWM。單邊的PWM的生成原理如圖1-2:定時計數器工作在增計數方式,在計數初值設置為0且比較值小于周期值的條件下,當計數值和比較值匹配時置位輸出,而在周期匹配時復位輸出,同時清零計數器,開始下一個循環。因此單邊PWM的占空比為:%100))((×−TPRNTPR(N為比較匹配數據,TPR為周期寄存器的值)。比較值的改變只影響PWM的單邊波形,這便是單邊PWM波形的特點。如果比較值為零,那么PWM將一直輸出高電平;如比較值同周期值相等,則PWM會輸出一個時鐘周期的低電平,占空比近似為0;當比較值大于周期值,那么PWM將一直輸出低電平。
上傳時間: 2013-11-07
上傳用戶:moerwang
微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。 在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址. 對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止. 8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536. MOV AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式 OUT 43H,AL ; j將控制字送入控制寄存器 MOV AL,0 ;計數初值為0 OUT 42H,AL ;將計數初值的低字節送入計數器2 OUT 42H,AL ;將計數初值的高字節送入計數器2 在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV AL, 10110110B ;8253控制字:通道2,先寫低字節,后寫高字節 ;方式3,二進制計數OUT 43H, AL ;寫入控制字MOV DX, 0012H ;被除數高位MOV AX, 35DEH ;被除數低位 DIV ID ;求計數初值n,結果在AX中OUT 42H, AL ;送出低8位MOV AL, AHOUT 42H,AL ;送出高8位IN AL, 61H ;讀入8255A端口B的內容MOV AH, AL ;保護B口的原狀態OR AL, 03H ;使B口后兩位置1,其余位保留OUT 61H,AL ;接通揚聲器,使它發聲
上傳時間: 2013-10-17
上傳用戶:sunjet
為了實現對位移測量的需求,提出了一種基于增量式光電編碼器的位移傳感器的設計方案,并完成系統的軟硬件設計。傳感器硬件部分主要包括增量式光電編碼器、信號的傳輸處理和測量結果的顯示。軟件部分采用匯編語言設計,實時解算測量結果并驅動顯示屏顯示。實際應用表明,該系統具有操作簡便、測試準確的特點,達到了設計要求。
上傳時間: 2014-12-29
上傳用戶:13686209316
J-LINK仿真器詳細教程 flash下載操作等
上傳時間: 2013-11-14
上傳用戶:JamesB
t2定時器測試程序,主要包括初值,控制參數,如何設置中斷等
上傳時間: 2015-04-09
上傳用戶:sssl
很多初學者在用Java布局器自動布局畫界面時,經常遇見不知道如何定義區域大小或按鈕之間的距離等問題。我寫過一篇《實現JAVA手動布局中各個組件能隨窗口變化的方法》的文章,有讀者反映算坐標不好算,問能不能用布局器實現文章中的界面。其實自動布局也可以解決定義區域大小或按鈕之間的距離等問題,只是沒有手動布局那么靈活。下面我就舉一個例子。
上傳時間: 2013-12-18
上傳用戶:xwd2010
本程序是用c++實現的多功能文本編輯器,它除了可以實現一般文本的編輯功能,還增加了保存文檔a(save), 轉為大寫m(large),改為小寫k(small),復制段j(copy),中英文轉換t(language)等功能
上傳時間: 2013-12-23
上傳用戶:wuyuying
一.高精度延時, 是 CPU 測速的基礎 Windows 內部有一個精度非常高的定時器, 精度在微秒級, 但不同的系統這個定時器的頻率不同, 這個頻率與硬件和操作系統都可能有關。 利用 API 函數 QueryPerformanceFrequency 可以得到這個定時器的頻率。 利用 API 函數 QueryPerformanceCounter 可以得到定時器的當前值。 根據要延時的時間和定時器的頻率, 可以算出要延時的時間定時器經過的周期數。 在循環里用 QueryPerformanceCounter 不停的讀出定時器值, 一直到經過了指定周期數再結束循環, 就達到了高精度延時的目的。 高精度延時的程序, 參數: 微秒 二.測速程序 利用 rdtsc 匯編指令可以得到 CPU 內部定時器的值, 每經過一個 CPU 周期, 這個定時器就加一。 如果在一段時間內數得 CPU 的周期數, CPU工作頻率 = 周期數 / 時間 為了不讓其他進程和線程打擾, 必需要設置最高的優先級 以下函數設置當前進程和線程到最高的優先級。 SetPriorityClass(GetCurrentProcess(), REALTIME_PRIORITY_CLASS) SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL) CPU 測速程序的源代碼, 這個程序通過 CPU 在 1/16 秒的時間內經過的周期數計算出工作頻率, 單位 MHz:
上傳時間: 2015-04-29
上傳用戶:iswlkje
7400 2輸入端四與非門 7401 集電極開路2輸入端四與非門 7402 2輸入端四或非門 7403 集電極開路2輸入端四與非門 7404 六反相器 7405 集電極開路六反相器 7406 集電極開路六反相高壓驅動器 7407 集電極開路六正相高壓驅動器 7408 2輸入端四與門 7409 集電極開路2輸入端四與門 7410 3輸入端3與非門 74107 帶清除主從雙J-K觸發器 74109 帶預置清除正觸發雙J-K觸發器 7411 3輸入端3與門 74112 帶預置清除負觸發雙J-K觸發器 7412 開路輸出3輸入端三與非門 74121 單穩態多諧振蕩器 74122 可再觸發單穩態多諧振蕩器 74123 雙可再觸發單穩態多諧振蕩器 74125 三態輸出高有效四總線緩沖門 74126 三態輸出低有效四總線緩沖門 7413 4輸入端雙與非施密特觸發器 74132 2輸入端四與非施密特觸發器 74133 13輸入端與非門 74136 四異或門 74138 3-8線譯碼器/復工器 74139 雙2-4線譯碼器/復工器 7414 六反相施密特觸發器 74145 BCD—十進制譯碼/驅動器 7415 開路輸出3輸入端三與門 74150 16選1數據選擇/多路開關 74151 8選1數據選擇器 74153 雙4選1數據選擇器 74154 4線—16線譯碼器
上傳時間: 2014-01-10
上傳用戶:jackgao
這是一個簡單的小工具,有點類似我們使用form方式設計時,使用behaver方式讓各個form作轉場特效一樣,不過這個工具是針對各個movie clip,相信對一些Art設計師有一定的幫助囉, 使用的是Transition manager方式完成,相信不久會有利用tween class方式的程式產生器吧..其實我還蠻需要的...因為help檔沒有,有時要參考指令,都要上網查一次
上傳時間: 2013-12-17
上傳用戶:hasan2015