飞思卡尔16位单片机9S12XS128使用和程序.doc

飞思卡尔16位单片机9S12XS128使用和程序.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
飞思卡尔16位单片机9S12XS128使用和程序

飞思卡尔16位单片机9S12XS128使用 收藏 最近做一个关于飞思卡尔16位单片机9S12XS128MAA的项目,以前未做过单片机,故做此项目颇有些感触。现记录下这个艰辛历程。 以前一直是做软件方面的工作,很少接触硬件,感觉搞硬件的人很高深,现在接触了点硬件发现,与其说使用java,C#等语言写程序是搭积木,不如说搞硬件芯片搭接的更像是在搭积木(因为芯片是实实在在拿在手里的东西,而代码不是滴。还有搞芯片内部电路的不在此列,这个我暂时还不熟悉)。目前我们在做的这个模块,就是使用现有的很多芯片,然后根据其引脚定义,搭接出我们需要的功能PCB板,然后为其写程序。 废话不多说,进入正题。 单片机简介: 9S12XS128MAA单片机是16位的单片机80个引脚,CPU是CPU12X,内部RAM 8KB,EEPROM:2KB,FLASH:128KB,外部晶振16M,通过内部PLL可得40M总线时钟。 9S12XS128MAA单片机拥有:CAN:1个,SCI:2个,SPI:1个,TIM:8个,PIT:4个,A/D:8个,PWM:8个 下面介绍下我们项目用到的几个模块给出初始化代码 1、时钟模块初始化 单片机利用外部16M晶振,通过锁相环电路产生40M的总线时钟(9S12XS128系列标准为40M),初始化代码如下: view plaincopy to clipboardprint? /******************系统时钟初始化****************/ void Init_System_Clock() { asm { // 这里采用汇编代码来产生40M的总线 LDAB #3 STAB REFDV LDAB #4 STAB SYNR BRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率 BSET CLKSEL,#$80 } } /******************系统时钟初始化****************/ void Init_System_Clock() { asm { // 这里采用汇编代码来产生40M的总线 LDAB #3 STAB REFDV LDAB #4 STAB SYNR BRCLR CRGFLG,#$08,*//本句话含义为等待频率稳定然后执行下一条汇编语句,选择此频率作为总线频率 BSET CLKSEL,#$80 } } 上面的代码是汇编写的,这个因为汇编代码量比较少,所以用它写了,具体含义注释已经给出,主函数中调用此函数即可完成时钟初始化,总线时钟为40M. 2、SCI模块初始化 单片机电路做好了当然少不了和PC之间的通信,通信通过单片机串口SCI链接到PC端的COM口上去。下面进行SCI初始化 view plaincopy to clipboardprint? /******************初始化系统SCI****************/ void Init_System_SCI() { SCI0BD=260; //设置为9600bps SCIbaud_rate=PLLclock/(16*SCI0BD)SCI0CR1=0; //8位模式,无奇偶校验位 SCI0CR2=0x2C; //发送允许,接受中断允许 } /******************初始化系统SCI****************/ void Init_System_SCI() { SCI0BD=260; //设置为9600bps SCIbaud_rate=PLLclock/(16*SCI0BD)SCI0CR1=0; //8位模式,无奇偶校验位 SCI0CR2=0x2C; //发送允许,接受中断允许 } 初始化之后就可以利用SCI与PC之间的通信了,下面介绍如何与PC间通信 首先用线将单片机与PC上的COM口链接起来,具体链接使用的线需要根据RS-232串口的线的定义链接 然后PC端打开超级终端,使用9600bps,无奇偶校验,然后链接即可,注意COM口选择要正确。 单片机端的发送代码如下: vie

文档评论(0)

zhuwenmeijiale + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7065136142000003

1亿VIP精品文档

相关文档