嵌入式课程设计报告

时间:2024.3.31

 


嵌入式课程设计报告

          班    级:        自动化           

学    号:                             

          姓    名:                           

分    工:        (程序编写)         

       (程序调试)        

       (程序流程设计及报告)

                       20##年8月


目录

摘要.................................................................................................... 3

关键字................................................................................................ 3

一、课程设计目的............................................................................. 4

二、课题设计功能............................................................................. 4

LED数码管驱动程序........................................................................ 4

三、模块介绍与使用手册.................................................................. 5

1、开发工具介绍............................................................................ 5

2、开发语言.................................................................................... 5

3、LED数码管驱动程序设计.......................................................... 6

四、测试结果性能分析...................................................................... 8

五、遇到的问题及解决办法.............................................................. 9

六、实验总结..................................................................................... 9


基于Windows CE的嵌入式系统设计

摘要:当今的嵌入式设计队伍处于高度分化状态中。有着多得让人眼花缭乱的实现目标和工具,而windows CE之所以脱颖而出,是因为Windows CE的高级特性,诸如网络、通信以及图形功能,和模块化设计结合在一起,为中级开发人员创建高复杂度嵌入式系统提供了理想的环境。同时,Windows CE提供一个稳定、灵活且被广泛支持的操作系统来处理建立在嵌入式系统上的多种多样的硬件平台和软件应用程序。本次设计,我们使用Windows CE 开发环境,设计并演示了LED数码管驱动程序。


关键字Wndows CE的嵌入式系统、LED数码管驱动程序、EVC编程语言

Abstract:Today's embedded design teams in a high degree of differentiation in the State. Has a lot of confusing targets and tools, while Windows CE is to stand out, is that the advanced features of Windows CE, such as networking, communications, and graphics capabilities, and modular design work together, for intermediate developers create highly complex provides an ideal environment for embedded systems. At the same time, Windows CE provides a stable, flexible, and is widely supported by the operating system to build embedded systems for a wide variety of hardware platforms and software applications. This design, we use the Windows CE development environment, design and demonstrate LED digital tube led driver.

keyword:Windows CE of embedded system 、GPIO digital tube drivers、LED digital tube drivers


一、课程设计目的

1、对嵌入式程序开发在课堂教学的基础上有进一步的认识。

2、了解Windows CE下编程,掌握EVC的使用。

3、熟悉PXA270-EP实验设备。

二、课题设计功能

LED数码管驱动程序

要求编写一个测试程序,实现PXA270-EP目标板上的LED数码管循环显示数字2,4,6,8。

三、模块介绍与使用手册

1、开发工具介绍

 PXA270EP嵌入式实验箱

2、开发语言

由于在Windows CE下开发软件的编译器必须满足两个特点:第一、程序能够相对快速地执行;第二、相对减少对系统资源的消耗。而EVC是最符合这两个特点的,所以本次开发使用的语言是EVC。

3、LED数码管驱动程序设计

(1)设计流程图

 

(2)程序代码

/**********LED循环显示2,4,6,8**********/

void CLEDDlg::OnButtonSet()

{

   // TODO: Add your control notification handler code here

   SetTimer(1, 1000, NULL);                  /设置定时器(1秒)

}

void CLEDDlg::OnTimer(UINT nIDEvent)

