娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2024年10月11日(星期五)

正在發生

2021年10月11日 | STM8與匯編語言(6)--8位定時器應用之一

發布者:夢中徐來 來源: eefocus關鍵字:STM8  匯編語言  8位定時器 手機看文章 掃描二維碼
隨時隨地手機看文章

STM8單片機中的外設資源是比較豐富的,定時器有8位的也有16位的,下面的實驗程序,就是利用8位定時器4來進行延時,然后驅動LED閃爍。


同樣還是利用ST的開發工具,生成一個匯編程序的框架,然后修改其中的main.asm,修改后的代碼如下。


編譯通過后,下載到開發板,運行程序,可以看到LED在閃爍,或者用示波器可以在LED引腳上看到方波。


在這里要特別提醒的是,從ST給的手冊上看,這個定時器中的計數器是一個加1計數器,但本人在實驗過程中感覺不太對,經過反復的實驗,我認為應該是一個減1計數器(也許是我拿的手冊不對,或許是理解上有誤)。例如,當給定時器中的自動裝載寄存器裝入255時,產生的方波頻率最小,就象下面代碼中計算的那樣,產生的方波頻率為30HZ左右。若初始化時給自動裝載寄存器裝入1,則產生的方波頻率最大,大約為3.9K左右。也就是說實際的分頻數為ARR寄存器的值+1。


stm8/


      #include "mapping.inc"

     

;     #include "STM8S207S8.INC"



; 涉及到的硬件資源

; 下面定義端口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



; 定義堆棧空間的起始位置和結束位置

stack_start.w  EQU   $stack_segment_start

stack_end.w   EQU    $stack_segment_end





             segment 'rom'         ; 下面開始定義一個段,該段位于ROM中

main.l                        ; 定義復位后的第一條指令的標號(即入口地址)

;

; 首先要初始化堆棧指針

             LDW    X,#stack_end       

             LDW    SP,X



; 下面初始化IO端口

; PD3設置成推挽輸出

; PD7設置成懸浮輸入

         LD     A,#08

        LD     PD_DDR,A    ; 將PD3設置成輸出,PD7設置成輸入

         LD     A,#08

           LD     PD_CR1,A     ; 將PD3設置成推挽輸出

         LD     A,#00

              LD     PD_CR2,A            ;

;

; 下面初始化定時器4                       

         LD     A,#$00

         LD     TIM4_IER,A      ; 禁止中斷

         LD     A,#$01    

         LD     TIM4_EGR,A      ; 允許產生更新事件

              LD     A,#$07

              LD     TIM4_PSCR,A      ; 計數器時鐘=主時鐘/128=2MHZ/128

                                             ; 相當于計數器周期為64uS

              LD     A,#255

              LD     TIM4_ARR,A       ; 設定重裝載時的寄存器值,255是最大值

              LD     A,#255

              LD     TIM4_CNTR,A      ; 設定計數器的初值

                                              ; 定時周期=(ARR+1)*64=16384uS

                                 ; 產生方波頻率=30.5HZ

                                                                                                                     ;

LD     A,#$01

                                     ; b0 = 1,允許計數器工作

; b1 = 0,允許更新

LD     TIM4_CR1,A      ; 設置控制器,啟動定時器

MAIN_LOOP.L

            LD     A,TIM4_SR         ; 讀入定時器4的狀態

            AND    A,#01             ; 判斷是否產生更新標志

            JREQ   MAIN_LOOP        ; 若沒有,則等待

       LD     A,#0               ; 清除更新標志

       LD     TIM4_SR,A                          

                            

      LD     A,PD_ODR            ; 將LED驅動信號取反

      XOR    A,#$08

      LD     PD_ODR,A            ; LED閃爍頻率=2MHZ/128/255/2=30.63

    JRA    MAIN_LOOP           ; 無限循環





  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

[1] [2]
關鍵字:STM8  匯編語言  8位定時器 引用地址:STM8與匯編語言(6)--8位定時器應用之一

上一篇:STM8與匯編語言(5)
下一篇:STM8與匯編語言(7)--8位定時器應用之二

推薦閱讀

