//功能:采用顺序结构实现的流水灯控制程序
/*此方式中采用的是字操作(也称为总线操作)*/
#include void delay(unsigned char i); 延时函数声明 void main() 主函数 { while(1) { P1 = 0xfe; 点亮第1个发光二极管,0.0003s 延时 P1 = 0xfd; 点亮第2个发光二极管,0.155403s,0.1558 延时 P1 = 0xfb; 点亮第3个发光二极管 延时 P1 = 0xf7; 点亮第4个发光二极管 延时 P1 = 0xef; 点亮第5个发光二极管 延时 P1 = 0xdf; 点亮第6个发光二极管 延时 P1 = 0xbf; 点亮第7个发光二极管 延时 7f; 点亮第8个发光二极管 延时 } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; /控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) 延时函数,无符号字符型变量i为形式参数 { 定义无符号字符型变量j和k 双重for循环语句实现软件延时 } //功能:采用循环结构实现的流水灯控制程序 //此方式中采用的移位,按位取反等操作是位操作 #include void delay(unsigned char i); 延时函数声明 void main() 主函数 { 信号灯显示字初值为01H 显示字取反后,送P1口 延时 显示字左移一位 } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; /控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) 延时函数,无符号字符型变量i为形式参数 { 定义无符号字符型变量j和k 双重for循环语句实现软件延时 } /*********************************************************************/ //功能:采用位运算符编写的流水灯控制程序,显示效果为依次熄灭信号灯 //此方式也是典型的顺序结构 #include void delay(unsigned char i); 延时函数声明 void main() 主函数 { while(1) { 口全部清0,即点亮8个发光二极管 延时 熄灭第1个发光二极管 延时 熄灭第1、2个发光二极管 延时 熄灭第1~3个发光二极管 延时 0f; 熄灭第1~4个发光二极管 延时 1f; 熄灭第1~5个发光二极管 延时 3f; 熄灭第1~6个发光二极管 延时 7f; 熄灭第1~7个发光二极管 延时 7f; 熄灭所有发光二极管 延时 } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; /控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) 延时函数,无符号字符型变量i为形式参数 { 定义无符号字符型变量j和k 双重for循环语句实现软件延时 } /**********************************************************/ //功能:采用数组实现的流水灯控制程序 //此方式也是典型的循环结构 #include void delay(unsigned char i); 延时函数声明 void main() 主函数 { 7f}; 显示字送P1口 延时 } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; /控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) 延时函数,无符号字符型变量i为形式参数 { 定义无符号字符型变量j和k 双重for循环语句实现软件延时 } #include #include #define uchar unsigned char void delay(uint z) { } void main() { 7f; }下载本文