首页 > 代码库 > 飞思卡尔单片机PIT汇编编程(一)
飞思卡尔单片机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
飞思卡尔单片机PIT汇编编程(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。