飞思卡尔16位单片机MC9S12XS128编程问题,如下

飞思卡尔16位单片机MC9S12XS128用c语言编程,引脚位定义怎么写啊,还可以像51单片机一样用sbit a=p0.0这样的么?以及整口赋值怎么写,新手目前只用过51,求解,急!

有一定差别,xs128引脚名称不是p1.1这一类
给你个i/o口程序的例子
Void PORTB_Init(void){
DDRB=0xff;
//PB口作输出使用,1为输出,0为输入
PORTB=0x00;
//PB口数据寄存器值
}
注意:IO口要注意以下几点:(1)每个IO口的数据寄存器名可能不同(2)AN口只能作输入用(3)PH,PJ(高两位,低两位),PP可用输入中断功能使用(4)IO口作输入与输出时有不同的寄存器对应(5)IO口作复用时不能作IO口用,相反也不行
IO口可用作:调试接口(接数码管、液晶、拨码开关等等)所以必须掌握
使用拨码开关要注意这样用;
DDRB=0XFF;
//输出
PORTB=0XFF;
DDRB=0X00;
//输入
···············································
xs128单片机和51单片机在格式上有一些差别,功能更为强大,估计你是学生的话就是要参加智能车比赛的,建议买一本专讲xs128嵌入式系统的书,各大文库里也有许多资料,新浪文库、百度文库都有,可以看下。追问

哦,就是使用io口之前都要先对特殊功能寄存器进行相应的设置,不管是作为输入,还是作为输出,中断等等的都是一样,需要先设置寄存器的值才能用,不像51单片机那样IO口可以直接在程序里操作,不知道我理解的对不对,还请指正,呵呵
;;;;;;;;;;;;;;;;;专讲xs128嵌入式系统的书能具体推荐一本比较好的书名吗?因为我也没用过,不知道那本书讲得好讲的坏,非常感谢~~

追答

恩,是的!先定义输入输出,再可以赋值。上面都是整口赋值
单个的也如此先定义相关寄存器输入输出DDRA_PA0=?然后
PORTA_PA0=? PORTA_PA1
PORTB_PB0~7 等等类似
我们老师当时让我们参考的书是《嵌入式系统——使用HCS12微控制器的设计与应用》
王宜怀主编的,北京航空航天大学出版社 (北航做智能车是相当牛啊)
还有一本外国翻译的,就叫嵌入式系统,具体下面的名字也记得不大清了,说是很经典的,但是好久都没接触了,映像也不深了

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-01-06
引脚的定义一定要看芯片手册啊,我学的就是这一款,Codewarrie可以用C、C++写程序,引脚都已经宏定义过
第2个回答  2012-01-07
PORTA_PA0~A7

飞思卡尔16位单片机MC9S12XS128编程问题,如下
有一定差别,xs128引脚名称不是p1.1这一类 给你个i\/o口程序的例子 Void PORTB_Init(void){ DDRB=0xff;\/\/PB口作输出使用,1为输出,0为输入 PORTB=0x00;\/\/PB口数据寄存器值 } 注意:IO口要注意以下几点:(1)每个IO口的数据寄存器名可能不同(2)AN口只能作输入用(3)PH,PJ(高两位,...

飞思卡尔MC9S12XS128单片机只有一个脉冲累加器,如果想要对两路脉冲信号...
方法1:使用数字模拟开关,或输入缓冲器,见下图。采样的时候通过两个IO口选择需要采样的编码器,让对应的测速脉冲输入到XS128 PT7口。IO口的切换频率决定了你采样的频率,例如0.5ms切换一次。那么单个编码器的采样速率就是1ms,相当于1KHz的采样的频率,对于电机控制来说应该是足够了。方法2:采用外部...

飞思卡尔 mc9s12xs128 单片机 怎样才可以 在EPROM 或者在 FASH 中...
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 ; 等...

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系列单片机以速度更快...

飞思卡尔单片机MC9s12xs128的中断周期定时器的关闭问题
是在做飞思卡尔智能车么,可以去飞思卡尔论坛问 说一下我的理解:我以前也用过这个芯片,有一次是用它做超声波测距,要用输入捕捉来测高电平持续时间,就用了里面的一个计时器来计时高电平持续时间,记得当时在datasheet里看到这样一句话:芯片内部的时钟的值是不能够被改变的,就是read-only。所以使能...

飞思卡尔的codewarrior开发问题,总是提示中断向量值溢出?
由于飞思卡尔16位单片机的中断向量是16位,所以中断函数只有被置于非分页区内才能被寻址到,这就是第一行的作用。第二行中“VectorNumber_Vtimch7”是中断号,它是由文件“MC9S12XS128.h”中定义的宏,这个中断号在它的技术手册中找到,但是我建议你采用这种宏的形式,因为这个宏不容易出错,可读性较...

飞思卡尔mc9s12x系列单片机结构?
飞思卡尔mc9s12x系列单片机是一款基于CPU12内核的16位车用MCU,其主要硬件特性包括:16位CPU、40~50MHz主频、128KB Flash、8KB RAM、8KB Data Flash、2个增强型串行通讯接口(SCI)、2个串行外设接口(SPI)、1个msCAN模块、2个8通道12位A\/D、8通道16位定时器、4通道24位周期中断定时器(PIT)...

嵌入式系统设计实战:基于飞思卡尔S12X微控制器内容简介
本书《嵌入式系统设计实战:基于飞思卡尔S12X微控制器》以飞思卡尔半导体公司出品的16位S12X系列MCU,MC9S12XS128为教学平台,深入讲解嵌入式系统的软件和硬件设计。全书共11章,首先在第1章,系统地介绍了嵌入式系统的知识体系,指出了学习中可能遇到的误区,并给出了学习建议,为初学者铺设了清晰的学习...

飞思卡尔的MC9S12XS128MAA芯片,要用多大的电压供电,
5V,对于freescal早期的8位和16位单片机一般的都是5V。3.3V是后来为了低功耗开发的一般都是32位的或者较高级的单片机才有的。

飞思卡尔单片机MC9S12XE系列ATD模块的多通道采集疑问
我也是困惑了好几天,仔细看datasheet才知道答案,仔细看蓝色字体的内容,它的意思是说在non-FIFO mode下,AD采样后的第一个结果存放在ATDDR0中,第二个存放在ATDDR1中,以此类推。按照你的问题,就是第5个通道的采样结果放在ATDDR0中,第6个放在ATDDR1中,后面的依次类推。

相似回答