嵌入式系统-期末考试学案.docVIP

  • 3
  • 0
  • 约8.22千字
  • 约 11页
  • 2017-04-23 发布于湖北
  • 举报
电子信息工程 学院 专业 0 级 学号 姓名 中国石油大学大学2014 -2015 学年第 1 学期 期末考试试卷 课程名称: 嵌入式系统(电赛) 试卷类型: 共 NUMPAGES 1页 考试形式: 开卷考试 设计一个键盘和点阵LED的广告演示程序。要求: 至少有8中闪烁方式。 设计多个键盘完成:启动、停止、暂停、闪烁方式切换等功能。 写出功能描述、功能实现方法、流程图及代码。 功能描述:当按键1时LED点阵左右滚动显示,当按键2时LED点阵上下滚动,当按键3时LED点阵扫描显示0123456789,当按键4时状态暂停,当按键5时状态恢复。 流程图: 程序代码: #includereg51.h 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(;m0;m--) for(n=110;n0;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;j3;j++) { for(i=0;i8;i++) { P2=ta[i]; P0=0xff; delay(80); } } for(j=0;j3;j++) { for(i=0;i8;i++) { P2=ta[7-i]; P0=0xff; delay(80); } } } } if(k2==0) { delay(100); if(k2==0) { for(j=0;j3;j++) { for(i=0;i8;i++) { P2=0x00; P0=tb[7-i]; delay(80); } } for(j=0;j3;j++) { for(i=0;i8;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;i8;i++) { P2=ta[i]; P0=tc[j][i]; delay(20); } delay(500); } } } } } void int0() interrupt 0 { PCON=0x02; } void int2() interrupt 2 { PCON=0x00; }

文档评论(0)

1亿VIP精品文档

相关文档