飛思卡爾微控制器PIT彙編程式設計(一)
飛思卡爾微控制器(XS128系列)微控制器彙編程式設計(一)
本人就是一個菜鳥,從菜鳥學習彙編程式設計;彙編也沒想象中的複雜和難懂,細細品味還是挺有意思的。就當刷著玩吧,就學起了彙編(這一直是我的一大心病),慢慢學吧,就當了卻了我的一個願望。作為我的第一個彙編程式,仔細縷縷編寫的過程。好了,廢話不說了,開始正題。
手頭上的資料:飛思卡爾微控制器,偵錯程式以及手冊(歐了,就這三樣),對了,下一個飛思卡爾微控制器的彙編指令集哦。
開始如下工作:
首先熟悉中斷機制,確定我們要在哪部分程式設計,以及程式設計之後起到的效果,然後才能更好地程式設計。具體機制參考下圖:
程式設計部分:參考手冊找到PIT部分,根據以往C語言程式設計的經歷,定時器主要通過配置相應的暫存器來實現,為此我們配置所需的暫存器,裡面的暫存器太多了(吧啦吧啦),
其實,每個微控制器都會有相應模組的功能框圖。如下圖所示:
在該部分,手冊裡面給了一個例程:
上圖中的標號1處之所以箭頭用黃色,是因為這是錯的(我也被坑的很慘)。在給的附件程式中會有應該如何修改(最後);其實,仔細想想也就知道了,中斷向量表處於只讀儲存區中,一句MOVW怎麼能將它就該呢(哎)。
上圖中的標號3處的MOVB #$01,PITTF這句必須要有,是為了將相應的標誌清空的(此處和51有區別,此處糾結了很長時間)。
下面是我的程式附件:
;**************************************************************
;* This stationery serves as the framework for a *
;* user application. For a more comprehensive program that *
;* demonstrates the more advanced functionality of this *
;* processor, please see the demonstration applications *
;* located in the examples subdirectory of the *
;* Freescale CodeWarrior for the HC12 Program directory *
;**************************************************************
; Include derivative-specific definitions
INCLUDE 'derivative.inc'
; export symbols
XDEF Entry, _Startup, main
; we use export 'Entry' as symbol. This allows us to
; reference 'Entry' either in the linker .prm file
; or from C/C++ later on
XREF __SEG_END_SSTACK ; symbol defined by the linker for the end of the stack
; variable/data section
MY_EXTENDED_RAM: SECTION
; Insert here your data definition.
; code section
MyCode: SECTION
main:
_Startup:
Entry:
LDS #__SEG_END_SSTACK ; initialize the stack pointer pu
SEI
;**********關看門狗
CLR COPCTL
;*********定時器0暫存器設定
MOVB #$ff,DDRB
MOVB #$55,PORTB
BCLR PITCFLMT,#128
BSET PITCE,#1
BCLR PITMUX,#1
LDAB #244
STAB PITMTLD0
LDD #65535
STD PITLD0
BSET PITCFLMT,#128
BSET PITTF,#1
BSET PITINTE,#1
CLRX
CLI ; enable interrupts
MainLoop: BRA MainLoop
CH0_ISR:
COM PORTB
BSET PITTF ,#1
RTI
ORG $FF7A
FDB CH0_ISR
相關文章
- STM彙編程式設計程式設計
- STM32彙編程式設計程式設計
- 【微控制器彙編實戰】基於51微控制器的搶答器設計
- 51微控制器彙編教程
- 51微控制器彙編程式,溫溼度報警專案
- 彙編實驗小記(五)-迴圈程式設計程式設計
- 彙編學習小記(二)-順序程式設計程式設計
- 程式設計師思維程式設計師
- 程式設計師如何圓飛行夢想(一)程式設計師
- 彙編程式碼Helloworld
- 一個程式設計師的編年史程式設計師
- 計算機執行彙編程式碼的原理計算機
- 大廠程式設計師凡爾賽的一天程式設計師
- windows搭建彙編程式IDEWindowsIDE
- Kotlin編寫Processing程式(使用函數語言程式設計思維和麵向介面方式)Kotlin函數程式設計
- 彙編 實驗一
- 微控制器C程式設計例項指導pdfC程式程式設計
- 微控制器C語言程式設計實踐pdfC語言程式設計
- JS非同步程式設計的淺思JS非同步程式設計
- 痞子衡嵌入式:飛思卡爾i.MX RT系列MCU啟動那些事(2)- Boot配置(BOOT Pin/eFUSE)boot
- 痞子衡嵌入式:飛思卡爾i.MX RT系列MCU啟動那些事(9)- 從Parallel NOR啟動Parallel
- 痞子衡嵌入式:飛思卡爾i.MX RT系列MCU啟動那些事(3)- Serial Downloader模式(sdphost/MfgTool)模式
- 痞子衡嵌入式:飛思卡爾i.MX RT系列MCU啟動那些事(8)- 從Raw NAND啟動NaN
- Cats(一):從函數語言程式設計思維談起函數程式設計
- iOS逆向之旅(基礎篇) — 彙編(一)— 彙編基礎iOS
- iOS逆向學習筆記 - 彙編(一) - 初識彙編iOS筆記
- CatFly【彙編程式碼還原】
- Jack's第一個Win32彙編程式HelloWorldWin32
- ARM彙編和C語言混合程式設計中陣列的陣列的操作C語言程式設計陣列
- iOS彙編基礎(一)iOS
- 一個程式設計師年近四十歲的一些胡思亂想程式設計師
- iOS彙編入門教程(一)ARM64彙編基礎iOS
- 《塞爾達》關卡發展史:箱庭設計大師課
- iOS彙編入門教程(二)在Xcode工程中嵌入彙編程式碼iOSXCode
- Jack架設WIN32彙編程式的開發環境Win32開發環境
- 聯合體在微控制器程式設計中的應用程式設計
- 在VS2019使用MASM編寫彙編程式ASM
- 程式設計師大牛必備的英文詞彙程式設計師
- 彙編程式開發環境搭配開發環境