北京科技大学 嵌入式课程设计报告_嵌入式课程设计报告

2020-02-28 其他范文 下载本文

北京科技大学 嵌入式课程设计报告由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“嵌入式课程设计报告”。

《嵌入式控制系统》 课程设计报告

学 院

专业班级

指导教师

_

目录

摘要..............................................................................................................................................4

引言

随着芯片技术和电子产品智能化的飞速发展,嵌入式技术越来越受到人们的关注,应用领域几乎遍及所有的电子产品:智能机器人、网络通信、军用设备、汽车导航、环境保护、智能仪器等等。嵌入式系统不仅融合了计算机软、硬件技术、通讯技术和半导体微电子技术,而且针对实际应用系统要求,将相应的计算机直接嵌入到应用系统中,并可针对应用需求对软、硬件进行优化、裁减。

嵌入式控制系统是一门新兴的课程,通过本次课程设计可以更好地掌握这门新技术,对今后的发展有很大帮助。

开发方法和流程,熟悉Intel XScale硬件平台及其应用处理机的使用方法,熟悉WINCE嵌入式系统的基本原理、概念。

4.设计原理 4.1 LED发光原理

LED(Light Emitting Diode),即发光二极管。是一种半导体固体发光器件。它是利用固体半导体置于一个有引线的架子上,然后四周用环氧树脂密封,起到保护内部芯线的作用,所以LED的抗震性能好。

发光二极管的核心部分是由P型半导体和N型半导体组成的晶片,如图1,在P型半导体和N型半导体间有一个过渡层,称为P-N结。在某些半导体材料的P-N结中,注入的少数载流子与多数载流子复合时,会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。P-N结加反向电压,少数载流子难以注入,故不发光。利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。当它处于正向工作状态时(即两端加上正向电压),电流从LED阳极流向阴极时,半导体晶体就发出从紫外到红外不同颜色的光线,光的强弱与电流有关。

图1 发光二极管的核心组成部分

图3 控件设计图

其中,显示按钮是作为数码管静态显示的按钮,如显示1235; 亮、灭、闪烁这三个按键是通过GPIO控制发光二极管的状态; 测试按键是实现2,4、6、8数码管循环动态显示的按钮; 复位按键是实现中断次数清零功能的按钮; Apply按键是启动更改的循环显示周期的按键。

以上就是整个课程设计的全部控制界面,通过不同的按钮操作,实现不同的功能。

5.3基本功能的实现

windowsCE是一个界面友好的嵌入式操作系统,系统提供了丰富了控件,极大的方便了用户的开发。C++是优秀的编程语言,在EVC环境下,编写的难度大大降低,尤其是界面的处理。由于实验平台提供了相应的驱动程序,所以本次实验并不需要了解其硬件操作,大大缩短了一个嵌入式应用的开发速度。通过本次嵌入式实

图5 LED数码管循环显示2,4,6,7 6.2 LED数码管清零功能实现结果

通过控制面板上的操作按键,实现清零功能,当按键按下去之后,四个LED数码管的显示数字全部都会变为零。见图6

6.4 频率设置功能实现结果

闪烁周期可以通过键盘输入来进行设置,本课程设计设置的为0~9之间,基值为100ms,通过改变闪烁周期来控制2、4、6、8循环显示的频率。见图8.和图9.图8 闪烁周期为5时的结果

力,也增强了我们的团队协作能力。有什么不懂不明白的地方要及时请教老师或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识。

} //{{AFX_DATA_MAP(CLedDlg)// NOTE: the ClaWizard will add DDX and DDV calls here //}}AFX_DATA_MAP BEGIN_MESSAGE_MAP(CLedDlg, CDialog)

//{{AFX_MSG_MAP(CLedDlg)ON_BN_CLICKED(IDC_BUTTON_SET, OnButtonSet)ON_WM_DESTROY()ON_BN_CLICKED(IDC_BUTTON_ON, OnButtonOn)ON_BN_CLICKED(IDC_BUTTON_OFF, OnButtonOff)ON_BN_CLICKED(IDC_BUTTON_FLASH, OnButtonFlash)ON_WM_TIMER()ON_BN_CLICKED(IDC_BUTTON_TEST, OnButtonTest)ON_BN_CLICKED(IDC_BUTTON_RESET, OnButtonReset)ON_BN_CLICKED(IDC_BUTTON_APPLY, OnButtonApply)//}}AFX_MSG_MAP END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CLedDlg meage handlers

BOOL CLedDlg::OnInitDialog(){

CDialog::OnInitDialog();// Set the icon for this dialog.The framework does this automatically // when the application's main window is not a dialog

}

void CLedDlg::OnButtonSet(){

//KillTimer(1);m_test=FALSE;UINT val =GetDlgItemInt(IDC_EDIT_NUM,&b,FALSE);memset(data,0,4);if(b){ BOOL b;BYTE data[4];DWORD bytes;// TODO: Add your control notification handler code here m_test=false;m_flash=false;n=0;ntime=0;flashtime=5;SetTimer(1,100,NULL);

return TRUE;// return TRUE unle you set the focus to a control

WriteFile(m_hDev2,&m_bValue,4,&m_dwBytes,NULL);} void CLedDlg::OnButtonOff(){

}

void CLedDlg::OnButtonFlash(){

}

void CLedDlg::OnTimer(UINT nIDEvent){

// TODO: Add your meage handler code here and/or call default

BYTE test[4]={2,4,6,8};BYTE data[4];DWORD bytes;// TODO: Add your control notification handler code here

m_flash=!m_flash;// TODO: Add your control notification handler code here

//KillTimer(1);m_flash=FALSE;m_bValue = TRUE;WriteFile(m_hDev2,&m_bValue,4,&m_dwBytes,NULL);

} if(ReadFile(m_hDev3,&val,sizeof(val),&bytes,NULL)){

if(val!=oldval){ SetDlgItemInt(IDC_EDIT_INTERRUPT,val,FALSE);oldval=val;

} else {

}

} m_test=FALSE;for(i=0;i

flashtime=str[0]-'0';

if(flashtime==0)

{

flashtime=1;

} } }

《北京科技大学 嵌入式课程设计报告.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
北京科技大学 嵌入式课程设计报告
点击下载文档
相关专题 嵌入式课程设计报告 报告 嵌入式 课程设计 嵌入式课程设计报告 报告 嵌入式 课程设计
[其他范文]相关推荐
    [其他范文]热门文章
      下载全文