导航:首页 > 操作系统 > mc9s12x单片机

mc9s12x单片机

发布时间:2022-12-10 20:31:46

Ⅰ 飞思卡尔MC9S12XS单片机可以用什么仿真软件仿真

飞思卡尔的,原配自然是CodeWarrior了。
注意CodeWarrior是区分极多版本的(飞思卡尔的芯片种类太多了),要选适合12系列的版本。10.x的大杂烩版本似乎是支持的。

Ⅱ mc9s12xs128是不是属于单片机芯片还是属于ARM嵌入式芯片

不是ARM,这是飞思卡尔设计的、基于摩托罗拉内核的16位微控制器(MCU)。
单片机这个东西是相对于80年代的“单板机”来说的,以前具有复杂控制功能的器件,被组装在很大一个板子上,现在越做越小,集成到了一个芯片里,所以叫“单片机”。
ARM芯片也可以被称作单片机。
其实ARM只是一种硬件内核架构,而我们常用的51也是一种硬件内核架构,你所列举的MC9S12xs128里的摩托罗拉内核也是一种硬件内核架构。
芯片厂家拿到一种硬件内核,就像拿到了一个大脑,厂家会给它配上外围模块,就等于给它装上“手脚”,至于装多少“手脚”,每个厂家各有不同,所以有很多芯片型号。
ARM是个英国计算机公司名字,专门做ARM硬件内核,有很多内核系列,类似于不同的“大脑”,最新的是cortex系列,而STM32F103C8就是属于ARM
cortex
-
M系列,cortex有三个系列,A系列、R系列、M系列,M系列是面对低端工控领域,特点是硬件资源紧凑、响应速度快。
还有,因为单片机这个定义在国内不是很规范,很多学校喜欢把低端的叫做单片机、高端的叫做嵌入式系统,其实都一样,谁对谁错也不好说。。。。

Ⅲ MC9S12XS128实验开发板GPIO初始化都涉及到哪些寄存器,这些寄存器的名称和作用

MC9S12XS128实验开发板GPIO初始化都涉及到寄存器,这些寄存器的名称和作用:ATDnCTLx表示多组ATD中的第n组,控制寄存器x。

寄存器是CPU内部重要的数据存储资源,汇编程序员能直接使用的硬件资源。由于寄存器的存取速度比内存快,用汇编语言编写程序时,要尽可能充分利用寄存器的存储功能。寄存器一般用来保存程序的中间结果,为随后的指令快速提供操作数,避免把中间结果存入内存,再读取内存的操作。

基本含义

寄存器是CPU内部用来存放数据的一些小型存储区域,用来暂时存放参与运算的数据和运算结果。其实寄存器就是一种常用的时序逻辑电路,但这种时序逻辑电路只包含存储电路。寄存器的存储电路是由锁存器或触发器构成的,因为一个锁存器或触发器能存储1位二进制数,所以由N个锁存器或触发器可以构成N位寄存器。

Ⅳ DS18B20直接用单片机(MC9S12X128)的IO口驱动,采集温度,最远能采到多远

DS18B20在总线上的挂接个数问题。当总线上挂接超过8个DS18B20时,要考虑微处理器总线驱动的问题。一般情况下,在寄生电源的工作方式下,由于单个DS18B20的工作电流为1mA,而总线上的电流为5V/4.7kΩ=1.06mA,加上一个MOSFET管可帮助提供能量,但是由于DS18B20和MOSFET管之间的充放电和功耗问题,导致单总线上的DS18B20个数不能超过8个。
连接DS18B20的总线电缆(普通三芯线)在只有上拉电阻的情况下可靠传输长度可达45m左右,距离过长时需根据分支点数、总线长度匹配其线间电容及阻抗;一般情况下,采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通信距离进一步加长。

Ⅳ MC9S12XS单片机原理及嵌入式系统开发的目录

