嵌入式系统 期末考试
- 格式:doc
- 大小:206.50 KB
- 文档页数:11
期末考试试卷
课程名称:嵌入式系统(电赛)
试卷类型:共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以内的整数