上次寫的是用STM8單片機(jī)中的8位定時器作為軟件延時,采用的是查詢方式。在實際系統(tǒng)中,定時器的應(yīng)用,更多的是采用中斷方式,下面的代碼就給出8位定時器在中斷方式下的應(yīng)用。
實驗程序首先初始化驅(qū)動LED的端口,然后初始化8位的定時器4,最后啟動中斷允許,要記住,一定要將中斷服務(wù)程序的入口地址填寫到中斷向量表中,并且要根據(jù)中斷向量號在正確的位置上填寫。
同樣還是利用ST的開發(fā)工具,生成一個匯編程序的框架,然后修改其中的main.asm,修改后的代碼如下。
編譯通過后,下載到開發(fā)板,運行程序,可以看到LED在閃爍,或者用示波器可以在LED引腳上看到方波。
stm8/
#include "mapping.inc"
; #include "STM8S207S8.INC"
; 涉及到的硬件資源
; LED1定義在PD3
; 下面定義端口D的寄存器地址
PD_ODR EQU $500f
PD_IDR EQU $5010
PD_DDR EQU $5011
PD_CR1 EQU $5012
PD_CR2 EQU $5013
; 定時器4的寄存器定義
TIM4_CR1 EQU $5340
TIM4_IER EQU $5341
TIM4_SR EQU $5342
TIM4_EGR EQU $5343
TIM4_CNTR EQU $5344
TIM4_PSCR EQU $5345
TIM4_ARR EQU $5346
; 定義堆棧空間的起始位置和結(jié)束位置
stack_start.w EQU $stack_segment_start
stack_end.w EQU $stack_segment_end
segment 'rom' ; 下面開始定義一個段,該段位于ROM中
main.l ; 定義復(fù)位后的第一條指令的標(biāo)號(即入口地址)
;
; 首先要初始化堆棧指針
LDW X,#stack_end
LDW SP,X
; 下面初始化IO端口
; PD3設(shè)置成推挽輸出
; PD7設(shè)置成懸浮輸入
LD A,#08
LD PD_DDR,A ; 將PD3設(shè)置成輸出,PD7設(shè)置成輸入
LD A,#08
LD PD_CR1,A ; 將PD3設(shè)置成推挽輸出
LD A,#00
LD PD_CR2,A ;
;
; 下面初始化定時器4
LD A,#$01
LD TIM4_EGR,A ; 允許產(chǎn)生更新事件
LD A,#$07
LD TIM4_PSCR,A ; 計數(shù)器時鐘=主時鐘/128=2MHZ/128
; 相當(dāng)于計數(shù)器周期為64uS
LD A,#255
LD TIM4_ARR,A ; 設(shè)定重裝載時的寄存器值,255是最大值
LD A,#255
LD TIM4_CNTR,A ; 設(shè)定計數(shù)器的初值
; 定時周期=(255+1)*64=16384uS
LD A,#$01 ; b0 = 1,允許計數(shù)器工作
; b1 = 0,允許更新
LD TIM4_CR1,A ; 設(shè)置控制器,啟動定時器
LD A,#$01 ; 允許更新中斷
LD TIM4_IER,A ;
RIM ; 允許CPU全局中斷
MAIN_LOOP.L
JRA MAIN_LOOP ; 進(jìn)入無限循環(huán)
; 下面是定時器4的中斷服務(wù)程序
TIMER4_ISR.L
LD A,#0 ; 清除更新標(biāo)志
LD TIM4_SR,A
LD A,PD_ODR ; 將LED驅(qū)動信號取反
XOR A,#$08
LD PD_ODR,A ; LED閃爍頻率=2MHZ/128/256/2=30.5
IRET ; 中斷返回
interrupt NonHandledInterrupt
NonHandledInterrupt.l
iret
; 下面定義中斷向量表
segment 'vectit'
dc.l {$82000000+main} ; reset
dc.l {$82000000+NonHandledInterrupt} ; trap
dc.l {$82000000+NonHandledInterrupt} ; irq0
dc.l {$82000000+NonHandledInterrupt} ; irq1
dc.l {$82000000+NonHandledInterrupt} ; irq2
dc.l {$82000000+NonHandledInterrupt} ; irq3
dc.l {$82000000+NonHandledInterrupt} ; irq4
dc.l {$82000000+NonHandledInterrupt} ; irq5
dc.l {$82000000+NonHandledInterrupt} ; irq6
dc.l {$82000000+NonHandledInterrupt} ; irq7
dc.l {$82000000+NonHandledInterrupt} ; irq8
dc.l {$82000000+NonHandledInterrupt} ; irq9
dc.l {$82000000+NonHandledInterrupt} ; irq10
dc.l {$82000000+NonHandledInterrupt} ; irq11
dc.l {$82000000+NonHandledInterrupt} ; irq12
上一篇:STM8與匯編語言(6)--8位定時器應(yīng)用之一
下一篇:STM8與匯編語言(8)--16位定時器應(yīng)用
推薦閱讀
史海拾趣
在電子產(chǎn)品領(lǐng)域,品質(zhì)是贏得消費者信任的關(guān)鍵。Elite深知這一點,因此在生產(chǎn)過程中嚴(yán)格把控每一個環(huán)節(jié),確保產(chǎn)品的品質(zhì)達(dá)到最高標(biāo)準(zhǔn)。公司建立了完善的質(zhì)量管理體系,從原材料采購到生產(chǎn)流程,再到產(chǎn)品檢驗,都嚴(yán)格遵循國際標(biāo)準(zhǔn)和行業(yè)規(guī)范。這種對品質(zhì)的堅持,讓Elite的產(chǎn)品在市場上贏得了良好的口碑,也為公司贏得了眾多合作伙伴的信任。
長運通注重與高校和研究機(jī)構(gòu)的合作,積極引進(jìn)和培養(yǎng)人才。公司與電子科技大學(xué)、西安電子科技大學(xué)等知名高校建立了緊密的合作關(guān)系,共同開展技術(shù)研發(fā)和人才培養(yǎng)。通過與高校的合作,長運通不僅獲得了更多的技術(shù)資源支持,也為公司培養(yǎng)了一批高素質(zhì)的研發(fā)人才。這些人才為公司的發(fā)展提供了強(qiáng)有力的支撐。
作為一家高新技術(shù)企業(yè),長運通深知技術(shù)創(chuàng)新的重要性。公司投入大量資源用于研發(fā),不斷推出具有競爭力的新產(chǎn)品。例如,在電源管理IC領(lǐng)域,長運通成功研發(fā)出多款高性能、低功耗的產(chǎn)品,滿足了客戶對于高效、穩(wěn)定電源管理的需求。在LED光源方面,公司也取得了多項技術(shù)突破,推出了多款高效、環(huán)保的LED照明產(chǎn)品。這些技術(shù)突破和創(chuàng)新不僅提升了公司的市場競爭力,也為公司贏得了更多的客戶信任。
在追求持續(xù)增長的道路上,CUI Inc.采取了一項重要舉措——收購加拿大電源制造商Tectrol Inc.。這次收購為CUI帶來了豐富的產(chǎn)品線和技術(shù)資源,尤其是Tectrol在標(biāo)準(zhǔn)和定制電源解決方案方面的領(lǐng)先設(shè)計能力和制造能力。通過整合Tectrol的技術(shù)和資源,CUI進(jìn)一步鞏固了其在電源設(shè)計領(lǐng)域的領(lǐng)先地位,并為其未來的發(fā)展奠定了堅實的基礎(chǔ)。
CUI Inc.一直堅信,與客戶的緊密合作是其成功的關(guān)鍵。因此,公司始終致力于與客戶發(fā)展協(xié)作性伙伴關(guān)系。通過深入了解客戶的需求和反饋,CUI不斷優(yōu)化其產(chǎn)品和服務(wù),以滿足客戶的期望。這種以客戶為中心的經(jīng)營理念不僅贏得了客戶的忠誠和支持,還為CUI帶來了持續(xù)的業(yè)務(wù)增長和市場份額的擴(kuò)大。
這些故事只是CUI Inc.在電子行業(yè)中發(fā)展起來的一部分可能情況。實際上,CUI的發(fā)展可能涉及更多的戰(zhàn)略決策、市場變化和技術(shù)突破。如果需要更具體、詳細(xì)的故事,建議查閱相關(guān)的行業(yè)報告、公司年報或新聞資訊。
隨著集成電路技術(shù)的快速發(fā)展,對先進(jìn)IC供電的需求日益增長。為了應(yīng)對這一挑戰(zhàn),CUI Inc.推出了90A數(shù)字負(fù)載點模塊系列。這些模塊采用先進(jìn)的封裝技術(shù)和設(shè)計,具有高電流輸出和優(yōu)異的性能表現(xiàn)。它們的推出不僅滿足了客戶對高效、可靠供電的需求,還進(jìn)一步提升了CUI在電源領(lǐng)域的競爭力。
為了方便大家使用windowsce6,我們把開發(fā)所用的軟件上傳到服務(wù)器,很大(10G左右),但因為某些原因,我們暫時無法在此公開下載地址。 此處提供的wince6為破解版,里面有安裝密碼。 http://www.arm9home.net/read.php?tid-4349.html… 查看全部問答∨ |
|
目錄: 符號說明 第一章 緒論 1、什么是脈沖和脈沖電路 2、什么是數(shù)字信號和數(shù)字電路 3、脈沖數(shù)字電路的發(fā)展和應(yīng)用 4、什么叫二進(jìn)制 5、本書內(nèi)容提要 第二章 RC電路 1、引言 2、電容 3、電容充放電規(guī)律 4、簡單RC電路分析 5、RC電路 ...… 查看全部問答∨ |
|
給喜歡玩轉(zhuǎn)linux系統(tǒng)或愛好嵌入式linux的朋友推薦一個項目 開源項目maxwit linux,從零開始,一步步打造整個嵌入式linux系統(tǒng) 沒有開放板的朋友可以在模擬器中跑 玩maxwit linux的好處類似于玩LFS——有助于理解整個linux,強(qiáng)化linux使用技能,無論對linux使用者還是開發(fā)者都有好處 不過與lfs或其他開源項 ...… 查看全部問答∨ |
|
求助:Gcc提示carriage return in preprocessing directive 我在PC上用Redhat自帶的gcc編譯通過的一段程序改用arm-elf-gcc編譯 在處理頭文件的時候遇到carriage return in preprocessing directive的錯誤信息 問題行都是預(yù)編譯指令 #ifndef mode_h #define mode_h "$Id_$" #endif 這是什么原因呢? ...… 查看全部問答∨ |
|
在Windows mobile 6中開發(fā)接打電話的程序使用TAPI,在接收到響鈴3聲后執(zhí)行l(wèi)ineAnswer函數(shù)應(yīng)答,但是無效。怎么實現(xiàn)自動摘機(jī),或者屏蔽調(diào)系統(tǒng)的應(yīng)答功能呢!謝謝!… 查看全部問答∨ |
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦
- 英飛凌微控制器:以全新實惠套件和強(qiáng)大開發(fā)環(huán)境為開發(fā)者提供支持
- iTOP-i.MX6開發(fā)板設(shè)備數(shù)驅(qū)動Menuconfig的用法
- 迅為IMX6ULL開發(fā)板Qt for Android搭建開發(fā)環(huán)境
- 迅為i.MX8M mini開發(fā)板Windots QT系統(tǒng)開發(fā)環(huán)境搭建
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)使用Gstarwmra(一)
- 迅為IMX8M mini開發(fā)板Linix系統(tǒng)修改默認(rèn)屏幕
- iTOP-4412開發(fā)板支持4G以上文件系統(tǒng)擴(kuò)展
- 迅為IMX8MM開發(fā)板Yocto系統(tǒng)設(shè)置開機(jī)自啟動
- 迅為IMX6Q開發(fā)板 Buildroot文件系統(tǒng)mqtt測試
- 何為接近開關(guān)?如何調(diào)試接近開關(guān)
- 具身智能浪潮反思:中國制造業(yè)需要什么樣的協(xié)作機(jī)器人?
- 影響接近開關(guān)工作距離的因素有哪些?使用接近開關(guān)有哪些注意事項
- 如何安裝接近開關(guān)?接近開關(guān)如何正確接線?
- 羅克韋爾自動化攜手上海氣候周開啟“氣候燈塔”新紀(jì)元,氣候燈塔評價通用規(guī)范推進(jìn)成效初顯
- 高速數(shù)據(jù)傳輸:構(gòu)建嵌入式視覺的未來
- 伊士曼上海車展首秀,多元創(chuàng)新產(chǎn)品引領(lǐng)新能源汽車玻璃革新
- 接近開關(guān)有哪些功能?如何判斷接近開關(guān)是否已經(jīng)損壞
- 從專業(yè)應(yīng)用到大眾市場:Qorvo QPF5100Q UWB SoC芯片如何改變游戲規(guī)則
- 接近開關(guān)有哪些分類?接近開關(guān)損壞的原因有哪些
- ARM CMSIS Driver 學(xué)習(xí) 之 SPI
- STM32F103C8T6通過MAX31865讀取PT100電阻值
- STM32 延時函數(shù)解析
- STM32硬件調(diào)試過程遇中到Delay_ms()函數(shù)卡死的問題
- stm32F4 時基定時器(2)
- 84歲老程序員告訴你:年紀(jì)大的程序員去哪了?
- Semtech的LoRa技術(shù)作為領(lǐng)先物聯(lián)網(wǎng)(IoT)平臺在中國擴(kuò)大應(yīng)用范圍
- 國家集成電路產(chǎn)業(yè)投資基金總裁丁文武一行調(diào)研基本半導(dǎo)體
- 半導(dǎo)體當(dāng)下時代版本——GaN
- 紫光展示從“芯”到“云”產(chǎn)業(yè)生態(tài)鏈