兩年來,國內外已有多家工業機器人3D視覺公司獲得融資,資本市場助推工業機器人+趨于火熱,AI已從高大上的概念逐漸成為真正可以幫助傳統行業解決問題的技術。 作為“AI+機器人”的探索者,已完成三輪融資的梅卡曼德從物流、制造行業切入,同時也拿到了汽車、家具、食品等領域的訂單,基于AI技術提供機器人視覺分揀、拆垛及上下料解決方案,力爭將機器人...
隨著嵌入式視覺應用在市場上越來越受歡迎,OEM廠商需要把握嵌入式視覺系統開發的三個趨勢。 首先,消費電子產品已經為用戶期望從顯示屏獲得的視覺體驗設立了標準。平板或智能手機的顯示屏可以迅速啟動,屏幕不會出現毛刺或者偽像。嵌入式視覺的設計人員也希望在汽車或者工業應用的嵌入式顯示屏上實現這種體驗。 其次,移動設備市場的繁榮推動了MIPI生態的...
距離iPhone 12發布會還有一周的時間,現在也有越來越多關于iPhone 12的爆料傳出。近日有海外爆料博主發文稱,iPhone 12系列與iPhone 12 Pro系列的配色有些許不同。其中iPhone 12系列擁有五種配色,而iPhone 12 Pro系列則有三種配色。iPhone 12全系配色一覽具體來看,iPhone 12系列擁有綠色、天藍色、金色、深空灰色以及銀色等版本可選,而iPhone...
在按鍵學習中,我們有用到查詢的方法來判斷按鍵事件是否發生,這種查詢按鍵事件適用于程序工作量較少的情況下,一旦程序中工作量較大較多,則勢必影響程序運行的效率,為了簡化程序中控制的功能模塊的執行時間,引入中斷控制就很有必要,,一旦有中斷時間發生,則程序立馬跳轉到中斷向量的執行程序中,執行完成后就恢復到正常的程序狀態。在STM32F中采用中...

史海拾趣

問答坊 | AI 解惑

臺灣的電路教程

臺灣的電路教程,拿去看看吧 …

查看全部問答∨

WindowsCE6開發軟件包下載地址

為了方便大家使用windowsce6,我們把開發所用的軟件上傳到服務器,很大(10G左右),但因為某些原因,我們暫時無法在此公開下載地址。 此處提供的wince6為破解版,里面有安裝密碼。 http://www.arm9home.net/read.php?tid-4349.html…

查看全部問答∨

要做一個16-4編碼器,16個I口,4個O口,需要哪個型號的GAL或CPLD?

要做一個16-4編碼器,16個I口,4個O口,需要哪個型號的GAL或CPLD?…

查看全部問答∨

【藏書閣】脈沖數字電路及其應用

目錄: 符號說明 第一章 緒論 1、什么是脈沖和脈沖電路 2、什么是數字信號和數字電路 3、脈沖數字電路的發展和應用 4、什么叫二進制 5、本書內容提要 第二章 RC電路 1、引言 2、電容 3、電容充放電規律 4、簡單RC電路分析 5、RC電路 ...…

查看全部問答∨

單片機

為什么現在單片機都要招有經驗的人,畢業生也可以有水平的,而且還那么歧視女生…

查看全部問答∨

給喜歡玩轉linux系統或愛好嵌入式linux的朋友推薦一個項目

開源項目maxwit linux,從零開始,一步步打造整個嵌入式linux系統 沒有開放板的朋友可以在模擬器中跑 玩maxwit linux的好處類似于玩LFS——有助于理解整個linux,強化linux使用技能,無論對linux使用者還是開發者都有好處 不過與lfs或其他開源項 ...…

查看全部問答∨

防沖突及防碰撞問題

現在想做一個遠距離讀卡器應用,期望可以把3m范圍內的卡的卡號全部讀取出來,現在的主要問題是: 1、卡主動發送數據,讀卡器處于被動狀態,如何知道這個范圍之內有多少張卡? 2、如何避免一張卡的卡號被重復讀?。俊?

查看全部問答∨

求助:Gcc提示carriage return in preprocessing directive

我在PC上用Redhat自帶的gcc編譯通過的一段程序改用arm-elf-gcc編譯 在處理頭文件的時候遇到carriage return in preprocessing directive的錯誤信息 問題行都是預編譯指令 #ifndef mode_h #define mode_h "$Id_$" #endif 這是什么原因呢? ...…

查看全部問答∨

TAPI接收到呼入如何應答

在Windows mobile 6中開發接打電話的程序使用TAPI,在接收到響鈴3聲后執行lineAnswer函數應答,但是無效。怎么實現自動摘機,或者屏蔽調系統的應答功能呢!謝謝!…

查看全部問答∨
小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 武乡县| 光山县| 红原县| 嘉善县| 广德县| 乃东县| 德安县| 瓦房店市| 文昌市| 偃师市| 泰安市| 西乌珠穆沁旗| 广水市| 白山市| 西安市| 邵东县| 鄂托克旗| 佛坪县| 抚顺市| 绥阳县| 阜宁县| 河源市| 叙永县| 安新县| 盐城市| 梁平县| 武强县| 卢氏县| 柯坪县| 西乌珠穆沁旗| 苍山县| 余庆县| 班戈县| 柳河县| 逊克县| 永顺县| 青海省| 涿鹿县| 水富县| 北川| 昆山市|