1 / 16
文档名称:

发光二极管流水灯实验.doc

格式:doc   大小:2,039KB   页数:16页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

发光二极管流水灯实验.doc

上传人:beny00001 2019/10/20 文件大小:1.99 MB

下载得到文件列表

发光二极管流水灯实验.doc

文档介绍

文档介绍:实验一发光二极管流水灯实验一、实验目的:,-,输出“0”时,发光二极管亮。→….→,实现亮点以1HZ频率循环移动。,仿真以AT89C51为核心的发光二极管流水灯实验装置。。二、PROTEUS电路设计:三、程序部分#include<>sbitcontrol=P3^7;voiddelay(intz){ intx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}voidmain(){ inti,tmp; control=0; P0=0xef;delay(1000); for(i=1;i<=7;i++) { tmp=P0; P0=(tmp>>1)+0x80;delay(1000); }} 实验二开关控制LED数码管实验一、实验目的:、K2、K3、K4的输入状态,并按照二进制编码关系0-F输出到数码管显示。(如K4K3K2K1全部按下,则显示F;若只有K2按下,则显示2。)。。二、PROTEUS电路设计:三、程序部分#include<>unsignedchartable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82, 0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,};unsignedcharKEY;voidmain(){ while(1) { KEY=P2; switch(KEY) { case0xff:P0=table[0];break; case0xfe:P0=table[1];break; case0xfd:P0=table[2];break; case0xfc:P0=table[3];break; case0xfb:P0=table[4];break; case0xfa:P0=table[5];break; case0xf9:P0=table[6];break; case0xf8:P0=table[7];break; case0xf7:P0=table[8];break; case0xf6:P0=table[9];break; case0xf5:P0=table[10];break; case0xf4:P0=table[11];break; case0xf3:P0=table[12];break; case0xf2:P0=table[13];break; case0xf1:P0=table[14];break; case0xf0:P0=table[15];break; default:break; } }}实验三外中断优先级实验一、实验目的:。,仿真基于AT89C51单片机的中断优先级实验。。单片机主程序控制P0口数码管循环显示0~8;外中断0、外中断1发生时分别在P2口、P1口依次显示0~8。通过实验可演示高优先级可中断低优先级,但低优先级的中断请求不能中断高优先级。二、PROTEUS电路设计:三、程序部分#include<>unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80};//共阳数码管的段码voiddelay(intz) //延时子程序,大约1ms{ intx,y; for(x=110;x>0;x--) for(y=z;y>0;y--);}inti0=0,i1=0; //用于中断0,1显示数码管的变量voidmain(){ inti; EX0=1; //开外部中断0 EX1=1; //开外部中断1 IT0=1; IT1=1; PX0=1; PX1=0; EA=1; //开总中断 while(1) { for(i=0;i<9;i++) //P0循环显示0~8 { P0=table[i]; delay(200); } }}voidint0()interrupt0 //外部中断0优先级高于外部中断1,中断号为0{ for(i0=0;i0<9;i0++) //显示0~8 { P2=table[i0]; delay(200); } }voidint1()interrupt2 //外部中断1,中断号为2{ for(i1=0;i1<9;i1++) //显示0~8 { P1=table[i1]; delay(200); }}实验四60S倒计时实验一、实验目的:

最近更新