嵌入式系统 期末考试

  • 格式:doc
  • 大小:206.50 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

期末考试试卷

课程名称:嵌入式系统(电赛)

试卷类型:共11页

考试形式:开卷考试

一、设计一个键盘和点阵LED的广告演示程序。要求:

1、至少有8中闪烁方式。

2、设计多个键盘完成:启动、停止、暂停、闪烁方式切换等功能。

3、写出功能描述、功能实现方法、流程图及代码。

功能描述:当按键1时LED点阵左右滚动显示,当按键2时LED点阵上下滚动,当按键3时LED点阵扫描显示0123456789,当按键4时状态暂停,当按键5时状态恢复。

流程图:

程序代码:

#include

sbit k1=P1^0;

sbit k2=P1^1;

sbit k3=P1^2;

sbit k4=P3^2;

sbit k5=P3^3;

unsigned char i;

unsigned char j;

unsigned char code ta[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code tb[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; void delay(int m){

int n;

for(;m>0;m--)

for(n=110;n>0;n--);}

unsigned char tc[10][8]={

{0x00,0x00,0x3e,0x41,0x41,0x41,0x3e,0x00},

{0x00,0x00,0x00,0x00,0x21,0x7f,0x01,0x00},

{0x00,0x00,0x27,0x45,0x45,0x45,0x39,0x00},

{0x00,0x00,0x22,0x49,0x49,0x49,0x36,0x00},

{0x00,0x00,0x0c,0x14,0x24,0x7f,0x04,0x00},

{0x00,0x00,0x72,0x51,0x51,0x51,0x4e,0x00},

{0x00,0x00,0x3e,0x49,0x49,0x49,0x26,0x00},

{0x00,0x00,0x40,0x40,0x40,0x4f,0x70,0x00},

{0x00,0x00,0x36,0x49,0x49,0x49,0x36,0x00},

{0x00,0x00,0x32,0x49,0x49,0x49,0x3e,0x00},

};

void main()

{

EA=1;

EX0=1;

EX1=1;

IT0=0;

IT1=0;

while(1)

{

if(k1==0)

{

delay(100);

if(k1==0)

{

for(j=0;j<3;j++)

{

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

{

P2=ta[i];

P0=0xff;

delay(80);

}

}

for(j=0;j<3;j++)

{

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

{

P2=ta[7-i];

P0=0xff;

delay(80);

}

}

}

}

if(k2==0)

{

delay(100);

if(k2==0)

{

for(j=0;j<3;j++)

{

for(i=0;i<8;i++) {

P2=0x00;

P0=tb[7-i];

delay(80);

}

}

for(j=0;j<3;j++)

{

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

{

P2=0x00;

P0=tb[i];

delay(80);

}

}

}

}

if(k3==0)

{

delay(100);

if(k3==0)

{

for(j=0;j<=9;j++)

{

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

{

P2=ta[i];

P0=tc[j][i];

delay(20);

}

delay(500);

}

}

}

}

}

void int0() interrupt 0

{

PCON=0x02;

}

void int2() interrupt 2

{

PCON=0x00;

}

二、采用CPLD或FPGA为平台,设计一个识别3*4矩阵键盘的方案。要求:

1、选择扫描或反转的方式识别键盘并写出实现方法。

2、给出仿真结果(仿真结果中要求有各种输入情况下的输出结果)。

3、给出Verilog代码。

三、以普中单片机开发板为平台,查阅资料,设计一个小数的存储、加减运

算方案并在开发板上实现。要求:

1、给出小数显示、存储及运算方案,说明能处理的小数大小范围。

2、功能要求:

1)将键盘分为0-7数字键以及“+”、“-”、“=”、“.”以及“复位”等功能键,并画出按键布局。

2)能够在数码管上显示一个小数。

3)能够完成加、减运算并显示结果。

4)(选做)能够处理结果为负数的情况。

5)(选做)当输入的数据超过了程序能处理的数据范围时,蜂鸣器报警。

3、画出方案中各功能的流程图,给出代码。

功能实现说明:可进行简单的整数加减运算并显示结果,可实现77以内的整数