8个发光二极管来回流动,每个管亮五十毫秒,灭五十毫秒,亮时蜂鸣器响,灭时蜂鸣器灭,一直重复下去
2015-08-31 20:10
302 查看
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P3^6;
uchar aa;
void delay(uint z);
void main()
{
uchar i,j;
while(1)
{
aa=0xfe;
for(i=0;i<7;i++)
{
P1=aa;
beep=1;
delay(50);
aa=_crol_(aa,1);
P1=0xff;
beep=0;
delay(50);
}
aa=0x7f;
for(j=0;j<7;j++)
{
P1=aa;
beep=1;
delay(50);
aa=_cror_(aa,1);
P1=0xff;
beep=0;
delay(50);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
学完郭天祥的视频后以为可以很快写出这种简单的程序,没想到还是花费了四十多分钟的时间,在bug的过程中一直出错,出错并不可怕但是我们要了解我们为什么会出错怎样避免下次再出现这种错误。现将错误分析如下:
第一次:将返回值弄错!原因分析过程中没有将返回值确认只是主观想象;
第二次:由第一次产生蝴蝶效应,分析过程中怀疑自己掌握的知识点,结果导致浪费大量时间
第三次:在选择for语句循环次数时再一次没有完整的考虑过程。总结:在运用循环过程时要将程序和题目的要求是否完全相合在脑袋中过一遍
!
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit beep=P3^6;
uchar aa;
void delay(uint z);
void main()
{
uchar i,j;
while(1)
{
aa=0xfe;
for(i=0;i<7;i++)
{
P1=aa;
beep=1;
delay(50);
aa=_crol_(aa,1);
P1=0xff;
beep=0;
delay(50);
}
aa=0x7f;
for(j=0;j<7;j++)
{
P1=aa;
beep=1;
delay(50);
aa=_cror_(aa,1);
P1=0xff;
beep=0;
delay(50);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}
学完郭天祥的视频后以为可以很快写出这种简单的程序,没想到还是花费了四十多分钟的时间,在bug的过程中一直出错,出错并不可怕但是我们要了解我们为什么会出错怎样避免下次再出现这种错误。现将错误分析如下:
第一次:将返回值弄错!原因分析过程中没有将返回值确认只是主观想象;
第二次:由第一次产生蝴蝶效应,分析过程中怀疑自己掌握的知识点,结果导致浪费大量时间
第三次:在选择for语句循环次数时再一次没有完整的考虑过程。总结:在运用循环过程时要将程序和题目的要求是否完全相合在脑袋中过一遍
!
相关文章推荐
- Android触摸屏事件派发机制详解与源码分析一(View篇)
- 结构体内存分配:举例待续
- IOS 字符串删除某一个字符
- 作为程序员的硬实力是什么 ?
- 用lazarus快速创建xml格式文件
- UINavigationController 、界面通信
- 专业软件测试工程师必备之软件测试要学什么技能?
- 什么是JS跨域请求?有几种方式可以实现?请简述其中某一种的实现原理?
- java 面向对象
- Java中的instanceof关键字
- linux下安装QT的方法
- Ubuntu Server 开机启动Xampp
- AD健康体验
- C语言---数组
- 【linux下用C语言编写带图形界面的成绩管理系统附带源代码】
- hdoj 3657 Game 【最小割 方格填数加强版】
- 对比Oracle和Mysql在锁机制上的类似和差异点
- LintCode-在O(1)时间复杂度删除链表节点
- Jsp 重定向、请求转发
- 如何使用UIAutomation进行iOS 自动化测试(Part I)