{

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

   static char j=0;

   j++;

   BOOL b;

   BYTE data[4];

   DWORD bytes;

   UINT val;

        if(j==1)

          {val=2468;}

        if(j==2)

          {val=4682;}

        if(j==3)

          {val=6824;}

        if(j==4)

          {

            j=0;

            val=8246;

          }

       //获取数字内容

   memset(data,0,4);

       if(b)

       {

          int i,n;

          char str[16];

          n=sprintf(str,"%d",val);

          n=n>4?4:n;

          for(i=0;i<n;i++)

          {

              data[i]=ledfont[str[i]-'0'];

          }

       }

      //调用驱动程序写到硬件上去

       WriteFile(m_hDev,data,4,&bytes,NULL);

   CDialog::OnTimer(nIDEvent);


 (3)结果显示


四、测试结果性能分析

LED 数码管驱动程序

全部实现 PXA270-EP 目标板上的 LED 数码管操作任务,循环显示数字 2,4,6,8 ,实验结果稳定,数据可靠。

五、遇到的问题及解决办法

1. 实验中开始只是明确要在程序中插入一个宏观变量来把程序的阿拉伯数字和数码管的段显示对应起来,但没有找到其正确插入的位置,导致运行时数码管没有显示。后来经过和其他同学的程序比对,才发现问题所在并解决。

2. 在编写程序时,开始的设计方案是循环移位,不需要每次都赋值,但经编写后运行,调试多次都不出现结果,所以最终版的程序放弃移位操作,改为每次进行赋值,实现2468的循环。

3. 由于j++代码行的位置问题,导致显示过程中直接略过赋值为j==0的情况,开始至变更赋值+1.显示的第一个情况为1300初始值为随机,尔后才能正常显示,这说明在空出的一秒时有出现没有赋Val的情况,后来我们将j++代码行调整到静态赋值下方,所有判断情况的上面,正常实现了循环2.4.6.8。

4. 开始接线时,是以太网线和同步线都接,都设置,但由于操作流程没记清楚,导致连接不成功,后经过和书中的再次比对,我们选择了同步线进行连接,设置方便,实现了最终的显示。

六、实验总结

本次设计,我主要负责的主要是程序调试,在本次实验中,主要是全局变量的定义,还试验箱LED灯的循环显示,数字循环我们设置的是每秒变化一次,每次变换数字向右移。程序虽然简单,但是在程序调试,试验箱与主机的联机等过程中都遇到了问题,在实验中对软件和硬件的了解也加深了。

本次课程设计不仅我们对Windows CE设计有了更深的了解,而且我们在做设计任务时学会了发现问题并且解决问题,也意识到了团队合作的重要性,我相信这种团队合作意识在今后的工作生活中也会发挥出巨大的作用。


第二篇:嵌入式课程设计实验报告


嵌入式系统及机电接口应用

键控直流电动机

小组成员:

赵保顺  081014104

程辉    081014103

黄宇哲  081014106

梁霄    081014102

        指导老师:   郑嫦娥

实验日期:20##年11月23日

键控直流电机的正反转实验

1.1背景介绍

一、预备知识

1.  熟悉凌阳单片机的工作原理:

1)I/O口的使用原理和设置;

2)定时器或时基的设置、使用;

3)中断的设定。

2.  熟悉键盘扫描原理。

3.  熟悉汇编语言及 C 语言。

二、直流电机控制原理:

对于普通直流电机,其控制方法比较简单,只需给电机的两根控制线加上适当的电压即可使电机转动起来, 电压越高则电机转速越高。 对于直流电机的速度调节, 可以采用改变电压的方法, 也可采用 PWM调速方法。PWM 调速就是使加在直流电机两端的电压为方波形式,加在电机两端的电压就在 VLoad 和0V之间不停的跳变,对应的电机电压波形如图1所示:

                                 图1

此时加在电机两端的平均电压 Uo=Th/(Th+Tl)*VLoad,可以通过调整 PWM 的占空比来改变 Th 和Tl 的比值。这样就可以通过 PWM 调节加在电机两端的平均电压,从而改变电机的转速。

三、使用芯片的介绍

特点:

(1)  低静态工作电流;

(2)  宽电源电压范围:2.5V-12V;

(3) 每通道具有800mA 连续电流输出能力;

(4)  较低的饱和压降;

(5) TTL/CMOS输出电平兼容,可直接连CPU;

(6)  输出内置钳位二极管,适用于感性负载;

(7) 控制和驱动集成于单片IC之中;

(8) 具备管脚高压保护功能;

(9)  工作温度:0℃-80℃。

描述:

LG9110 是为控制和驱动电机设计的两通道推挽式功率放大专用集成电路器件,将分立电路集成在单片 IC 之中,使外围器件成本降低,整机可靠性提高。该芯片有两个 TTL/CMOS 兼容电平的输入,具有良好的抗干扰性;两个输出端能直接驱动电机的正反向运动,它具有较大的电流驱动能力,每通道能通过 750~800mA 的持续电流,峰值电流能力可达1.5~2.0A;同时它具有较低的输出饱和压降;内置的钳位二极管能释放感性负载的反向冲击电流,使它在驱动继电器、直流电机、步进电机或开关功率管的使用上安全可靠。LG9110 被广泛应用于玩具汽车电机驱动、步进电机驱动和开关功率管等电路上。

