最新技能抽考试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
{
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关闭所有灯。
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 dat_display[2];
#include<reg51.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 Init0() interrupt 0 using 0
{
EX0=0;
if(dat_count<9)
{
dat_count++;
speak=1;
}
else
{
dat_count=9;
speak=0;
}
EX0=1;
}
void Init1()interrupt 2 using 1
{
EX1=0;
if(dat_count>0)
unsigned char data_display[5];
int dat_count=0;
void delay(unsigned char time)
{
unsigned char i,j;
for(i=0;i<time;i++)
{
for(j=0;j<120;j++)
{}
}
}
void data_change(void)
试题3.25小型电子产品软件开发
一、任务
在下列开发板硬件(原理图见pdf文档)基础上,编写程序实现如下功能,单片机开发板上从左至右4个按键分别为S1-S4,按下S1从单片机第1个引脚上输出频率为1KHz的方波,再按下S1则停止输出方波;方波频率误差小于2%。
试题3.26 秒表软件开发
一、任务
在下列开发板硬件(原理图见pdf文档)基础上,编写程序如下功能,开发板上4键从左至右为S1-S4,上电后,开始时显示“00”;利用S1按键后启动计时;S2按键后停止计时;S3按键后计时归零;最大计时为99秒。计时误差小于0.5秒,显示稳定。
void key4();
void delay(unsigned char x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<120;j++);
}
void main()
{
while(1)
{
if(P3!=0xff)
{
delay(10);
if(P3!=0xff)
{
key=~P3;
while(P3!=0xff);
{
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)
}
}
switch(key)
{
case 0x01:key1();key=0xff;break;
case 0x02:key2();key=0xff;break;
case 0x04:key3();break;
case 0x08:key4();break;
}
}
}
void key1()
{
LED1=!LED1;
试题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。
#include<reg51.h>
}
void key2()
{
LED2=!LED2;
}
void key3()
{
LED1=0;
LED2=0;
}
void key4()
{
LED1=1;
LED2=1;
}
试题3.24计数器软件开发
一、任务
在下列开发板硬件(原理图见pdf文档)基础上,编写程序,实现如下功能:对外部的方波信息进行0~99循环计数,每来一个脉冲计数加1,并将计数结果显示在数码管上。
试题3.27 倒计时秒表软件开发
一、任务
在下列开发板硬件(原理图见pdf文档)基础上,编写程序,使秒表在上电/复位后,具有:开始时显示“99”并开始倒计时,当计时到0S时,数码管显示“00”,同时蜂鸣器报警长鸣,倒计时误差小于0.5秒。
#include<reg52.h>
unsigned char duanma[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
{wenku.baidu.com
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;i<1;i++)
display(data_display[i],bit_line[i]);
相关文档
最新文档