2022年嵌入式系统设计课设报告.pdf
《2022年嵌入式系统设计课设报告.pdf》由会员分享,可在线阅读,更多相关《2022年嵌入式系统设计课设报告.pdf(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式系统设计课设报告福州大学嵌入式系统设计课设报告书题目: 基于 28027 的虚拟系统姓名: 学号: 学院: 电气工程与自动化学院专业: 电气工程与自动化年级: 起讫日期 : 指导教师 : 目录1、课程设计目的. 1 2、课程设计题目与实现目标. 1 3、设计方案 .1 4、程序流程图 .1 5、程序代码 .1 6、调试总结 . 1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告7、设计心得体会 .1 8、参考文献
2、.1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告1、课程设计目的嵌入式系统设计课设就是与嵌入式系统设计课程相配套的实践教学环节。嵌入式系统设计就是一门实践性很强的专业基础课, 通过课程设计 , 达到进一步理解嵌入式芯片的硬件、软件与综合应用方面的知识, 培养实践能力与综合应用能力, 开拓学习积极性、主动性 , 学会灵活运用已经学过的知识, 并能不断接受新的知识。培养大胆发明创造的设计理念 , 为今后就业打下良好的基础
3、。通过课程设计 ,掌握以下知识与技能 : 1 嵌入式应用系统的总体方案的设计; 2 嵌入式应用系统的硬件设计; 3 嵌入式应用系统的软件程序设计; 4 嵌入式开发系统的应用与调试能力2、课程设计题目与实现目标课程设计题目 :基于 28027 的虚拟系统任务要求 : A、利用 28027的片上温度传感器 ,检测当前温度 ; B、 通过 PWM 过零中断作为温度检测A/D 的触发 ,在 PWM 中断时完成温度采样与下一周期PWM 占空比的修正 ;PWM 频率为 1K; C、利用按键作为温度给定 ;温度给定变化从 10 度到 40度。D、当检测温度超过给定时 ,PWM 占空比增减小 (减小幅度自己设
4、定 );当检测温度小于给定时 ,PWM 占空比增大 (增大幅度自己设定 ); E、把 PWM 输出接到捕获口 ,利用捕获口测量当前PWM 的占空比 ; F、 把 E 测量的 PWM 占空比通过串口通信发送给上位机; 3、设计方案 -介绍系统实现方案与系统原理图系统实现方案 : 任务 A:利用 ADC 模块通道 A5获取当前环境温度。任务 B:PWM 过零触发 ADC 模块, 在 PWM 中断服务函数中 , 将当前环境温度与按键设定温度进行比较 , 并按照任务 D的要求修订 PWM 占空比。PWM 频率为 1K HZ: 根据关系式 :TBCLK=SYSCLKOUT/(HSPCLKDIV*CLKD
5、IV) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告取 SYSCLKOUT=60M HZ,HSPCLKDIV=6,CLKDIV=1,求得TBCLK=10M HZ。将 period 设为 10K,便得到 1K HZ 的 PWM 波。任务 C:用 KEY模块的中断实现温度给定。任务 D:在 PWM 的周期结束产生的中断中, 通过改变比较点CMPA 的位置来改变 PWM 占空比的大小。任务 E:利用 CAP模块设置 3 个捕
6、获点捕获 PWM 的上升沿与下降沿 , 计算得到 PWM 波的占空比。任务 F:利用 SCI模块实现串口通信将温度与占空比上传到上位机。此外, 各模块的配置都与GPIO模块有关。系统原理图 :28027 C2000 Piccolo Launchpad原理图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告4、程序流程 -各个模块的流程图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师
7、归纳 - - - - - - - - - -第 5 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告5、程序代码/*app 、c*/ / the includes#includeApplication/app、h/ */ the defines/ */ the globals/ */ the functionsvoiddelay ( uint32_t time) while (time-); / 延时函数精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 26 页
8、- - - - - - - - - - 嵌入式系统设计课设报告/ end of file /*isr 、c*/ / the includes#includeApplication/isr、h/ */ the defines/ */ the globals/ */ the functionsinterruptvoidLED_PWM_isr( void ) /PWM的中断服务函数 if (MY_ADC40) SET_TEMP=10; PIE_clearInt(myPie,PIE_GroupNumber_1 ); interruptvoidMY_CAP_isr( void ) /CAP 中断服务函数
9、 uint32_tCapEvent1Count=0,CapEvent2Count=0,CapEvent3Count=0; float fPwmDuty=0 、0; CapEvent1Count = CAP_getCap1(myCap); CapEvent2Count = CAP_getCap2(myCap); CapEvent3Count = CAP_getCap3(myCap); fPwmDuty = ( float)(CapEvent2Count - CapEvent1Count) / (CapEvent3Count - CapEvent1Count); / 计算PWM 占空比 fPwmD
10、uty=fPwmDuty*100; NOW_PWM=(int )fPwmDuty; CAP_clearInt(myCap, CAP_Int_Type_CEVT3 ); CAP_clearInt(myCap, CAP_Int_Type_Global); / Acknowledge this interrupt to receive more interrupts from group 4 PIE_clearInt(myPie, PIE_GroupNumber_4 ); /redefined in Isr、h/ end of file /*F2802x_Device 、h*/ #includeF2
11、802x_Component/include/adc、h#includeF2802x_Component/include/clk、h#includeF2802x_Component/include/flash、h#includeF2802x_Component/include/gpio、h#includeF2802x_Component/include/pie、h#includeF2802x_Component/include/pll、h#includeF2802x_Component/include/timer、h#includeF2802x_Component/include/wdog、h
12、#includeF2802x_Component/include/sci、h#includeF2802x_Component/include/cap、h 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告/*Key 、c*/ / the includes#includeUser_Component/Key/Key、h/ */ the defines/ */ the globals/ */ the functions/ the
13、 function prototypes/! brief KEY initail/! paramin None/! paramout NonevoidKEY_initial( void ) /! brief KEY configure/! paramin None/! paramout NonevoidKEY_config ( void ) /按键为 GPIO12设置为输入口/1 、 modeGPIO_setMode(KEY_obj, KEY1, GPIO_12_Mode_GeneralPurpose); /2 、 directionGPIO_setDirection(KEY_obj, KEY
14、1, GPIO_Direction_Input); /3 、 pullup精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告GPIO_setPullUp(KEY_obj, KEY1, GPIO_PullUp_Disable); /4 、 qualificationGPIO_setQualification(KEY_obj, KEY1, GPIO_Qual_Sync ); /! brief ScanKey API/! para
15、min key/! paramout the state of KEYuint16_tScanKey( constGPIO_Number_e key) return GPIO_getData(KEY_obj, key); /! paramin None/! paramout NonevoidKEY_INT_config( void ) /(3)、 register PIR vectorPIE_registerPieIntHandler(myPie, PIE_GroupNumber_1 , PIE_SubGroupNumber_4 , (intVec_t) &KEY_xint1_isr); /(
16、4)、 module interrupt configurePIE_setExtIntPolarity(myPie,CPU_ExtIntNumber_1 , PIE_ExtIntPolarity_FallingEdge); GPIO_setExtInt(myGpio, GPIO_Number_12, CPU_ExtIntNumber_1 ); /(5)、 enable module IEPIE_enableExtInt(myPie, CPU_ExtIntNumber_1 ); /(6)、 enable PIEIERx、yPIE_enableInt(myPie, PIE_GroupNumber_
17、1 , PIE_InterruptSource_XINT_1); /(7) enable CPU IERxCPU_enableInt(myCpu, CPU_IntNumber_1 ); /! brief Interrupt Service Routine/! paramin None/! paramout NoneTARGET_EXT interruptvoidKEY_xint1_isr( void ); /redefined in Isr 、h/ end of file/*Key 、h*/ #ifndef _KEY_H_ #define _KEY_H_ / the includes#incl
18、ude/ driver#includeF2802x_Component/F2802x_Device、h精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告#includeUser_Component/User_Mcu/User_System、h#ifdef _cplusplus externC #endif#ifndef TARGET_GLOBAL #define TARGET_EXT extern#else#define
19、TARGET_EXT #endif/*- hardware description of the example module -*/ For example/ The module derived from GPIO#define KEY_obj myGpio /here myGpio is defined in System 、h#define KEY1 GPIO_Number_12 /pinTARGET_EXT voidKEY_initial( void ); TARGET_EXT voidKEY_config ( void ); TARGET_EXT voidKEY_INT_confi
20、g( void ); TARGET_EXT interruptvoidKEY_xint1_isr( void ); /redefined in Isr 、h/*-end of hardware description -*/TARGET_EXT uint16_tScanKey( constGPIO_Number_e key); /*-end of API description -*/#define KEYPressed 1 /*- end of defines -*/#ifdef _cplusplus #endif/ extern C#endif/ end of _EXAMPLE_H_ de
21、finition/*LED_PWM、c*/ / the includes#includeUser_Component/LED_PWM/LED_PWM 、h/ the functionsvoidLED_PWM_initial( void ) mycmp=0; voidLED_PWM_config( void ) /GPIO 的配置 GPIO_setMode(myGpio,GPIO_Number_0, GPIO_0_Mode_EPWM1A); GPIO_setPullUp(myGpio,GPIO_Number_0, GPIO_PullUp_Disable); 精品资料 - - - 欢迎下载 - -
22、 - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 26 页 - - - - - - - - - - 嵌入式系统设计课设报告/PWM的配置 CLK_disableTbClockSync(myClk); /PWM模块使能 CLK_enablePwmClock(myClk,PWM_Number_1 ); / 设置PWM 的时钟/PWM_setClkDiv(myPwm1,PWM_ClkDiv_by_1); PWM_setHighSpeedClkDiv(myPwm1, PWM_HspClkDiv_by_6 ); / 计数器的设置 PWM_s
23、etCounterMode(myPwm1, PWM_CounterMode_Up ); /PWM周期设置 PWM_setPeriod(myPwm1,10000); / 设置周期加载模式 PWM_setPeriodLoad(myPwm1,PWM_PeriodLoad_Shadow); / 比较点的设置 PWM_setCmpA(myPwm1,5000); /PWM装载模式 PWM_setLoadMode_CmpA(myPwm1, PWM_LoadMode_Period); / 动作PWM_setActionQual_CntUp_CmpA_PwmA(myPwm1,PWM_ActionQual_Set
24、 ); PWM_setActionQual_Period_PwmA(myPwm1,PWM_ActionQual_Clear); / 时钟同步 CLK_enableTbClockSync(myClk); voidLED_PWM_INT_config ( void ) PIE_registerPieIntHandler(myPie,PIE_GroupNumber_3 , PIE_SubGroupNumber_1,( intVec_t)&(LED_PWM_isr); / 模块中断配置 PWM_setIntMode(myPwm1, PWM_IntMode_CounterEqualPeriod); PW
25、M_setIntPeriod(myPwm1,PWM_IntPeriod_FirstEvent); /PWM中断使能 PWM_enableInt(myPwm1); /PIE开关的允许 PIE_enableInt(myPie, PIE_GroupNumber_3 , PIE_InterruptSource_EPWM1); /CPU 全局中断 CPU_enableInt(myCpu,CPU_IntNumber_3 ); / end of file/LED_PWM、h*/ 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - -
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 嵌入式 系统 设计 报告
限制150内