版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、山东大学嵌入式系统课程报告姓 名名:学 号号:学 院院:专 业业:年 级 2015年 11 月 25 日目录目录2课程概述21. 官方定义22. 个人理解3项目经历4课程实验4实验目的4实验过程4扩展实验6自动刹车灯6附录8智能插座项目代码8课程概述1. 官方定义IEEE对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”。 嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是
2、由单个程序实现整个控制逻辑。 从应用对象上加以定义,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。2. 个人理解虽然听说嵌入式这个词挺早的,大一刚开学就听学长学姐提到过,但是真正开始做一个嵌入式的项目的时候我基本上是带着纯软件的眼光去看的,感觉除了需要考虑这个程序所要运行的机器的性能,比如最基本的延迟,之外,好像也没什么特别的。我第一个项目是用GSM模块和51单片机做的手机控制电源,大概就是下面这个模型。使用51作为命令发出者和状态
3、判决者对两个模块进行控制。该项目程序源码见附录。当时跟着厂家的示例程序和注释猜变量的作用和运行流程,加上代码长度有限制,最后勉强算是完成了功能。中间出现过很多奇怪的问题,有一些是硬件本身的问题,比如天线接触不好,必须固定在一个角度才能初始化成功,还有一些特别莫名其妙的问题,有时候程序运行就是老是跳过某一句话,实际调试的时候就特别崩溃,有时候考虑数据还。当时也学了GUI编程,然后就特别感慨,给我3天我能完成一个小软件的大部分进度,但是3天时间我连一个硬件问题都找不出来。后来大二下学了微机原理,然后才明白整个流程是怎么样的,尤其是当时讲中断的时候,我觉得就像发现新大陆一样,当时学期末做的那四个实验
4、我觉得都特别有意义,我把AD转换传送到数码管上连续显示的时候,老师告诉我可以利用视觉残留进行即时的连续变化,调好延时的时间间隙就可以了,做出来确实是这样的。我觉得嵌入式编程的过程式思维还是很符合一般人的思维习惯的,只不过需要考虑实际运行环境,条件不那么宽松。项目经历2014哈工大山大联赛校级二等奖2015基于GSM模块的智能插座课程实验实验目的实现使用SysTick以及三个按键控制三只LED灯的闪烁效果:1.程序启动,没有按键按下时,三只灯依靠SysTick中断有规律亮灭。2.当三个按键中其中一个按下时其余两只灯全部熄灭,只有对应的LED灯长亮。实验过程在main初始化的时候加一句 while
5、( SysTick_Configuration( 7200000 ) != 0 ) ; 定时就能启动滴答时钟,系统每过1ms即进入一次stm32f10x_it.c中的SysTick_Handler()函数。在中断向量表中查找到SysTick_Handler(),对它进行修改。即完成了无按键输入时LED的有规律亮灭。/* * brief This function handles SysTick Handler. * param None * retval None */void SysTick_Handler(void)Led_Turn_on_all();Delay(3000000);Led_
6、Turn_off_all();Delay(3000000); 下面实现按键响应。在InterruptConfig()中可以找到按键响应的中断号,在侧栏的start up中可以找到中断向量表,从中找到本函数中用到的GPIO_KEY1_EXTI_IRQn即EXTI9_5_IRQn,于是我们找到了关键的中断处理函数,将它按照要求进行修改。即完成功能2。/* Function Name : EXTI9_5_IRQHandler* Description : This function handles External lines 9 to 5 interrupt request.* Input : N
7、one* Output : None* Return : None*/void EXTI9_5_IRQHandler(void) /* Key */ if(EXTI_GetITStatus(EXTI_Line5) != RESET) Led_Turn_off_all(); Led_Turn_on_1(); /* Clear the EXTI Line 5 */ EXTI_ClearITPendingBit(EXTI_Line5); if(EXTI_GetITStatus(EXTI_Line6) != RESET) Led_Turn_off_all(); Led_Turn_on_2(); /*
8、Clear the EXTI Line 6 */ EXTI_ClearITPendingBit(EXTI_Line6); if(EXTI_GetITStatus(EXTI_Line7) != RESET) Led_Turn_off_all(); Led_Turn_on_3(); /* Clear the EXTI Line 7 */ EXTI_ClearITPendingBit(EXTI_Line7); 扩展实验自动刹车灯自动刹车灯是一个小巧的电路板,在刹车减速时自动亮起。可以将其安装在自行车上,用于警示其他车辆和行人。自动刹车灯由电池供电并使用内置加速度传感器。l 原件:STM32 两LED
9、灯,两个红色LED 加速度传感器l 使用方法自动刹车灯共有两个工作模式:刹车灯模式和警示灯模式。启动后自动进入警示灯模式,两种模式下加速度传感器的参数不同,但在静止时设备都会自动休眠,可以通过按键唤醒。设备使用两节5号电池供电。刹车灯模式:设备当作自动刹车灯使用时应当使用扎带等方式固定于自行车座椅下或后 轮货架上。固定完成后将开关调至ON端,在之后的使用中可以不必关闭。自动刹车灯在车辆静止30秒之后自动休眠,在监测到连续震动之后自动唤醒。工作时,如果没有监测到刹车,自动刹车灯左右两个LED均以低亮度显示黄色。当车辆刹车时,自动刹车灯的四只LED均以高亮显示红色。警示灯模式:设备工作于警示灯模式
10、下时,会依次以渐强和渐弱的形式点亮各LED,显示警示灯的效果。这种模式下加速度传感器不工作。作用是在晚上可以提醒后方的车辆前面有自行车行驶。l 实验构想 STM32加速度传感器加速度传感器使用STM32供电,在检测到反向加速度时,向STM32输出一个电平触发相应引脚的中断处理程序,该中断处理程序将红色LED所在引脚输出低电平,即点亮红色警示灯。附录#include <reg52.h>#include <intrins.h>#include <string.h>#include <stdio.h>#define uint unsigned int#
11、define uchar unsigned char#define MAXCHAR 81sbit LED0=P20;sbit LED1=P21;智能插座项目代码sbit LED2=P22;sbit LED3=P23;/sbit LED4=P24;/sbit LED5=P25;/sbit LED6=P26;/sbit LED7=P27;sbit OutJIDIANQI1=P27; sbit OutJIDIANQI2=P26;sbit OutJIDIANQI3=P25;sbit OutJIDIANQI4=P24;/sbit JIDIANQI=P10;sbit Send_ENGLISH_key=P3
12、2; /发英文TEXT短信按键sbit Send_CALLING_key=P33; /打电话按键uchar aaMAXCHAR;char SendCurCondition4;char SendResult9;int i=1;code uchar AT00="ATrn"/握手检测code uchar ATCN="AT+CNMI=2,1rn" /短信设置1code uchar CMGF1="AT+CMGF=1rn" /短信设置2 中午code uchar CMGR12="AT+CMGR=1rn" /读短信code uc
13、har CMGD12="AT+CMGD=1rn" /删除短信#define CALL_YOU_TELNUMBER "ATrn" #define SEND_MESSA_TO_YOUR "at+cmgs="quot;rn" #define SEND_MESSA_CONTENT ""uchar a,j=0,flag=0;int g_timeout=0;void delay(uint ms)/ 延时子程序 uchar i; while(ms-) for(i=0;i
14、<120;i+); /*函数名称:Print_Char函数功能:发送单个字符 入口参数:ch 出口参数:无*/void Print_Char(uchar ch)/发送单个字符 SBUF=ch; /送入缓冲区 while(TI!=1); /等待发送完毕 TI=0; /软件清零/*函数名称:Print_Str函数功能:发送字符串 入口参数:*str 出口参数:无*/void Print_Str(uchar *str)/发送字符串 while(*str!='0') Print_Char(*str); delay(2); str+; /*函数名称:Ini_UART函数功能:串口初
15、始化、定时器初始化 入口参数:无 出口参数:无*/void Ini_UART(void)/串口初始化、定时器初始化 SCON = 0x50 ; /SCON: serail mode 1, 8-bit UART, enable ucvr /UART为模式1,8位数据,允许接收 TMOD |= 0x20 ; /TMOD: timer 1, mode 2, 8-bit reload /定时器1为模式2,8位自动重装 PCON |= 0x80 ; /SMOD=1; TH1 = 0xFA ; /Baud:19200 fosc="11".0592MHz TL1=0xFA; IE |=
16、0x90 ; /Enable Serial Interrupt TR1 = 1 ; / timer 1 run TI=1; ES=1;void clearBuff(void) for(j=0;j<MAXCHAR;j+) aaj=0x00; j=0;int Hand() delay(10); if(strstr(aa,"OK")!=NULL) /检测单片机和模块的连接 g_timeout=0; return 1; if(g_timeout>50) g_timeout=0; return -1; g_timeout+; return 0;void AT(void)/
17、初始化程序 clearBuff(); Print_Str(AT00); delay(50); while(strstr(aa,"OK")=NULL) delay(50); LED1=0; clearBuff(); Print_Str(AT00); Print_Str(CMGF1); delay(50);Print_Str(ATCN);delay(50);Print_Str(CMGD); delay(50);LED2=0;void send_english()char a1='0',a2='0',a3='0',a4='0
18、'if(OutJIDIANQI1)a1='1'if(OutJIDIANQI2)a2='1'if(OutJIDIANQI3)a3='1'if(OutJIDIANQI4)a4='1' SendCurCondition0=a1;SendCurCondition1=a2;SendCurCondition2=a3;SendCurCondition3=a4; clearBuff(); Print_Str(CMGF1); delay(100); Print_Str(SEND_MESSA_TO_YOUR); delay(300); Pri
19、nt_Str(SendCurCondition); /发短信内容 delay(10); Print_Char(0x1A); /发送结束符号 delay(10); clearBuff();void send_result()char a1='0',a2='0',a3='0',a4='0'if(OutJIDIANQI1)a1='1'if(OutJIDIANQI2)a2='1'if(OutJIDIANQI3)a3='1'if(OutJIDIANQI4)a4='1' Send
20、Result0=a1;SendResult1=a2;SendResult2=a3;SendResult3=a4;SendResult4=' 'SendResult5=' 'SendResult6='O'SendResult7='K'SendResult8='0' clearBuff(); Print_Str(CMGF1); delay(100); Print_Str(SEND_MESSA_TO_YOUR); delay(300); Print_Str(SendResult); /发短信内容 delay(50); P
21、rint_Char(0x1A); /发送结束符号 delay(10); clearBuff();void main()OutJIDIANQI1=1; OutJIDIANQI2=1;OutJIDIANQI3=1;OutJIDIANQI4=1;LED0=0; delay(500); Ini_UART(); /初始化串口delay(500); AT(); /初始化模块 delay(10); Send_ENGLISH_key=1; /发英文TEXT短信按键 clearBuff();Print_Str(CMGD); while(Hand()=0)LED2=0;LED1=0;LED0=0; clearBu
22、ff(); while(1) LED3=0;LED2=0;LED1=0;LED0=0; if(Send_ENGLISH_key=0) /发英文TEXT短信按键 send_english(); if(strstr(aa,"+CMTI")!=NULL) /?+CMTI? /LED7=0; clearBuff(); delay(50); Print_Str(CMGR); /?1? delay(100); if(strstr(aa,"ask")!=NULL) /i=1;/LED6=i;send_english(); delay(100);clearBuff();
23、 Print_Str(CMGD); delay(50); while(Hand()=0); clearBuff(); else if(strstr(aa,"0000")!=NULL)/ LED7=1; OutJIDIANQI1=0; OutJIDIANQI2=0; OutJIDIANQI3=0; OutJIDIANQI4=0;if(strstr(aa,"0001")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=0; OutJIDIANQI3=0; OutJIDIANQI4=1;if(strstr(aa,"0010&q
24、uot;)!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=1; OutJIDIANQI3=0; OutJIDIANQI4=0;if(strstr(aa,"0011")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=0; OutJIDIANQI3=1; OutJIDIANQI4=1;if(strstr(aa,"0100")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=1; OutJIDIANQI3=0; OutJIDIANQI4=0;if(strstr(aa,"010
25、1")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=1; OutJIDIANQI3=0; OutJIDIANQI4=1;if(strstr(aa,"0110")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=1; OutJIDIANQI3=1; OutJIDIANQI4=0;if(strstr(aa,"0111")!=NULL) OutJIDIANQI1=0; OutJIDIANQI2=1; OutJIDIANQI3=1; OutJIDIANQI4=1;if(strstr(aa,"1000")!=NULL) OutJIDIANQI1=1; OutJIDIANQI2=0; OutJIDIANQI3=0; OutJIDIANQI4=0;if(strstr(aa,"1001")!=NULL) Out
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年消防安全管理与维护协议3篇
- 2024-2030年中国婴儿纸尿裤行业市场竞争趋势及发展潜力分析报告
- 2024-2030年中国女鞋市场需求状况及发展策略研究报告
- 2024-2030年中国商业街区建设行业管理模式规划分析报告
- 2024年度施工现场治安消防应急预案编制与演练合同2篇
- 2024年物流协同:货物运输承包协议
- 2024年度建筑工程施工预备协议版
- 2024上诉离婚协议书样本:上诉离婚协议与子女抚养责任落实3篇
- 2024商场保安员培训与考核管理服务合同2篇
- 2024全新智能安防监控系统合同签订与执行细则2篇
- 公司年会安保方案(2篇)
- GB/T 8492-2024一般用途耐热钢及合金铸件
- 员工快速招聘方案
- 新融合大学英语(I)智慧树知到期末考试答案章节答案2024年江西理工大学
- 中医培训课件:《耳穴基础知识》
- 电大财务大数据分析编程作业5
- 新生儿科亚低温治疗新生儿缺氧缺血性脑病学习培训课件
- 粉丝作为超常消费者的消费行为、社群文化与心理特征研究前沿探析
- 奇异的仿生学智慧树知到期末考试答案2024年
- 地质科普进校园活动方案设计
- 供应链合作干股入股合作协议书
评论
0/150
提交评论