arm课程设计报告书..docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RISC微限制器嵌入式系统 课程设计报告 班级09计应3班 学号09106098 姓名高原肖潇 深圳职业技术学院计算机应用技术专业 2023年6月 第1页共6页 实现手机的拨号功能 1课程设计的任务 1)在基于PXA270教学平台上实现手机的基本方法就是通过串口接入一个 GSM模块,然后用GSM模块编程指令(AT指令)来实现手机的功能。 2)数字1-9是手机的数字键盘,字母B键是拨号键(相当于手机的接听键或 拨出键),字母C键是挂断键。 3)在教学平台的键盘上输入要拨叫的电话(数字)时,会在串口显示输入 的数字,再按字母B键时,会从串口输出一串用于拨号的AT指令。这串指 令会限制GSM模块对相关号码的呼叫。 4)在教学平台的键盘上按字母C键时,会从串口输出挂断电话的AT指令。这 串指令会限制GSM模块挂断相应的呼叫。 2课程设计实现的功能 1)数字键盘扫描的具体过程和方法 在初始化阶段,全部的行(输出端口)被强行设置为低电平。在没有任何键按下 时,全部的列(输入端口)将读到高电平。任何键的闭合将造成其中的一列变为 低电平。一旦检测到有键被按下,就须要找出是哪一个键。过程很简洁,微处理 器只需在其中一列上输出一个低电平。假如它在输入端口上发觉一个。值,微处 理器就知道在所选择行上产生了键的闭合。相反,假如输入输出端口全是高电 平,则被按下的键就不在那一行,微处理器将选择下一行,并重复该过程直到它 发觉了该行为止。一旦该行被识别出来,则被按下键的具体列可通过锁定输入端 口上惟一的低电平来确定。 分析相应代码: har KeypadGetData(void) //modified by hzh char Key Data; 〃定义 Keypad unsigned int KPDataO; // Register data unsigned int KPDatal; // Register data unsigned int KPPress; // Keypad press count int timer; // Loop coutner/timer (for test timeout) unsigned int kpc; KeyData = 0x30; // Inital setting = ASCII ? timer = 200; // This will provide about a 10 second timeout kpc = KPC_REG; while (!(kpc (KEYP_KPC_MI | KEYP_KPC_DI)) (timer != 0)) { DM_WaitMs(50); // Dealy 50 mS as part of timeout loop timer = timer -1; // Decrement timer 第2页共6页 kpc = KPC_REG; if(GPLR00x0001) 〃查看按键D:其为GPIO的第。脚 ( DM_WaitMs(10); if(GPLR00x0001) ( while(GPLR00x0001); 〃等待按健放开 return D; ) ) ) if (timer == 0) ( KeyData = 0x54; // ASCII T for Time out //return (KeyData); ) // Code picks up here if a key is pressed DM_WaitMs(50); // Dealy 50 mS for data to settle if(kpc KEYP_KPC_DI) ( UINT32 val = KPDK_REG; if(val (1UL?31)) ( if(val(l?0)) return *E; if(val(l?l)) return F; if(val (1?2)) return O; ) ) KPDataO 二 KPAS_REG; KPDatal = (KPDataO OxFO) ? 4; // Extract Row data and right justify KPPress 二(KPDataO 0x7C000000) ? 26; // Extract key press count and right justify KPDataO = KPDataO OxF; // Isolate Column Data //printf(HKPDataO = %08x\r\n\ KPDataO); //printf(nKey Count = %08x\r\nn, KPPress); 第3页共6页 KeyData = OxO A; if (KPPress == 1) // De

文档评论(0)

132****2141 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:6031032000000005

1亿VIP精品文档

相关文档