- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七届秦皇岛单片机大赛基础练习
(595控制的)8个灯流水,若按下S4立即反向,若按下S3停止。主板四位数码管显示流水状态。若流水灯正向流水状态显示0000,若反向流水状态显示1111,若暂停状态,显示2222
#include AT89X51.H
sbit S3=P3^2;
sbit SRCLK=P1^1;
sbit RCLK=P1^2;
sbit SDO=P1^3;
sbit SDI=P1^4;
unsigned char a[]={0x7f,0xbf,0xdf,0xef,0xfb,0xf7,0xfe,0xfd};
void xieru(unsigned char temp)
{
unsigned int i;
RCLK=0;
for(i=0;i8;i++)
{
SRCLK=0;
if(temp0x80)
SDI=1;
else
SDI=0;
SRCLK=1;
temp=1;
}
RCLK=1;
}
void delay()
{
unsigned int i,j;
for(i=0;i2;i++)
for(j=0;j110;j++);
}
void main()
{
unsigned int k;
while(1)
{
if(S3==0)
{
delay();
if(S3==0)
{
k++;
while(!S3);
}
}
if(k==8)
k=0;
xieru(a[k]);
}
}
(595控制的)每按一下S3键流水灯正向走一个,当按到第八个时,返回,从第一个灯开始,依次循环;
#include AT89X51.H
sbit S3=P3^2;
sbit SRCLK=P1^1;
sbit RCLK=P1^2;
sbit SDO=P1^3;
sbit SDI=P1^4;
unsigned char a[]={0x7f,0xbf,0xdf,0xef,0xfb,0xf7,0xfe,0xfd};
void xieru(unsigned char temp)
{
unsigned int i;
RCLK=0;
for(i=0;i8;i++)
{
SRCLK=0;
if(temp0x80)
SDI=1;
else
SDI=0;
SRCLK=1;
temp=1;
}
RCLK=1;
}
void delay()
{
unsigned int i,j;
for(i=0;i3;i++)
for(j=0;j110;j++);
}
void main()
{
unsigned int m;
unsigned char k=0xff;
while(1)
{
if(S3==0)
{
delay();
if(S3==0)
{
k=ka[m++];
while(!S3);
}
}
if(m==9)
{
m=0;
k=0xff;
}
xieru(k);
}
}
(595控制的)S3按一下第一个亮,再按一下,前两个亮;再按一下,前三个亮,依此类推。当八个灯都亮了之后,再按一下又回到第一个灯亮。
#include AT89X51.H
sbit S3=P3^2;
sbit SRCLK=P1^1;
sbit RCLK=P1^2;
sbit SDO=P1^3;
sbit SDI=P1^4;
sbit P36=P3^6;
unsigned char a[]={0x7f,0xbf,0xdf,0xef,0xfb,0xf7,0xfe,0xfd};
unsigned char b[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
void xieru(unsigned char temp)
{
unsigned int i;
RCLK=0;
for(i=0;i8;i++)
{
SRCLK=0;
if(temp0x80)
SDI=1;
else
SDI=0;
SRCLK=1;
temp=1;
}
RCLK=1;
}
/*void delay(unsigned int sz)
{
unsigned int i,j;
for(i=0;isz;i++)
for(j=0;j110;j++);
}*/
void xianshi(unsigned int ds)
{
unsigned int i;
for(i=0;i30000;i++)
{
P2=0x00;
P36=0;
P0=b[ds];
P36=
文档评论(0)