1 / 16
文档名称:

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

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

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

分享

预览

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

上传人:suijiazhuang2 2022/3/26 文件大小:469 KB

下载得到文件列表

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

文档介绍

文档介绍:..
实验一发光二极管流水灯实验
一、实验目的:
,-,输出“0”时,发光二极管亮。→⋯.→,实现亮点以1的定时器实现60S倒计时,显示采用两位数码管动态显示。
用PROTEUS设计,仿真基于AT89C51单片机的60S倒计时实验。
...
..
二、PROTEUS电路设计:
三、程序部分#include<>sbitGE=P2^1;sbitSHI=P2^0;intcount=0,number=60;unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};voiddelay(intz);voiddisplay();voidmain(){EA=1;ET0=1;TMOD=0X01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;while(1){display();
...
..
}}voiddelay(intz){intx,y;for(x=110;x>0;x--)for(y=z;y>0;y--);}voiddisplay(){SHI=0;GE=1;P1=table[number%10];delay(10);GE=0;SHI=1;P1=table[number/10];delay(10);}voidtime_count()interrupt1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;count++;if(count==20){count=0;number--;if(number<0)number=59;}}
...
..
实验五矩阵式键盘的设计一、实验目的:
掌握键盘设计中按键识别的原则。
用PROTEUS设计一个常规4×4的矩阵键盘。
键盘编码规则自己定义,分别对应数字键0-9、A-F,按下对应的按键显示在数码管上显示对应的数据。
二、PROTEUS电路设计:
三、程序部分#include<>sbitshow_1=P1^0;sbitshow_2=P1^1;sbitshow_3=P1^2;sbitshow_4=P1^3;unsignedcharj,k,temp,key;unsignedcharcodetable[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E,};voiddelay(unsignedchari);voiddisplay(unsignedcharnum);voidkey_scan();voidmain()
...
..
{while(1){key_scan();display(key);}}voiddelay(unsignedchari){for(j=i;j>0;j--)for(k=110;k>0;k--);}voiddisplay(unsignedcharnum){P0=table[num];show_4=0;}voidkey_scan(){P2=0xef;temp=P2;temp=temp&0x0f;if(temp!=0x0f){delay(10);if(temp!=0x0f){temp=P2;switch(temp){case0xe7:
key=0;break;case0xeb:
key=1;break;case0xed:
key=2;break;case0xee:
key=3;break;}while(temp!=0x0f)
...
..
{temp=P2;temp=temp&0x0f;}display(key);}}P2=0xdf;temp=P2;temp=temp&0x0f;if(temp!=0x0f){delay(10);if(temp!=0x0f){temp=P2;switch(temp){case0xd7:
key=4;break;case0xdb:
key=5;break;case0xdd:
key=6;break;case0xde:
key=7;break;}while(temp!=0x0f){temp=P2;temp=temp&0x0f;}display(key);}}P2=0xbf;temp=P2;
...
..
temp=temp&0x0f;if(temp!=0x0f){delay(10);if(te