LG9110的外观如图

                   lg03.gif

管脚示意图

lg01.gif

管脚的波形图

1.2  设计目的

本课程设计的基本要求是:

1.  熟悉凌阳十六位单片机系统板-61 板的基本构成和使用方法。

2.  了解直流电机的原理及控制方法。

3.  掌握 LG9110的 I/O、定时器等操作方法。 

4.  掌握单片机的一般编程技巧。

5.  掌握 61 板系统调试的一般步骤及方法。

1.3  设计题目

利用 61 板的三个按键实现直流电机的转动和速度调节控制。具体要求如下:

1.  开机时电机处于停转状态。

2.  在电机停转状态下,按 KEY1 键使电机正向转动,按 KEY2 键使电机反向转动。

3.  按 KEY3 键使电机停止转动。

1.4设计说明

(1)系统设计

根据设计题目的要求分析,系统分成两个部分:

1.  直流电机驱动和控制;

2.  按键控制。

根据系统的功能现选择 61 板作为单片机控制处理部分,按键采用61 板上自带的三个按键;直流电机驱动则利用 LG9110 芯片实现.来实现控制电机。

 

(2)硬件连接

硬件连接如图所示:

芯片的2与3号引脚接电源,7与8号口和61板相连接,控制电机转动。8号与5号角接地。

1.5软件流程图

利用汇编语言程序可很容易的实现,电机的控制,其流程图如下:

程序代码:

.DEFINE P_Watchdog_Clear      0x7012 

.DEFINE   P_IOA_Data              0x7000       

.DEFINE P_IOA_Buffer          0x7001        

.DEFINE P_IOA_Dir             0x7002        

.DEFINE P_IOA_Attrib          0x7003        

.DEFINE P_IOB_Data           0x7005        

.DEFINE P_IOB_Buffer        0x7006        

.DEFINE P_IOB_Dir           0x7007        

.DEFINE P_IOB_Attrib        0x7008       

      

           

.RAM

.VAR Key                  //定义变量保存键值

.CODE                     //伪指令.CODE 代码段

.PUBLIC _main

_main:

   r1=0x01FF              //设置IOA8为同相高电平输出

   [P_IOA_Dir]=r1         //设置IOA0~IOA7口为同相低电平输出

   [P_IOA_Attrib]=r1      //保证初始时不转动

   r1=0x0100

   [P_IOA_Data]=r1

   r1=0x0040

   [P_IOB_Dir]=r1         //IOB8~IOB15为下拉输入

   [P_IOB_Attrib]=r1

   [P_IOB_Data]=r1

? Loop:

   call F_KeyScan

   R1=[Key]

   cmp r1, 0x0000       //是否有按键按下

   je? Loop_1           //若无则继续扫描键盘

   r1=r1 Lsr 4          //键值右移8位,利用IOA低8位输出

   r1=r1 Lsr 4

   r1=r1|1fff           // IOA3-IOA8输出高电平

   [P_IOA_Data] = r1    //输出键值,控制相应的电机转动

? Loop_1:

   r1= 0x0001

   [P_Watchdog_Clear]=r1

   jmp ? Loop

//进行扫键操作,返回键盘值

.PUBLIC F_KeyScan

F_KeyScan:

   r1=[P_IOB_Date]

   r1=r1&0x0007          //仅取IOB口低三位的输入值

   jz ? Return           //为零则代表按键没有按下,返回

   call F_Delay          //延时,消抖

   r2=[P_IOB_Date]

   r2=r2&0x0007          //仅取IOB口低三位的输入值

   cmp r1, r2            //比较延时前后两次输入值读取的是否相等

  je ? Return            //相等则返回,r1中保存有按键值

   r1=0x0000             //返回0

? Return

   [Key]=r1              //返回键值

   retf

//延时程序F_Delay

.PUBLIC F_Delay

F_Delay;

   r3=0x2ff

? Loop:

   r4=0x0001

   [P_Watchdog_Clear]=r4

   r3-=1

   jz ? Exit

   jmp ? Loop

 ? Exit

   reft

