电机学院单片机实验程序参考Word格式文档下载.docx

上传人:b****3 文档编号:6903107 上传时间:2023-05-07 格式:DOCX 页数:16 大小:163.11KB
下载 相关 举报
电机学院单片机实验程序参考Word格式文档下载.docx_第1页
第1页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第2页
第2页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第3页
第3页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第4页
第4页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第5页
第5页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第6页
第6页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第7页
第7页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第8页
第8页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第9页
第9页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第10页
第10页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第11页
第11页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第12页
第12页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第13页
第13页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第14页
第14页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第15页
第15页 / 共16页
电机学院单片机实验程序参考Word格式文档下载.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

电机学院单片机实验程序参考Word格式文档下载.docx

《电机学院单片机实验程序参考Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电机学院单片机实验程序参考Word格式文档下载.docx(16页珍藏版)》请在冰点文库上搜索。

电机学院单片机实验程序参考Word格式文档下载.docx

}//闪烁三次

P1=0x00;

//全部暗掉

}

}

实验二

/*实验二花样灯--内容:

花样灯一般有两种方法实现:

1、程序循环执行2、查表法---------这里我们两种都使用一下-*/

#include<

reg51.h>

/*--------------花样表格-----------------------*/

unsignedcharcodeseg[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe,

0xff,0xff,0x00,0x00,0x55,0x55,0xaa,0xaa};

voidDelay(unsignedintt);

//函数声明

/*------------------主函数------------------*/

main()

unsignedchari;

//定义一个无符号字符型//局部变量i取值范围0~255

P1=0xFE;

//第1个LED亮

for(i=0;

8;

{

Delay(20000);

P1<

<

=1;

}

P1=0x7F;

//第8个LED亮

P1>

>

P1|=0x01;

P1|=0x80;

/*---------下面通过查表方法获得花样参数----------*/

16;

i++)//查表可以简单的显示各种花样实用性更强

P1=seg[i];

/*延时函数,含有输入参数unsignedintt,无返回值

unsignedint是定义无符号整形变量,其值的范围是0~65535*/

voidDelay(unsignedintt)

while(--t);

实验三

//38译码器

sbitP2_0=P2^0;

sbitP2_1=P2^1;

sbitP2_2=P2^2;

unsignedintt;

unsignedintk0;

unsignedintk1;

unsignedintk2;

if(P2_0==1)//开关按下去的时候为0

k0=4;

elsek0=0;

if(P2_1==1)

k1=2;

elsek1=0;

if(P2_2==1)

k2=1;

elsek2=0;

t=k0+k1+k2;

switch(t)

case0:

P1=0xfe;

break;

case1:

P1=0xfd;

case2:

P1=0xfb;

case3:

P1=0xf7;

case4:

P1=0xef;

case5:

P1=0xdf;

case6:

P1=0xbf;

case7:

P1=0x7f;

实验四

//中断报警,开关按下报警

sbitP3_7=P3^7;

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

voiddelay(unsignedintn)

n;

unsignedintj;

EA=1;

//CPU开中断

EX0=1;

//开INT0非中断

IT0=0;

//令INT0非低电平触发

while

(1)

P3_7=1;

for(j=0;

{

P1=a[j];

delay(30000);

}

voidint0()interrupt0

unsignedintk;

for(k=0;

k<

4;

k++)

P3_7=~P3_7;

delay(50000);

P3_7=1;

实验五

//红绿灯

sbitP1_0=P1^0;

sbitP1_1=P1^1;

sbitP1_2=P1^2;

sbitP1_5=P1^5;

sbitP1_6=P1^6;

sbitP1_7=P1^7;

voidtime(unsignedcharn)

while(n)

TH1=0x3C;

TL1=0xB0;

TR1=1;

while(!

TF1);

TF1=0;

n--;

TR1=0;

TMOD=0x10;

EA=1;

EX0=1;

IT0=0;

P1=0xde;

time(100);

P1_0=0;

P1_5=0;

P1_6=0;

time(10);

P1_5=1;

P1=0x7b;

P1_1=0;

P1_2=0;

P1_7=0;

P1_2=1;

}

unsignedcharb;

b=P1;

P3_7=0;

P1=0x7e;

time(40);

TR1=1;

P1=b;

实验六

//数码管显示60秒倒计时

#defineucharunsignedchar

#defineuintunsignedint

uchart,a,s,g;

uchartable[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

sbitP3_4=P3^4;

sbitP3_5=P3^5;

voidstart();

voiddisplay(uchars,ucharg);

voiddelay(uintz);

start();

if(a==20)

a=0;

t--;

g=t%10;

s=t/10;

if(t==0)

P3_7=0;

t=60;

}

display(s,g);

voidstart()//程序初始化

t=60;

P3_4=1;

P3_5=1;

TMOD=0x01;

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

ET0=1;

TR0=1;

IT0=1;

P0=table[0];

voiddisplay(uchars,ucharg)

P3_5=0;

P0=table[s];

delay(50);

P3_4=0;

P0=table[g];

}

voidtimer0()interrupt1

a++;

voiddelay(uintz)

uintx,y;

for(x=z;

x>

0;

x--)

for(y=10;

y>

y--);

实验七

//键盘接口技术

#include"

unsignedintm;

signedcharnum,i,j,t;

unsignedchara[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};

sbitP34=P3^4;

sbitP35=P3^5;

intfastfound()

P2=0x87;

if((P2&

0x07)!

=0x07)

return

(1);

else

return(0);

kbscan(void)

unsignedcharsccode,recode;

unsignedintx;

for(t=200;

t>

t--);

if((P2&

P2=0x87;

recode=P2&

0x07;

P2=0xf8;

sccode=P2&

0xf8;

switch(sccode+recode)

case0xf3:

x=1;

case0xeb:

x=2;

case0xdb:

x=3;

case0xbb:

x=4;

case0xf5:

x=5;

case0xed:

x=6;

case0xdd:

x=7;

case0xbd:

x=8;

case0xf6:

x=9;

case0xee:

x=10;

case0xde:

x=11;

case0xbe:

x=12;

return(x);

num=0;

if(fastfound()==1)

num=kbscan();

if(num<

10)

P0=a[num];

P34=0;

P35=1;

else

i=num/10;

j=num%10;

P0=a[j];

P34=0;

P35=1;

for(m=0;

m<

100;

m++);

P0=a[i];

P34=1;

P35=0;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 考试认证 > 财会金融考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2