第1章 嵌入式系统简介 1
1.1 嵌入式系统 1
1.1.1 系统 1
1.1.2 嵌入式系统 1
1.1.3 嵌入式系统的分类 2
1.2 嵌入式系统硬件 3
1.2.1 嵌入式微处理器 3
1.2.2 嵌入式微控制器 3
1.2.3 嵌入式DSP处理器 4
1.2.4 嵌入式片上系统 4
1.3 嵌入式系统软件 4
1.4 嵌入式操作系统 5
1.4.1 嵌入式操作系统的种类 5
1.4.2 嵌入式操作系统的发展 5
1.4.3 使用实时操作系统的必要性 6
1.4.4 实时操作系统的优缺点 6
1.5 嵌入式系统开发方法 6
第2章 Freescale HCS12和HCS12X系列单片机简介 8
2.1 HCS12系列单片机概述 8
2.1.1 HCS12系列单片机的命名规则 8
2.1.2 HCS12系列单片机简介 9
2.2 HCS12X系列单片机概述 10
2.2.1 HCS12X系列单片机主要特点 10
2.2.2 XGATE协处理器与主处理器的关系 11
2.2.3 XGATE的基本特性 12
2.2.4 典型S12X系列单片机简介 14
2.3 MC9S12XS128简介 15
2.3.1 MC9S12XS128性能概述 15
2.3.2 MC9S12XS128内部结构、主要特性及引脚 15
2.3.3 MC9S12XS128引脚功能 24
2.4 CPU12(X)核 27
2.4.1 CPU12(X)核特性 27
2.4.2 编程模型 27
2.5 MC9S12XS128的存储器映射 30
2.6 MC9S12XS128内部锁相环模块PLL 31
2.6.1 CRG时钟合成寄存器(SYNR) 32
2.6.2 CRG时钟参考分频寄存器(REFDV) 32
2.6.3 CRG时钟后分频寄存器(POSTDIV) 33
2.6.4 CRG标志寄存器(CRGFLG) 33
2.6.5 CRG时钟选择寄存器(CLKSEL) 34
2.6.6 CRG IPLL控制寄存器(PLLCTL) 35
2.6.7 CRG中断使能寄存器(CRGINT) 36
2.6.8 CRG IPLL模块应用实例 36
第3章 S12X指令系统 38
3.1 概述 38
3.2 S12X汇编指令的格式和符号说明 38
3.2.1 操作码和操作数 39
3.2.2 数据类型 39
3.2.3 数据表示方法 39
3.2.4 寄存器和存储器表示法 40
3.3 寻址方式(Addressing Mode) 40
3.3.1 隐含/固有寻址(Inherent Addressing,INH) 40
3.3.2 立即寻址(Immediate Addressing,IMM) 41
3.3.3 直接寻址(Direct Addressing,DIR) 42
3.3.4 扩展寻址(Extended Addressing,EXT) 42
3.3.5 相对寻址(Relative Addressing,REL ) 43
3.3.6 变址寻址(Indexed Addressing,IDX) 44
3.3.7 全局寻址(Global Page Index Register) 50
3.4 S12X汇编指令系统 50
3.4.1 数据传送指令 50
3.4.2 算术运算指令 58
3.4.3 逻辑运算指令 66
3.4.4 高级函数指令 71
3.4.5 程序控制指令 74
3.4.6 S12X控制指令 77
3.5 汇编程序伪指令 79
3.5.1 段定义指令 79
3.5.2 常量赋值指令 81
3.5.3 常量存储指令 82
3.5.4 分配变量指令 84
3.5.5 汇编控制指令 85
3.5.6 符号链接指令 85
第4章 C语言的嵌入式编程 87
4.1 编程语言的选择 87
4.2 C语言编程元素 88
4.2.1 全局变量和局部变量 88
4.2.2 头文件 88
4.2.3 编译预处理 89
4.2.4 数据类型 91
4.2.5 运算符 93
4.2.6 指针 95
4.2.7 条件语句、循环语句及无限循环语句 95
4.2.8 函数 98
4.3 C程序编译器与交叉编译器 101
4.4 CodeWarrior软件简介 102
4.4.1 CodeWarrior的安装 102
4.4.2 CodeWarrior使用简介 104
第5章 MC9S12XS输入/输出端口模块及其应用实例 110
5.1 输入/输出端口简介 110
5.2 输入/输出端口寄存器及设置 110
5.2.1 PORTA、PORTB、PORTE和PORTK 112
5.2.2 PORTT、PORTS、PORTM、PORTP、PORTH和PORTJ 114
5.2.3 A/D端口用做数字I/O口 116
5.3 输入/输出端口应用实例 118
5.3.1 控制输出设备LED实例 118
5.3.2 读取输入设备拨码开关状态实例 120
5.4 输入/输出端口在智能车系统中的应用 121
5.4.1 键盘接口设计 121
5.4.2 LED显示接口设计 122
5.4.3 LCD显示接口设计 124
第6章 MC9S12系列中断系统 129
6.1 MC9S12系列中断系统概述 129
6.1.1 复位 130
6.1.2 中断 131
6.2 MC9S12系列中断优先级 132
6.3 MC9S12系列中断程序应用实例 135
第7章 MC9S12XS系列脉宽调制模块及其应用实例 139
7.1 PWM模块概述 139
7.2 PWM模块结构组成和特点 139
7.3 PWM模块寄存器及设置 140
7.3.1 PWM使能寄存器(PWME) 141
7.3.2 PWM极性寄存器(PWMPOL) 142
7.3.3 PWM时钟选择寄存器(PWMCLK) 143
7.3.4 PWM预分频时钟选择寄存器(PWMPRCLK) 144
7.3.5 PWM居中对齐使能寄存器(PWMCAE) 145
7.3.6 PWM控制寄存器(PWMCTL) 146
7.3.7 PWM比例因子A寄存器(PWMSCLA) 148
7.3.8 PWM比例因子B寄存器(PWMSCLB) 148
7.3.9 PWM通道计数器(PWMCNT) 149
7.3.10 PWM通道周期寄存器(PWMPER) 149
7.3.11 PWM通道占空比寄存器(PWMDTY) 150
7.3.12 PWM关闭寄存器(PWMSDN) 152
7.4 PWM模块应用实例 153
7.5 PWM模块在智能车系统中的应用 155
7.5.1 应用PWM模块控制直流电动机 155
7.5.2 应用PWM模块控制伺服电动机 157
第8章 MC9S12XS128模/数转换模块及其应用实例 159
8.1 ATD模块概述 159
8.2 ATD模块结构组成和特点 159
8.3 ATD模块寄存器及设置 161
8.3.1 ATD控制寄存器0(ATDCTL0) 161
8.3.2 ATD控制寄存器1(ATDCTL1) 162
8.3.3 ATD控制寄存器2(ATDCTL2) 164
8.3.4 ATD控制寄存器3(ATDCTL3) 165
8.3.5 ATD控制寄存器4(ATDCTL4) 167
8.3.6 ATD控制寄存器5(ATDCTL5) 167
8.3.7 ATD状态寄存器0(ATDSTAT0) 169
8.3.8 ATD比较使能寄存器(ATDCMPE) 170
8.3.9 ATD状态寄存器2(ATDSTAT2) 170
8.3.10 ATD输入使能寄存器(ATDDIEN) 171
8.3.11 ATD比较大于寄存器(ATDCMPHT) 171
8.3.12 ATD转换结果寄存器(ATDDRn) 172
8.4 ATD模块应用实例 173
8.5 ATD模块在智能车系统中的应用 174
8.5.1 ATD模块在基于光电管路径识别方案中的应用 174
8.5.2 ATD模块在基于摄像头路径识别方案中的应用 176
第9章 MC9S12XS128定时器模块及其应用实例 180
9.1 TIM模块概述 181
9.2 TIM模块结构和工作原理 181
9.2.1 TIM模块结构 181
9.2.2 TIM模块工作原理 181
9.2.3 TIM模块寄存器 184
9.2.4 TIM模块中断系统 186
9.3 TIM模块的自由运行计数器和定时器基本寄存器及设置 187
9.3.1 自由运行主定时器与时钟频率设置 187
9.3.2 TIM模块基本寄存器及设置 188
9.4 TIM模块的输入捕捉功能及寄存器设置 191
9.4.1 TIM模块输入捕捉功能 192
9.4.2 与输入捕捉功能相关的寄存器及设置 192
9.5 TIM模块的输出比较功能及寄存器设置 195
9.5.1 TIM模块输出比较功能 195
9.5.2 与输出比较功能相关的寄存器及设置 196
9.6 TIM模块的脉冲累加器功能及寄存器设置 199
9.6.1 TIM模块脉冲累加器功能 199
9.6.2 与脉冲累加器相关的寄存器及设置 201
9.7 TIM模块应用实例 203
9.7.1 输入捕捉功能应用实例 203
9.7.2 输出比较功能应用实例 205
9.7.3 脉冲累加器功能应用实例 211
9.8 TIM模块在智能车系统中的应用 215
9.8.1 TIM模块输入捕捉功能在智能车系统中的应用 215
9.8.2 TIM模块脉冲累加器功能在智能车系统中的应用 215
第10章 MC9S12XS128周期性中断定时器模块及其应用实例 217
10.1 PIT模块概述 217
10.2 PIT模块结构和工作原理 217
10.2.1 PIT模块结构 217
10.2.2 PIT模块工作原理 218
10.3 PIT模块寄存器及设置 220
10.3.1 PIT控制和强制装载微定时寄存器(PITCFLMT) 221
10.3.2 PIT强制装载定时寄存器(PITFLT) 221
10.3.3 PIT通道使能寄存器(PITCE) 222
10.3.4 PIT复用寄存器(PITMUX) 222
10.3.5 PIT中断使能寄存器(PITINTE) 222
10.3.6 PIT超时标志寄存器(PITTF) 223
10.3.7 PIT微定时装载寄存器0和1(PITMTLD0/1) 223
10.3.8 PIT装载寄存器0~3(PITLD0~3) 223
10.3.9 PIT计数寄存器0~3(PITCNT0~3) 224
10.4 PIT模块应用实例 224
10.5 PIT模块在智能车系统中的应用 226
第11章 MC9S12XS系列串行通信接口模块及其应用实例 234
11.1 SCI模块概述 234
11.2 SCI模块结构组成和特点 234
11.3 SCI模块寄存器 235
11.3.1 SCI波特率寄存器(SCIBDH,SCIBDL) 236
11.3.2 SCI控制寄存器1(SCICR1) 237
11.3.3 SCI可选状态寄存器1(SCIASR1) 238
11.3.4 SCI可选控制寄存器1(SCIACR1) 239
11.3.5 SCI可选控制寄存器2(SCIACR2) 240
11.3.6 SCI控制寄存器2(SCICR2) 240
11.3.7 SCI状态寄存器1(SCISR1) 241
11.3.8 SCI状态寄存器2(SCISR2) 243
11.3.9 SCI数据寄存器(SCIDRH,SCIDRL) 244
11.4 SCI模块应用实例 244
11.5 SCI模块在智能车系统中的应用 248
第12章 MC9S12系列SPI和I2C模块及其应用实例 251
12.1 SPI模块 251
12.2 SPI模块结构组成和特点 252
12.3 SPI模块寄存器及设置 253
12.3.1 SPI控制寄存器1(SPICR1) 253
12.3.2 SPI控制寄存器2(SPICR2) 255
12.3.3 SPI波特率寄存器(SPIBR) 256
12.3.4 SPI状态寄存器(SPISR) 258
12.3.5 SPI数据寄存器(SPIDR:SPIDRH,SPIDRL) 260
12.4 SPI模块应用实例 260
12.5 I2C总线接口 262
12.5.1 I2C总线概述 262
12.5.2 I2C总线工作原理 263
12.6 I2C模块结构组成和特点 265
12.7 I2C模块寄存器及设置 266
12.7.1 I2C总线地址寄存器(IBAD) 267
12.7.2 I2C总线分频寄存器(IBFD) 267
12.7.3 I2C总线控制寄存器(IBCR) 268
12.7.4 I2C总线状态寄存器(IBSR) 269
12.7.5 I2C总线数据输入/输出寄存器(IBDR) 271
12.8 I2C模块在智能车系统中的应用 271
第13章 综合应用实例 275
13.1 概述 275
13.2 综合应用实例1 275
13.2.1 系统组成 275
13.2.2 A/D输入接口 276
13.2.3 显示接口 276
13.2.4 通信接口 277
13.2.5 应用软件设计 277
13.2.6 软件流程图 281
13.3 综合应用实例2 283
13.3.1 系统组成 283
13.3.2 MircoSD卡接口 283
13.3.3 通信接口 284
13.3.4 SD卡工作电源 284
13.3.5 应用软件设计 284
13.3.6 MircoSD卡应用软件设计 286
13.3.7 软件流程图 288
13.4 综合应用实例3 290
13.4.1 系统组成 291
13.4.2 A/D输入接口 291
13.4.3 显示接口 291
13.4.4 直流电动机驱动接口 291
13.4.5 测速输入信号调理电路 293
13.4.6 伺服电动机驱动接口 293
13.4.7 应用软件设计 293
13.4.8 软件流程图 295
13.5 综合应用实例4 297
13.5.1 系统组成 297
13.5.2 起始线信号检测方法 297
13.5.3 应用软件设计 299
13.5.4 软件流程图 300
附录A S12汇编指令系统汇总表 303
附录B S12汇编指令系统汇总表解释说明 317
附录C S12汇编指令机器码汇总表 322
附录D S12X汇编指令机器码汇总表解释说明 326
附录E HS12实验开发平台 327
参考文献 331

