单片机上机操作考试题及答案

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机上机考试试题

1.使得8个发光二极管循环点亮,采用定时器方式0使得每个发光二极管点亮的时间为0.5s。

#include

int count=0;

int minute=0;

int temp;

char code style[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

void desplay()

{

temp=minute%8;

P0= style[temp];

}

void toProc() interrupt 1

{

count++;

TH0=0x0c;

TL0=0x78;

}

void main()

{

TMOD=0;

T H0=0x0c;

T L0=0x78;

T R0=1;

E T0=1;

E A=1;

while(1)

{

if(count==100)

{

minute++;

count=0;

}

desplay();

}

}

P1 .0

P1

.1

P1

.2

P1

.3

P1

.4

P1

.5

P1

.6

P1

.7

K1=0,

K2=0

○○○○○○○○

K1=0,

K2=1

●●●●○○○○

K1=1,

K2=0

●●○○●●○○

K1=1,

K2=1

●●●●●●●●

#include

char code style[4]={0x0,0xf0,0x33,0xff};

sbit P1_0=P1^0;

sbit P1_1=P1^1;

void main()

{

P0=0xff;

while(1)

{

if(P1_0==0&&P1_1==0)

{

P0=style[0];

}

if(P1_0==0&&P1_1==1)

{

P0=style[1];

}

if(P1_0==1&&P1_1==0)

{

P0=style[2];

}

if(P1_0==1&&P1_1==1)

{

P0=style[3];

}

}

}

3.在一个数码管上循环显示“H”“E”“L”“L”“O” ,循环的时间为1s。#include

char code style[5]={0x89,0x86,0xc7,0xc7,0xc0};

int i;

int count=0;

int second=0;

void t0Pro() interrupt 1

{

count++;

TL0=0xB0;

TH0=0x3c;

}

void display()

{

i=second%5;

P0=style[i]; }

void main()

{

TMOD=0x01;

E A=1;

T R0=1;

E T0=1;

T L0=0xB0;

T H0=0x3c;

while(1)

{

if(count==20)

{

second++;

count=0;

}

display();

}

}

4.在6个数码管上分别显示自己学号的后六位数字。

#include

char code code1[]={0x4f,0x4f,0x01,0x06,0x06,0x4f}; sbit p1_0=P1^0;

char num;

void delay(int timer)

{

while(timer)

{

--timer;

}

}

void main()

{

int i;

while(1)

{

num =0xFE;

for(i=0;i<6;i++)

{

P1=num;

P2=code1[i];

delay(1000);

num=(num<<1)|1;

}

}

}

5.做一个简易30s的倒计时秒表,秒表的显示通过8个发光二极管显示出来。

#include

#include"stdio.h"

int count;

count=0;

void t0Proc() interrupt 1

{

T H0=0x3c;

TL0=0xb0;

c ount++;

if(count==10)

{

P0=P0+1;

相关文档
最新文档