飞思卡尔单片机c语言编程详解,飞思卡尔单片机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
飞思卡尔单片机c语言编程详解,飞思卡尔单片机PIT汇编编程(一)相关推荐
- 单片机 rs232 c语言,完全手册 51单片机C语言开发详解系列之第8章 串口通讯实战—RS232...
完全手册 51单片机C语言开发详解系列 技术凝聚实力 专业创新出版 第8章 串口通讯实战-RS232接口电路与软件设计 本章主要通过实际的例子讲解AT89S51单片机的RS232串行通讯接口设计. 随 ...
- 初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程
@TOC初级游戏外挂编程详解 windows运行原理+游戏辅助编程 游戏外挂编程 [1]什么是windows API Windows API 中文翻译过来就是windows应用程序接口(Applica ...
- PHP面向对象编程详解:类和对象
PHP面向对象编程详解:类和对象 从OOP的视角看,不应区分语言.无论是C++.无论是Java.无论是.net还有更多面向对象的语言,只要你了解了OO的真谛,便可以跨越语言,让你的思想轻松的跳跃.便没 ...
- python语言编程基础-Python语言入门详解!快速学成Python!
原标题:Python语言入门详解!快速学成Python! 很多技能是被职场所需要的,但很可惜... 这些技能在大学中并学习不到. 大学和职场现实存在的横沟对大部分同学来说难以跨越或碰得头破血流... ...
- ftm模块linux驱动,飞思卡尔k系列_ftm模块详解.doc
飞思卡尔k系列_ftm模块详解 1.5FTM模块1.5.1 FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出.输入捕捉.输出比较.定时中断.脉冲加减计数.脉冲周期脉宽测量.在K1 ...
- 51汇编与c语言混合编程,C51与汇编混合编程详解
C51与汇编混合编程详解 0750long | 2009-07-09 12:45:42 阅读:1257 发布文章 C51与汇编混合编程详解 C51和汇编混合编程(1)-C语言中嵌入汇编 1.在 ...
- MATLAB与51单片机进行串口通信详解
目录 一.51单片机与电脑进行串口通信 二.MATLAB串口通信函数 三.串口属性 四.示例Demo 4.1 MATLAB接收单片机发来的数据 4.2 MATLAB向单片机发送数据控制LED 五.总结 ...
- TI Cotex M3/4单片机关于寄存器操作详解
TI Cotex M3/4单片机关于寄存器操作详解 前备知识 寄存器与偏移量 位带操作.位带区 TI单片机寄存器操作详解 快速在TI的手册里面确认某外设某寄存器的确切地址 寄存器操作介绍 本文参考 前 ...
- python语言入门m-Python语言入门详解!快速学成Python!
今日主题 "Python语言入门详解" 近两年来,Python语言借着数据科学和人工智能的"东风"成为了最流行的编程语言--街头巷尾人们口口相传.同时,Pyth ...
- 代码检查规则:Java语言案例详解
本节课程为<代码检查规则:Java语言案例详解>, 通常情况下Java的代码检查规则可以分为以下十类: 接下来,让我们具体来看看每个分类的内容. 一.源文件规范 该类规范主要从文件名.文件 ...
最新文章
- 企业级 SpringBoot 教程 (十九) 验证表单信息
- cgi硬盘安装器_简简单单,玩转虚拟硬盘装多系统
- 2021编程语言排行:C#飙升,Python蝉联榜首
- 【2019牛客暑期多校训练营(第二场) - H】Second Large Rectangle(单调栈,全1子矩阵变形)
- Java自动切表_java_Mybatis自动创建表和更新表结构,最近有小伙伴问我mybatis有没有 - phpStudy...
- (11)Verilog HDL变量:wire型
- AD域控exchange邮箱(三)——exchange2010卸载报错的解决方法全纪录
- VS2013 启动时遇到空白窗口
- 【专项测试】京东“安全测试”
- 拼多多电商API接口详情
- Thingworx笔记-创建菜单
- 用 js 开启本地服务器,实现短信发送
- OneDrive登录失败
- 宋红康老师JVM课程学习笔记
- 休闲娱乐之和成熟的男生谈恋爱
- Python30 网络编程通讯协议,1.学习网络编程的目的 2.什么是互联网 3.c/s结构 4.通讯基本要素 5.OSI模型...
- mysql 8.0 警告日志大量写入sha256_password‘ is deprecated and will be removed
- 国产银河麒麟系统部署Redis、Nginx分享
- Scratch(三十四):古诗大作战
- PDF文件如何转换成Excel表格?试试这个方法
热门文章
- 【课本】【No.2】集合表示法、一维离散变量定义,分布函数为了解决计算时间概率,二项分布,泊松分布,一维连续型分布函数与密度函数
- 复变函数:傅里叶级数
- 为何 linux 要用 tar.gz,而不用 7z 或 zip?
- 更细日期2015年8月18日- Citrix vGPU解决方案注意事项
- RESTFeel: 一个企业级的API管理测试平台。RESTFeel帮助你设计、开发、测试您的API...
- jQuery使table表格隔行显示不同颜色
- 【超详细转】VMware 9 安装 Mac OS X 10.8 Mountain Lion 图文全程
- 通过里程碑式管理,控制软件项目管理进度
- 硬盘分区变为RAW文件系统后的解决办法
- 使用Div自动换行一事