Ⅵ 飞思卡尔 mc9s12xs128 单片机 怎样才可以 在EPROM 或者在 FASH 中 保存运行的参数

有相关资料可以参考的,你搜一下flash to epprom相关资料:
用Flash模拟EEPROM
本程序利用S08系列单片机的片内Flash模拟EEPROM。解决部分8位机没有EEPROM导致在运用上的局限。本程序提供一个初始化函数和三个功能函数。用户必须在调用功能函数前调用调用初始化函数。三个功能函数分别是字节写入、字节读取、EEPROM全擦除。用户必须保证调用功能函数前有至少30Bate的栈空间。
本程序参考飞思卡尔公司提供的《在 HCS08 微控制器上使用 FLASH 存储器模拟 EEPROM》。并在源程序的基础上精简了部分功能,减少了RAM使用量。并尝试使用分页机制确定EEPROM地址。
接口函数的EEPROM地址寻址由页地址和页内偏移量组成。即把用户定义的EEPROM分为若干个大小为256字节的页。其地址与FLASH地址的换算关系为:
FLASH真实地址=EEPROM空间起始地址+页地址×256+页内偏移地址
用户在使用EEPROM是只用确定数据保存在EEPROM的相对地址即可。接口函数原型为:
EEPROM_WRITE_DATA(数据,页地址, 页内偏移地址);
Char EEPROM_READ_DATA(页地址, 页内偏移地址);

