单片机操作题库28例附答案Word格式文档下载.docx
- 文档编号:18217410
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:20
- 大小:16.71KB
单片机操作题库28例附答案Word格式文档下载.docx
《单片机操作题库28例附答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《单片机操作题库28例附答案Word格式文档下载.docx(20页珍藏版)》请在冰豆网上搜索。
sbitled3=P1^3;
sbitled4=P1^4;
sbitled5=P1^5;
sbitled6=P1^6;
sbitled7=P1^7;
led0=0;
led1=0;
led2=0;
led3=0;
led4=0;
led5=0;
led6=0;
led7=0;
6、利用位操作法点亮第四、五、六、七盏灯。
7、利用位操作法点亮第一、三、五、八盏灯。
#include<
#defineuintunsignedint
voiddelay1s()
uinti,j;
for(i=300;
i>
0;
i--)
for(j=110;
j>
j--);
P2=0xfe;
while
(1)
{
P0=0xc0;
delay1s();
P0=0xf9;
P0=0xa4;
P0=0xb0;
P0=0x99;
P0=0x92;
P0=0x82;
P0=0xf8;
P0=0x80;
P0=0x90;
}
8、利用位操作法点亮八盏灯。
voiddelayls()
unsignedinti,j;
for(i=500;
unsignedcharx;
unsignedcharcodetable[]={
0xc0,0xf9,0xa4,0xb0,
0x99,0x92,0x82,0xf8,
0x80,0x90,0x88,0x83,
0xc6,0xa1,0x86,0x8e};
P2=0xbd;
for(x=0;
x<
16;
x++)
{
P0=table[x];
delayls();
}
9、利用总线操作法点亮第三盏灯。
(输入十六进制)
P1=0xfb;
10、利用总线操作法点亮第五盏灯。
(输入八进制)
P1=0x0357;
11、利用总线操作法点亮第六盏灯。
(输入十进制)
unsignedcharx,y;
unsignedcharcodetable1[]={
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf,0xbf,0x7f};
unsignedcharcodetable2[]={
8;
P2=table1[x];
for(y=0;
y<
y++)
{
P0=table2[y];
delayls();
}
12、利用总线操作法点亮第八盏灯。
P2=0xfe;
P0=table[1];
delayls();
P2=0xfd;
P0=table[2];
P2=0xfb;
P0=table[3];
P2=0xf7;
P0=table[4];
P2=0xef;
P0=table[5];
P2=0xdf;
P0=table[6];
P2=0xbf;
P0=table[7];
P2=0x7f;
P0=table[8];
13、利用总线操作法点亮第一、三、六、八盏灯。
P1=0132;
14、利用总线操作法点亮第四、五、六、七盏灯。
P1=135;
15、利用总线操作法点亮第一、三、五、八盏灯。
P1=0x6a;
16、利用总线操作法点亮八盏灯。
P1=0000;
17、利用for延时语句让第二盏灯每300ms闪烁一次。
//52系列单片机寄存器的头文件
#defineuintunsignedint//宏定义
sbitled1=P1^1;
//声明单片机P1口的第一位
uinti,j;
voidmain()//主函数
while
(1)//大循环
//点亮第一个发光二极管
i>
i--)//延时
led1=1;
//关闭第一个发光二极管
j--);
18、利用for延时语句让第五盏灯每500ms闪烁一次。
P2=~(1<
<
(x%8));
19、利用for延时语句让第五盏和第八盏灯每700ms闪烁一次。
#defineuintunsignedint
sbitled1=P1^4;
sbitled2=P1^7;
uinti,j;
voidmain()
while
(1)
led1=0;
for(i=700;
i--)
for(j=110;
led1=1;
for(i=300;
led2=0;
led2=1;
for(i=700;
20、利用for延时语句让第四盏和第七盏灯每300ms闪烁一次。
#defineucharunsignedchar
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f};
voiddelay(uintz)
uintx,y;
for(x=z;
x>
x--)
for(y=110;
y>
y--);
voidDisplayNumber(longInputNumber)
for(j=0;
j<
=7;
j++)
i=InputNumber%10;
P2=~(1<
j);
P0=~table[i];
delay
(1);
InputNumber=(InputNumber-i)/10;
if(InputNumber==0)break;
DisplayNumber(25667989);
21、第三盏灯和第六盏灯先亮600ms,再灭600ms,一直闪烁(使用不带参数的子函数)。
sbitled1=P1^2;
sbitled2=P1^5;
voiddelay600ms()
for(i=600;
delay600ms();
led2=1;
22、写一个完整的程序,让第五个小灯闪烁,亮400ms、灭800ms。
(使用带参数的子函数)。
sbitled=P1^4;
voiddelayms(uintxms)
for(i=xms;
i--)
led=0;
delayms(400);
led=1;
delayms(800);
23、依次让八盏灯亮,第一盏灯亮1s,灭;
第二盏灯亮1s,灭;
‥‥‥‥循环。
intrins.h>
voiddelayms(uint);
ucharaa;
aa=0xfe;
P1=aa;
delayms(1000);
aa=_crol_(aa,1);
voiddelayms(uintxms)
}
24、依次让八盏灯亮,即第八盏灯亮500ms,灭;
第七盏灯亮500ms,灭;
aa=0x7f;
delayms(500);
aa=_cror_(aa,1);
25、第一、三、五、七盏灯循环亮。
每盏灯每次亮400ms。
delayms(400);
aa=_crol_(aa,2);
26、第二、四、六、八盏灯循环亮。
每盏灯每次亮300ms。
DisplayNumber(4524215);
27、第七、五、三、一盏灯循环亮。
每盏灯每次亮600ms。
0x7f,0xdf,0xf7,0xfd};
4;
28、第一盏到第八盏灯依次亮,接着第八盏到第一盏灯依次亮,循环。
每盏灯每次亮800ms。
ucharaa,i;
for(i=1;
i<
i++)
{
P1=aa;
aa=_crol_(aa,1);
delayms(800);
for(i=1;
aa=_cror_(aa,1);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 操作 题库 28 答案