arm课程设计报告书. -
更新时间:2023-10-12 05:22:01 阅读量: 综合文库 文档下载
- java课程设计报告书推荐度:
- 相关推荐
RISC微控制器嵌入式系统 课程设计报告 班 级 09计应3班
学 号 09106107 09106098 姓 名 高原 肖潇
深圳职业技术学院计算机应用技术专业 2011年6月 第 1 页 共 6 页
实现手机的拨号功能 1 课程设计的任务
1) 在基于PXA270教学平台上实现手机的基本方法就是通过串口接入一个 GSM模块,然后用GSM模块编程指令(AT指令)来实现手机的功能。
2) 数字1-9是手机的数字键盘,字母B键是拨号键(相当于手机的接听键或 拨出键),字母C键是挂断键。
3) 在教学平台的键盘上输入要拨叫的电话(数字)时,会在串口显示输入 的数字,再按字母B键时,会从串口输出一串用于拨号的AT指令。这串指 令会控制GSM模块对相关号码的呼叫。
4) 在教学平台的键盘上按字母C键时,会从串口输出挂断电话的AT指令。这 串指令会控制GSM模块挂断相应的呼叫。
2 课程设计实现的功能
1) 数字键盘扫描的详细过程和方法
在初始化阶段,所有的行(输出端口)被强行设置为低电平。在没有任何键按下时,所有的列(输入端口)将读到高电平。任何键的闭合将造成其中的一列变为低电平。一旦检测到有键被按下,就需要找出是哪一个键。过程很简单,微处理器只需在其中一列上输出一个低电平。如果它在输入端口上发现一个0值,微处理器就知道在所选择行上产生了键的闭合。相反,如果输入输出端口全是高电平,则被按下的键就不在那一行,微处理器将选择下一行,并重复该过程直到它发现了该行为止。一旦该行被识别出来,则被按下键的具体列可通过锁定输入端口上惟一的低电平来确定。 分析相应代码:
har KeypadGetData(void) //modified by hzh {
char KeyData; // 定义Keypad unsigned int KPData0; // Register data unsigned int KPData1; // 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(GPLR0&0x0001) //查看按键'D',其为GPIO的第0脚 {
DM_WaitMs(10); if(GPLR0&0x0001) {
while(GPLR0&0x0001); //等待按健放开 return 'D'; } }
}
if (timer == 0) {
KeyData = 0x54; // ASCII \//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 & (1<<0)) return 'E';
if(val & (1<<1))
return 'F';
if(val & (1<<2))
return '0'; } }
KPData0 = KPAS_REG;
KPData1 = (KPData0 & 0xF0) >> 4; // Extract Row data and right justify
KPPress = (KPData0 & 0x7C000000) >> 26; // Extract key press count and right justify KPData0 = KPData0 & 0xF; // Isolate Column Data //printf(\KPData0);
//printf(\第 3 页 共 6 页
KeyData = 0x0A;
if (KPPress == 1) // Decode only if 1 keypress has been detected {
switch (KPData0) {
case 0:
if(KPData1 == 0) KeyData = 'A'; if(KPData1 == 1) KeyData = '3'; if(KPData1 == 2) KeyData = '2'; if(KPData1 == 3) KeyData = '1'; break; case 1:
if(KPData1 == 0) KeyData = 'B'; if(KPData1 == 1) KeyData = '6'; if(KPData1 == 2) KeyData = '5'; if(KPData1 == 3) KeyData = '4'; break; case 2:
if(KPData1 == 0) KeyData = 'C'; if(KPData1 == 1) KeyData = '9'; if(KPData1 == 2) KeyData = '8'; if(KPData1 == 3) KeyData = '7'; break;
} }
return (KeyData);
}// End of KeypadGetPress()
2) 手机拨号功能及手机挂断功能的实现方法
在基于PXA270教学平台上实现手机的基本方法就是通过串口接入
一个GSM模块,然后用GSM模块编程指令(AT指令)来实现手机的功能。 数字1-9是手机的数字键盘,字母B键是拨号键(相当于手机的接听键 或拨出键),字母C键是挂断键(相当于手机的挂断键)。
在教学平台的键盘上输入要拨叫的电话(数字)时,会在串口显示输 入的数字,再按字母B键时,会从串口输出一串用于拨号的AT指令。这 串指令会控制GSM模块对相关号码的呼叫。
在教学平台的键盘上按字母C键时,会从串口输出挂断电话的AT指令。 这串指令会控制GSM模块挂断相应的呼叫。 分析相应代码: 第 4 页 共 6 页
printf(\{
char KeyData = 0;//接收输入信息;
char pnum[20]={'A','T','D'};//定义字符数组拨号信息 char gua[10]={'A','T','H',';','\\0'};//同上,挂断 int i=3;
KeypadHWSetup();//启动键盘
while(1) {
KeyData = KeypadGetData();//得到键盘输入信息 if(KeyData=='C')//如果按C {
printf(\显示gua,挂断 break; }
if(KeyData!=0xA)//按回车键
{
printf(\显示键盘输入的信息 pnum[i]=KeyData;//键盘输入号码
j++;
if(KeyData=='B')//按B开始拨号 {
pnum[i-1]=';';//最后个输入字符减去 pnum[i]='\\0';结束字符
break; } } 结论
我们这次的课程设计的任务主要是基于PXA270串行口通信电路,利用串 口个寄存器的基本用途和编程来实现手机拨号功能,对于我们来说,无疑对于嵌入式的操作与认识更深了一步,程序的开始阶段,老师要我们实现从数字键盘获取数字数据,然后通过串口发送,测试能否输出字段,一开始的编程遇到了不少问题,万是开头难,在开始的时候总是无从下手,后来研究课堂上讲过的知识,知道了获取数字键盘的知识,中间出现了一个大问题,就是字符输出的时候出现自动换行的情况,使串口发送出现了问题,经过老师和我们学生的共同研究,发现是硬件在某些时刻会自动产生换行符,最后顺利解决问题,最后一步在串口的发送中没有遇到大问题,最后,通过查书籍和手册,我们完成了课程设计要求的基本功能。
第 5 页 共 6 页
通过这一次课程设计,让我们更加了解嵌入式很多方面的知识。虽然不能完全将整个工程的代码都熟悉透,但基本的实现代码都能够熟知和编写。 第 6 页 共 6 页
正在阅读:
arm课程设计报告书. -10-12
九年级化学上册第1章第3节怎样学习和研究化学(2)自主学案(无答案)沪教版03-15
连续纤维补强陶瓷基复合材料概述09-03
《汉语通论》形成性考核册(作业答案参考)09-11
2017-2022年中国中水回用行业现状分析报告(目录) - 图文01-27
生态乡镇关于环境保护规划项目可行性方案04-07
一粒种子的旅行作文800字06-23
浅谈幼儿社会性交往的培养07-19
英语专业 综合英语第六册 课后 句子翻译09-14
徐寿昌有机化学2-8章课后答案06-22
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 报告书
- 课程
- 设计
- arm
- “余华”
- 少儿推荐书目
- 2015年重庆科技计划项目
- 湖北省大学生创业相关政策
- 公路专业(可研)工作大纲编制规定
- 电子烟温控原理和特点
- 国际投资知识点汇总
- 中苏同盟破裂原因分析以及朝鲜战争的起源分析(沈志华)
- 全日制本科培训考试题(一)答案
- 暂估入库业务处理流程
- 教育部审批具有办理留学资质公司
- 虚拟团队四大管理技巧(职场经验)
- 南大2014年当代世界经济与政治第一次作业习题+答案=100分
- 2013-2014八年级物理上册期末试卷质量分析
- 四年级奥数详解答案 第4讲 幻方
- 2016高中地理必修二期末综合训练题
- 大纲版创新设计2011届高考语文一轮复习 第1单元 识记现代汉语普通话的字音 考题精练
- 上海城市特色和形成分析 - 图文
- 致远中学选课走班实践与思考
- 二年级数学下册脱式和竖式计算练习题