1. 程序流程分析与设计。
由于S08系列单片机在Flash写入时序中不能进行任何的Flash读操作,Flash写入指令必须放到RAM中执行并关闭所有可屏蔽中断。程序流程如图13-1-?。

字节写入/.全擦除程序流程 字节读取程序流程
图13-1-?
2.程序源代码。此程序在CodeWarrior 6.0继承编译环境中编译通过

/*****************************************************/
//河南工业大学Freescale MCU&DSP联合实验室
// 文件名:flash_program.h
// CPU :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述: 头文件,用于保存初始化EEPROM设定、用户定制参数、编译器参数等信息。
/*****************************************************/
#include <hidef.h>
#include "derivative.h"
#include <stdio.h>

/*************flash编程指令(请勿改动)*****************/
#define BLACK_CHECK 0x05 //查空指令
#define BITE_PROGRAM 0x20 //字节编程指令
#define BURST_PROGRAM 0x25 //快速编程指令
#define PAGE_ERASE 0x40 //页擦除指令(1页=512字节)
#define MASS_ERASE 0x41 //全擦除指令

/******用户定制参数(根据单片机型号和用户flash使用情况定制)**********/
#define EEPROM_START_ADDRESS 0xE000 //EEPROM区起始地址。512B的倍数
#define EEPROM_PAGE_NUM 8 //EEPROM页数。1page=256B
#define BUS_FREQUENCY 2000 //总线频率。单位(KHz)