1.5实验总结

   本次实验作为嵌入式系统与机电接口应用的课程设计,我们组选择的是控制电机的正反转,这个看似简单的事情,实际做起来就不那么简单了,首先选择控制电机的芯片,以及原材料的购买,实验线路的设计以及程序的编制,这一切使我们小组每个成员学到了很多书本上没有的知识,真正体会到了什么是理论联系实际。同时也锻炼了我们的动手实践能力。

1.6小组分工

 本次实验的材料为小组一起购买。电机与面包板,还有电源是借用实验室。

程序编制:赵保顺,程辉。

  实验操作:小组全体赵保顺,程辉,黄宇哲,梁宵。

1.6实验照片剪辑

更多相关推荐:
嵌入式课程设计报告

福建工程学院嵌入式系统课程设计报告书题目基于S3C2440设备驱动及其界面设计班级姓名学号指导老师陈靖张平均李光炀2目录一设计课题4二设计目的4三设计任务及要求4四设计内容5五操作界面的生成7六操作界面调试9七...

嵌入式课程设计报告

福州大学课程设计任务书课程嵌入式课程设计题目姓名李仁煌学号011000610系别电机电器专业电气工程与自动化年级20xx起讫日期20xx61020xx74指导教师王武目录1课程设计目的22课程设计题目和实现目标...

嵌入式系统课程设计报告

嵌入式系统课程设计报告基于ARM的楼宇对讲系统设计摘要采用模块化设计方法设计出一款基于ARM微控制芯片和Linux操作系统的楼宇对讲系统,该对讲系统通过以太网与楼宇间的各室内机相连,实现了安装在楼道门口的终端机…

嵌入式课程设计报告

嵌入式系统开发课程设计专周报告题目:具有日历功能的电子时钟系别及专业:计算机工程系计算机应用技术班级:10511学生姓名:XXX指导老师:XX完成时间:20XX-12-24/20XX-12-28目录前言....…

嵌入式课程设计报告

课程设计综合实验报告20xx20xx年度第1学期名称题目院系班级学号学生姓名指导教师设计周数成绩日期年月日一课程设计的目的与要求11目的掌握嵌入式系统的基本原理及其基于COSII操作系统的实现方法本次设计使用A...

嵌入式系统课程设计实验报告

7嵌入式系统课程设计必做部分学院电控学院专业通信工程设计名称IIC同步串行通讯1设计的目的1掌握S3C44B0IIC控制器的编程方法2编程实现串行EEPROM存储器24C16的数据存储和访问2设计的内容1学习S...

嵌入式课程设计报告

中南大学嵌入式课程设计基于ARM平台的打地鼠游戏姓名董嘉伟学号0909103303班级物联网1002时间20xx913目录课程设计内容课程设计实验环境课程设计原理分析课程设计开发计划课程设计系统设计图课程设计关...

嵌入式系统课程设计报告

课程设计报告电子点菜器设计报告班学姓级号名20xx061420xx061411刘群峰20xx年9月1题目电子点菜器2系统简介本次课程设计的系统是电子点菜器它运行的环境是博创UPNETARM3000实验台主要使用...

嵌入式系统课程设计报告

昆明理工大学嵌入式系统设计报告指导老师设计者专业班级20xx学号20xx704126时间20xx许江淳肖智斌级计算机技术年7月1LED灯显示一设计目的1熟悉arm开发板基本组成电路并熟悉arm芯片特性了解ADS...

嵌入式课程设计报告

通信与信息工程学院嵌入式开发技术课程设计报告班级姓名学号指导教师设计时间成绩评20xx年1月11日20xx年1月14日通信与信息工程学院二一六年嵌入式开发技术课程设计报告目录嵌入式课程设计11设计要求111基本...

嵌入式课程设计报告

嵌入式课程设计报告基于WINCE下黑白棋的设计嵌入式系统课程设计报告课程设计目的1通过前期的嵌入式系统的学习和实验对S3C2440嵌入式系统的开发通过寄存器的设置操作硬件模块以及操作系统的移植有了初步的了解通过...

嵌入式课程设计

基于WindowsCE50的LED数码管显示控件20xx年9月1摘要随着芯片技术和电子产品智能化的飞速发展嵌入式技术应用范围越来越广本文介绍的LED数码管显示控件就是一款基于嵌入式操作系统WindowsCE50...

嵌入式课程设计报告(44篇)