教学课件 《MC9S12单片机原理及嵌入式应用开发技术(第2版)》陈万忠.ppt

教学课件 《MC9S12单片机原理及嵌入式应用开发技术(第2版)》陈万忠.ppt

  1. 1、本文档共295页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * SCK同步信号,对MOSI和MISO引脚传输的串行输入、输出数据进行同步 主机模式下,SCK信号来源于内部MCU总线时钟;主机和从机在SCK信号的跳变沿进行移位和采样数据 SCK的时钟频率由SPI0BR选择;主机和从机遵守相同时序模式 主机模式:SS信号上拉到高电平;从机模式:SS信号为低电平 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * VDDF、VDD、VDDPLL也有相应引脚输出,但不能用作电源,之所以引出是为了加相应的滤波电路 * * * * * * 用复位芯片时,单片机电源不能是3.3V * * * 交叉编译:是指在一台大一些、用起来更方便的计算机上编译产生目标系统的机器码。目标系统所用的CPU及指令系统与所用的计算机的CPU类型完全不同。 * * * * * * * * * * * * * * * * * * 示例程序 unsigned char KeyScan() { unsigned char Input,Output,Keynumber,Keyvalue1,i; Keyvalue1=0xFF; Output=0xF0; PORTA=Output; Input=PORTA4; if(Input!=0x0F) { delay(4); Input=PORTA4; if(Input!=0x0F) { Output=0x01; for(i=0;iRowSize;i++) { PORTA=~Output; Input=PORTA4; if(Input!=0x0F) { switch(Input) { case 0x0E: Keynumber=0; break; case 0x0D: Keynumber=1; break; case 0x0B: Keynumber=2; break; case 0x07: Keynumber=3; break; } Keynumber=Keynumber+i*ColumnSize; Keyvalue1=KeyDecode[Keynumber]; break; } else Output=1; } } } return(Keyvalue1); } 5V 行端口输出 0 0 0 0 1 1 0 1 1 1 1 Y1(PA0) X1 (PA4) Y2(PA1) Y3(PA2) Y4(PA3) X2 (PA5) X3 (PA6) X4 (PA7) 列端口输入 0 1 2 3 4 5 6 7 8 9 A B C D E F 键值表 const unsigned char KeyDecode[]={ 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x00, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f}; 5V 行端口输出 0 0 0 0 1 1 0 1 1 1 1 Y1(PA0) X1 (PA4) Y2(PA1) Y3(PA2) Y4(PA3) X2 (PA5) X3 (PA6) X4 (PA7) 列端口输入 0 1 2 3 4 5 6 7 8 9 A B C D E F 1 2 3 4 5 6 7 8 9 0 A B C D E F * College of Communication Engineering, Jilin University 9.3.1 键盘识别 6. 键盘的扫描策略 循环扫描:可行、可靠,占用CPU时间; 定时扫描:可能丢失按键动作,需要确定扫描频率,触点接触时间在几十到几百ms量级; 键盘中断:发现有任何按键按下时启动键盘扫描,需要设计相应的硬件电路 示例程序 void main(void) { /* put your own code here */ unsigned char Keyresult; showdata[0]=1; showdata[1]=2; showdata[2]=3; showdata[3]=4; EnableInterrupts; Init_PORT(); Show(); for(;;) {

文档评论(0)

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

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

版权声明书
用户编号:7201060146000004

1亿VIP精品文档

相关文档