飞思卡尔16位单片机MC9S12XS128编程问题,如下
飞思卡尔16位单片机MC9S12XS128用c语言编程,引脚位定义怎么写啊,还可以像51单片机一样用sbita=p0.0这样的么?以及整口赋值怎么写,新手目前只用过51,...
飞思卡尔16位单片机MC9S12XS128用c语言编程,引脚位定义怎么写啊,还可以像51单片机一样用sbit a=p0.0这样的么?以及整口赋值怎么写,新手目前只用过51,求解,急!
展开
3个回答
展开全部
有一定差别,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嵌入式系统的书,各大文库里也有许多资料,新浪文库、百度文库都有,可以看下。
给你个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微控制器的设计与应用》
王宜怀主编的,北京航空航天大学出版社 (北航做智能车是相当牛啊)
还有一本外国翻译的,就叫嵌入式系统,具体下面的名字也记得不大清了,说是很经典的,但是好久都没接触了,映像也不深了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询