/********************编译器相关参数**************************/
#define INT8U unsigned char //无符号字节变量。根据编译器更改。默认CodeWarrior 6.0
#define INT16U unsigned short int //无符号字变量。根据编译器更改。默认CodeWarrior 6.0
/***********EEPROM API函数原型***********/
//初始化程序。此函数必须在使用EEPROM前调用。建议用户在系统初始化是调用。
void INIT_EEPROM(void);
//EEPROM擦除函数。擦除所有EEPROM数据。
void EEPROM_ERASE(void);
//EEPROM字节写入函数。写入一个字节到EEPROM指定区域。
void EEPROM_WRITE_DATA(INT8U data,INT8U EEPROM_page,INT8U offset_address)
//EEPROM读出函数。读出一个指定的区域所保存的字节的到函数返回值。
char EEPROM_READ_DATA(INT8U EEPROM_page,INT8U offset_address);
/****************************END************************************/

/*****************************************************/
//河南工业大学Freescale MCU&DSP联合实验室
// 文件名:flash_program.c
// C P U :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述:提供了一个初始化函数和三个功能函数供用户调用,没有可更改参数。
/*****************************************************/
#include "flash_program.h"

const INT8U FLASH_CODE[]={ // ; flash操作代码
0x45, 0x18, 0x26, // LDHX #$1826 ; FCMD地址写入H:X
0xA6, 0x00, // LDA #$00 ; 0x00为命令占位符
0xF7, // STA ,X ; 将命令写入FCMD命令缓存器
0x5A, // DECX ; 指针指向 FSTAT
0xF6, // LDA ,X ;
0xAA, 0x80, // ORA #$80 ;
0xF7, // STA ,X ; 置位FSTAT_FCBEF。启动flash写入命令
0xF6, // LDA ,X ; 等待3个时钟周期(请勿删除此代码)
0xF6, // LDA ,X ; 读取FSTAT
0xA5, 0x30, // BIT #$30
0x26, 0x05, // BNE *+6 ; 错误则返回
//LOOP
0xF6, // LDA ,X ; 等待写操作结束
0xA5, 0x40, // BIT #$40
0x27, 0xFB, // BEQ *-3 ; 跳转到LOOP
//EXIT:
0X81 //RTS ; 返回
};
/*********************初始化函数**********************************/
#if BUS_FREQUENCY >= 12000
void INIT_EEPROM(void){FCDIV=(((BUS_FREQUENCY/(8*175)))|0x40)-1;}
#endif
#if BUS_FREQUENCY < 12000
void INIT_EEPROM(void){FCDIV=(BUS_FREQUENCY/175)-1;}
#endif

