- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
技能抽考试题
试题3.21 按键控制彩灯软件开发 一、任务 在下列开发板硬件(原理图见pdf文档)基础上,编写完整程序实现如下模拟彩灯,开发板从左至右4个按键分别为S1-S4,从上至下8个灯为L1-L8,按下S1键8只LED小灯以1HZ频率闪烁,按下S2键8只灯奇偶交替点亮,间隔0.5S,按下S3键,L1-L4与L5-L8灯交替点亮,间隔0.5s,按下S4键熄灭所有灯。 试题3.22 计数器软件开发 一、任务 在下列开发板硬件(原理图见pdf文档)基础上,编写完整程序实现如下模拟计数器功能,开发板4个按键从左至右分别为S1-S4,开发板上电复位后显示0,按下S3显示数据加1,按下S4数据显示减1,当计数小于0时显示0,大于9时,显示9。 #includereg51.h sbit speak=P1^6; unsigned char seg_dm [10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; unsigned char bit_line[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char data_display[5]; int dat_count=0; void delay(unsigned char time) { unsigned char i,j; for(i=0;itime;i++) { for(j=0;j120;j++) {} } } void data_change(void) { data_display[0]=dat_count%10; } void INT0_init(void) { IT0=1; EA=1; EX0=1; } void INT1_init(void) { IT1=1; EA=1; EX1=1; } void display(unsigned char dat,unsigned char bit_code) { P2=0xff; P0=seg_dm[dat]; P2=bit_code; delay(5); } main() { unsigned char i; INT0_init(); INT1_init(); while(1) { data_change(); for(i=0;i1;i++) display(data_display[i],bit_line[i]); } } void Init0() interrupt 0 using 0 { EX0=0; if(dat_count9) { dat_count++; speak=1; } else { dat_count=9; speak=0; } EX0=1; } void Init1()interrupt 2 using 1 { EX1=0; if(dat_count0) { dat_count--; speak=1; } else { dat_count=0; speak=0; } EX1=1; } 试题3.23 按键控制组合灯软件开发 一、任务 在下列开发板硬件(原理图见pdf文档)基础上,编写完整程序实现如下功能,4个按键分别控制2个灯,4个按键从左至右分别称为S1-S4,单片机引脚1、2所接灯分别为LED1、LED2,按下S1控制LED1亮灭变化(当前灭则点亮,当前亮则变灭),S2控制LED2亮灭变化,S3开所有灯,S4关闭所有灯。 #includereg51.h sbit LED1=P1^0; sbit LED2=P1^1; sbit S1=P3^0; sbit S2=P3^1; sbit S3=P3^2; sbit S4=P3^3; unsigned char key; void key1(); void key2(); void key3(); void key4(); void delay(unsigned char x) { int i,j; for(i=0;ix;i++) for(j=0;j120;j++); } void main() { while(1) { if(P3!=0xff) { delay(10); if(P3!=0xff) { key=~P3; while(P3!=0xff); } } switch(key) { case 0x01:key1();key=0xff;break; case 0x02:key2();key=0xff;break;
文档评论(0)