最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

C51单片机实验报告

来源:动视网 责编:小OO 时间:2025-10-06 14:38:29
文档

C51单片机实验报告

实验一流水灯实验最终实现:按任意键反向,只是必须等到一轮结束以后。程序如下:#include#defineucharunsignedcharsbitko1=P3^6;sbitko2=P3^7;sbitki1=P0^5;sbitki2=P0^6;sbitki3=P0^7;tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff};tab2[]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x
推荐度:
导读实验一流水灯实验最终实现:按任意键反向,只是必须等到一轮结束以后。程序如下:#include#defineucharunsignedcharsbitko1=P3^6;sbitko2=P3^7;sbitki1=P0^5;sbitki2=P0^6;sbitki3=P0^7;tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff};tab2[]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x
实验一 流水灯实验

最终实现:按任意键反向,只是必须等到一轮结束以后。

程序如下:

#include

#define uchar unsigned char

sbit ko1=P3^6;

sbit ko2=P3^7;

sbit ki1=P0^5;

sbit ki2=P0^6;

sbit ki3=P0^7;

tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff};

tab2[]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3b,0x37,0x2f,0x1f};

tab3[]={0xff,0xff,0xff,0xff,0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};

tab4[]={0x1f,0x2f,0x37,0x3b,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f};

void Delay900ms() 

{

 

 

  

 

}

void Delay10ms() 

{

{

 

} while (--i);

}

void flick()

{

 

  

  

  

  

  

  

  

 

}

void main()

{

 

  

  

  

  

   

   

   

    

    

    

    

    

    

    

    

    

    

     

     

     

     

     

   

  

if(y==0)

 

  

  

  

  

  

  

  

  

  

  

  

  

   

    Delay10ms();       if(!ki1||!ki2||!ki3)

     b+=1;

    

   

    }

 

}

实验二 定时器时钟实验

最终实现:上电后设置定时时间,按2号键时间+1,按3号键时间+100;按1号键开始工作;时间到偶小灯闪烁3下,回到初始状态。

程序如下:

#include

#define uchar unsigned char

#define uint unsigned int

sbit ko1=P3^6;

sbit ko2=P3^7;

sbit ki1=P0^5;

sbit ki2=P0^6;

sbit ki3=P0^7;

sfr P1M1=0x91;

sfr P1M0=0x92;

tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

tab2[]={0xf7,0xfb,0xfd,0xfe};

tab3[4]={0};

uint a=0;

uint b=0;

void Delay100ms() 

{

 

 

  

 

}

void Delay5ms() 

{

 

}

void flick()

{

 

  

  

  

  

  

  

  

 

}

void show()

{

char j;

 

 

 

 

 

}

void interrupt_timer1() interrupt 3

{

 

 

 

 

 

 

}

void main()

{

 

 

  

  

  

   

   

   

   

   

   

   

    

    

     

      

      

     

     

    

   

    

     

     

     

     

    

   

    

     

     

     

     

    

   

   

   

   

   

    

            P1=tab1[tab3[m]];

    

    

   

   

  

 

 

 

  

  

  

  

 

}

实验三 双机通信实验

最终实现:两机连接后按任意键可在两外的机子上显示该键编号。

程序如下:

#include

#define uchar unsigned char

#define uint unsigned int

sfr P1M1=0x91;

sfr P1M0=0x92;

sbit ko1=P3^6;

sbit ko2=P3^7;

sbit ki1=P0^5;

sbit ki2=P0^6;

sbit ki3=P0^7;

sbit scran=P0^3;

tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

uchar a,b,n;

void Delay5ms() 

{

 

}

void main()

{

 

 

 

 

 

 

 

   

    

    

    

    

   

 

   

    

    

    

    

   

 

   

    

    

    

    

   

 

 

 

 

 

 

   

    

    

    

    

   

 

   

    

    

    

    

   

 

   

    

    

    

    

   

 

 

   

   

   

 

 

  

   

   

  

 

}

实验四 交通灯实验

最终实现:上电之后进行初始设置,2号键增加红绿灯时间,3号键增加黄灯时间,初始时间都为零;1号键开始工作;按3、4、5任意键急停,按3、4、5任意键继续(从第一步开始。

程序如下:

#include

#define uchar unsigned char

#define uint unsigned int

void led_show();

uchar m,n;

uint a=0;

uint b=0;

uchar k,c,d,f,g;

sfr P1M1=0x91;

sfr P1M0=0x92;

sbit ko1=P3^6;

sbit ko2=P3^7;

sbit ki1=P0^5;

sbit ki2=P0^6;

sbit ki3=P0^7;

sbit dh=P2^2;

sbit dl=P2^0;

sbit dy=P2^1;

sbit xh=P3^2;

sbit xl=P2^6;

sbit xy=P2^7;

sbit nh=P2^5;

sbit nl=P2^3;

sbit ny=P2^4;

sbit bh=P3^5;

sbit bl=P3^3;

sbit by=P3^4;

tab1[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

tab2[]={0xf7,0xfb,0xfd,0xfe};

tab3[4]={0};

void show()

{

case 0:P0=tab2[j];j++;P1=tab1[tab3[0]];break;

case 1:P0=tab2[j];j++;P1=tab1[tab3[1]];break;

case 2:P0=tab2[j];j++;P1=tab1[tab3[2]];break;

case 3:P0=tab2[j];j=0;P1=tab1[tab3[3]];break;

default:break;

}

void Delay5ms() 

{

 

}

void interrupt_timer1() interrupt 3

{

 

 

}

void det()

{

  

  

  

  

  

  

   

    

    

     

      

      

      

      

         

 

                                          

    

  

 

}

void led_show()

{

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    东西通

 

  

  

  

  

  

  

  

  

  

  

  

  

  

 

    黄

 

  

  

  

  

  

  

  

  

  

  

  

  

  

 

    南北通

 

  

  

  

  

  

  

  

  

  

  

  

  

  

 

    黄

 

  

  

  

  

  

  

  

  

  

  

  

  

  

 

 

 

}

void main()

{

 

 

  

  

  

   

   

   

   

   

   

    

     

     

     

      

      

}

while(!ki1);

}

if(!ki2)

{

}

 if(!ki3)

{

n+=1;

}

 

  

  

  

 

   c=0;

}

}

文档

C51单片机实验报告

实验一流水灯实验最终实现:按任意键反向,只是必须等到一轮结束以后。程序如下:#include#defineucharunsignedcharsbitko1=P3^6;sbitko2=P3^7;sbitki1=P0^5;sbitki2=P0^6;sbitki3=P0^7;tab1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xff,0xff,0xff,0xff};tab2[]={0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x3f,0x
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top