/***********************EEPROM字节写入函数****************************/
void EEPROM_WRITE_DATA(INT8U data,INT8U EEPROM_page,INT8U offset_address)
{

INT16U address; //存放写入地址
INT8U code_space[23]; //初始化代码空间

if(EEPROM_page>=EEPROM_PAGE_NUM)return; //地址错误返回,保护用户代码
address=offset_address+EEPROM_page*256+EEPROM_START_ADDRESS; //地址转化
(void)memcpy(code_space,FLASH_CODE,23); //复制flash操作代码到RAM

code_space[4] = BITE_PROGRAM; //修改命令占位符为写入命令

DisableInterrupts; //关中断
if (FSTAT&0x10){ //清错误标志
FSTAT = FSTAT|0x10;
}
_asm
{ //写入初始化
LDHX address;
LDA data;
STA ,X; //写入缓存
TSX;
JSR 2,x; //跳入RAM执行
}
EnableInterrupts; //开中断
__RESET_WATCHDOG();
}

/********************EEPROM字读取入函数********************************/
char EEPROM_READ_DATA(INT8U EEPROM_page,INT8U offset_address){

unsigned short int address; //地址变量
char rusult; //数据变量
address=offset_address+EEPROM_page*0x100+EEPROM_START_ADDRESS; //地址转换
asm{
LDHX address;
LDA ,X; //读取地址到数据变量
STA rusult;
}
__RESET_WATCHDOG();
return(rusult); //返回
}

/**********************EEPROM擦除函数********************************/
void EEPROM_ERASE(void)
{
INT16U address;
INT8U i; //循环变量
INT8U code_space[23];

for(i=0;i<(EEPROM_PAGE_NUM/2);i++){ //分页擦除

address=i*0x200+EEPROM_START_ADDRESS;

(void)memcpy(code_space,FLASH_CODE,23); //复制flash操作代码到RAM

code_space[4] = PAGE_ERASE; //修改命令占位符为擦除命令

DisableInterrupts; //关中断

if (FSTAT&0x10){ //清错误标志
FSTAT = FSTAT | 0x10;
}
_asm
{
LDHX address; //擦除地址写入缓存
STA ,X;
TSX;
JSR 3,x; //跳入RAM执行
}
EnableInterrupts; //开中断
__RESET_WATCHDOG();
}
}
/****************************END************************************/

/*****************************************************/
// 版权所有(c)河南工业大学
// 文件名:mian.c
// C P U :MC9S08AW60
// 版 本:v1.0
// 日 期:2008年8月12日
// 调试环境:CodeWarrior 6.0
// 作 者:曾 滔
// 描 述: 测试Flash模拟EEPROM程序。
/*****************************************************/
#include <hidef.h>
#include "derivative.h"
#include "flash_program.h"

