16级单片机实践经验分享

实验1―王冰―0115

2018-05-19  本文已影响19人  王冰0115

做这个实验的时候去向同学请教,遇到挺多的问题。但是比第二个实验玩好一点,第二个实验基本是大花一对一教学,还有场外援助,这个实验自己在做的时候不想光改改老师的只显示一个字的代码,想也做成会动的那种,就自己翻课本,看自己的程序和别人的程序有什么不同,最重成功了,还是比较开心的。

这个本身就是大板的程序,在置0置1上没有什么可以改的,这是我的程序

对要显示的字符的个数进行更改 设置循环体,设置视觉暂留效果

具体的在编程时遇到的问题

void main()

{

u8 i,j,n;

while(1)

{

for(j=0;j<4;j++)//设置显示字的个数,进行循环(红色字体部分)

{

for(n=0;n<50;n++){//视觉暂留的效果,每屏扫描50次(蓝色字体部分)

P0=0x7f;

for(i=0;i<8;i++)

{

P0=ledwei[i];   //位选

Hc595SendByte(ledduan[j][i]); //发送段选数据

delay(100);   //延时

Hc595SendByte(0x00);  //消隐

} delay(100);(红色字体部分)

if(j==4){j=0;}//四个字完成后,循环,回到第一个字码

}

}

}

}

1.想在原有的基础上改编为可以一闪一闪的那种,一开始只写了红色字体部分,然后他就出现了整片全亮的状况,但是感觉他可能是变的太快了,于是就不断的加大Delay,但是还是不行,翻课本的时候发现他写的程序有一行代码是整屏扫描50次,产生视觉暂留的效果,于是就在原有代码的基础上添加了一个for循环,然后就可以正常显示了。(个人感觉这个极为重要)

然后就在想delay没有用吗,删掉delay之后发现每个字暂留的时间会变短,所以应该是有用的。

实验1―王冰―0115
图片发自简书Ap出现的情况如图

2.在第一次只有一个字符点亮的时候出现了全亮的效果,代码基本就是老师给的源代码,感觉不可能出错,可是就是找不出问题出在哪里,去请教大花,才发现是跳线帽没拔,太粗心,老师给的程序上也有提示,不看题。 

正常显示后效果如下

实验1―王冰―0115 实验1―王冰―0115
上一篇下一篇

猜你喜欢

热点阅读