void main(void){
char temp;
PTADD=0XFF;

INIT_EEPROM(); //初始化Flash控制寄存器。
do{
EEPROM_WRITE_DATA(88,0,0); //写入一个字节。
temp=EEPROM_READ_DATA(0,0); //读取一个字节
}while(temp!=88); //若写入失败则再次写入
PTAD_PTAD0=1;

do{
EEPROM_ERASE();
}while(EEPROM_READ_DATA(0,0)!=0xff); //擦除Flash

PTAD_PTAD1=1;
for(;;)__RESET_WATCHDOG(); //死循环
}

Ⅶ ec9s12xs128是什么单片机

1、MC9S12XS128是Freescale公司的16位单片机,由16位中央处理单元(CPU12X)、128KB程序Flash(P-lash)、8KB RAM、8KB数据Flash(D-lash)组成片内存储器
2、Freescale 公司的16位单片机主要分为HC12 、HCS12、HCS12X三个系列。HC12核心是16位高速CPU12核,总线速度8MHZ;HCS12系列单片机以速度更快的CPU12内核为核心,简称S12系列,典型的S12总线速度可以达到25MHZ。HCS12X系列单片机是Freescale 公司于2005年推出的HCS12系列增强型产品,基于S12 CPU内核,可以达到25MHz的HCS12的2-5倍性能。总线频率最高可达40 MHz。S12X系列单片机目前又有几个子系列:MC9S12XA系列、MC9S12XB系列、MC9S12XD系列、MC9S12XE系列、MC9S12XF系列、MC9S12XH系列和MC9S12XS系列。MC9S12XS128就是S12X系列中的一个成员
3、主要功能模块包括:
内部存储器
内部PLL锁相环模块
2个异步串口通讯 SCI
1个串行外设接口 SPI
MSCAN 模块
1个8通道输入/输出比较定时器模块 TIM
周期中断定时器模块 PIT
16通道A/D转换模块 ADC
1个8通道脉冲宽度调制模块
PWM 输入/输出数字I/O口
4、详见参考:http://wenku..com/link?url=KDgQAfL9qbJJXoiyBB-oy4TFd7M-axPBr97ajZCazgiLGURo_

Ⅷ 飞思卡尔MC9S12XS128MAL单片机中断问题

生产厂商Freescale Semiconctor - NXP
供应商:拍明芯城元器件商城
工厂包装数量 300
程序存储器大小 128 kB
输入/输出端数量 91 I/O
Number of Timers/Counters 12 Timer
封装/外壳 LQFP-112
工作电源电压 2.5 V, 5 V
核心 HCS12X
数据总线宽度 16 bit
品牌 NXP / Freescale
程序存储器类型 Flash
安装风格 SMD/SMT
最大时钟频率 40 MHz
最高工作温度 + 125 C
Number of ADC Channels 16 Channel
数据RAM大小 8 kB
长度 20 mm
接口类型 CAN, SCI, SPI
RoHS RoHS Compliant
系列 S12XS
ADC分辨率 12 bit
身高 1.45 mm
封装 Tray
最低工作温度 - 40 C
信息处理器系列 S12XS

Ⅸ mc9s12单片机调试一定要用调试器吗

是的,否则无法实时访问和控制指令运行及停止,无法读取各个寄存器。

Ⅹ mc9s12xs128这个单片机中的IRQ中断怎么设置可以进行下降沿计数

手册上有的,H口,初始化程序那儿,PPSH寄存器选择触发方式,1是上升沿,0是下降沿。你要将哪个口边上升沿触发,直接PPSH_PPSH*=1;就好了(把*改成你要的位,比如PPSH_PPSH0=1就是把H0口中断触发改为上升沿)。

阅读全文

与mc9s12x单片机相关的资料

热点内容
dvd光盘存储汉子算法 浏览:757
苹果邮件无法连接服务器地址 浏览:962
phpffmpeg转码 浏览:671
长沙好玩的解压项目 浏览:142
专属学情分析报告是什么app 浏览:564
php工程部署 浏览:833
android全屏透明 浏览:732
阿里云服务器已开通怎么办 浏览:803
光遇为什么登录时服务器已满 浏览:301
PDF分析 浏览:484
h3c光纤全工半全工设置命令 浏览:141
公司法pdf下载 浏览:381
linuxmarkdown 浏览:350
华为手机怎么多选文件夹 浏览:683
如何取消命令方块指令 浏览:349
风翼app为什么进不去了 浏览:778
im4java压缩图片 浏览:362
数据查询网站源码 浏览:150
伊克塞尔文档怎么进行加密 浏览:890
app转账是什么 浏览:163