当前位置:文档之家› 郭天祥之十天学会单片机视频配套程序实用

郭天祥之十天学会单片机视频配套程序实用

Lesson1作业1、用位操作点亮第一个发光管.适用TX-1C单片机实验板晶振为11.0592M/*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数{led1=0; //将单片机P1.0口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。

}2 、用总线操作点亮第一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110 while(1); //程序停止在这里,在后面会讲到为什么这样写。

}3、用位操作点亮最后一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件sbit led8=P1^7; //单片机管脚位声明void main() //主函数{led8=0; //将单片机P1.7口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。

}4、用总线操作点亮最后一个发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0x7f; //将单片机P1口的8个口由高到低分别赋值为01111111 while(1); //程序停止在这里,在后面会讲到为什么这样写。

}/*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明sbit led3=P1^2; //单片机管脚位声明sbit led5=P1^4; //单片机管脚位声明sbit led7=P1^6; //单片机管脚位声明void main() //主函数{led1=0; //将单片机P1.0口清零led3=0; //将单片机P1.2口清零led5=0; //将单片机P1.4口清零led7=0; //将单片机P1.6口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。

}6、用总线操作点亮1,3,5,7发光管./*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xaa; //将单片机P1口的8个口由高到低分别赋值为10101010 while(1); //程序停止在这里,在后面会讲到为什么这样写。

}7、用位操作点亮2,4,5,6发光管./*********************************************************/#include<reg52.h> //52单片机头文件sbit led2=P1^1; //单片机管脚位声明sbit led4=P1^3; //单片机管脚位声明sbit led5=P1^4; //单片机管脚位声明sbit led6=P1^5; //单片机管脚位声明void main() //主函数{led2=0; //将单片机P1.1口清零led4=0; //将单片机P1.3口清零led5=0; //将单片机P1.4口清零led6=0; //将单片机P1.5口清零while(1); //程序停止在这里,在后面会讲到为什么这样写。

}/*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{P1=0xc5; //将单片机P1口的8个口由高到低分别赋值为11000101while(1); //程序停止在这里,在后面会讲到为什么这样写。

}9、尝试让第一个发光管闪烁.(程序看不懂没关系,后面章节会有详细讲解) /*********************************************************/#include<reg52.h> //52单片机头文件sbit led1=P1^0; //单片机管脚位声明void main() //主函数{unsigned int i; //定义一个int型变量while(1){i=50000; //变量赋初值为50000led1=0; //点亮灯while(i--); //延时i=50000;led1=1; //熄灭灯while(i--);}}10、尝试写出流水灯程序(程序看不懂没关系,后面章节会有详细讲解)/*********************************************************/#include<reg52.h> //52单片机头文件void main() //主函数{unsigned int i; //定义一个int型变量while(1){i=50000; //变量赋初值为50000P1=0xfe; //点亮第一个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xfd; //点亮第二个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xfb; //点亮第三个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xf7; //点亮第四个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xef; //点亮第五个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xdf; //点亮第六个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0xbf; //点亮第七个灯while(i--); //延时i=50000; //变量赋初值为50000P1=0x7f; //点亮第八个灯while(i--); //延时}}Lesson 21、第一个发光管以间隔200ms闪烁/*********************************************************/#include<reg52.h> //52单片机头文件#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit led1=P1^0; //单片机管脚位声明void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{while(1) //大循环{led1=0; //点亮小灯delay(200); //延时200毫秒led1=1; //熄灭小灯delay(200); //延时200毫秒}}2、8个发光管由上至下间隔1s流动其中每个管亮500ms,灭500ms,亮时蜂鸣器响灭时关闭蜂鸣器,一直重复下去。

/*********************************************************/#include<reg52.h> //52单片机头文件#include <intrins.h> //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit beep=P2^3;void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{uchar a;a=0xfe;while(1) //大循环{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(500); //延时500毫秒P1=0xff; //熄灭小灯beep=1; //关闭蜂鸣器delay(500); //延时500毫秒a=_crol_(a,1); //将a变量循环左移一位}}3、8个发光管来回流动,每个管亮100ms,流动时让蜂鸣器发出"滴滴"声。

/*********************************************************/#include<reg52.h> //52单片机头文件#include <intrins.h> //包含有左右循环移位子函数的库#define uint unsigned int //宏定义#define uchar unsigned char //宏定义sbit beep=P2^3;void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.{ //delay(500);大约延时500ms.uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);}void main() //主函数{uchar a,i;while(1) //大循环{a=0xfe; //赋初值for(i=0;i<8;i++) //左移{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(50); //延时50毫秒beep=1; //关闭蜂鸣器delay(50); //再延时50毫秒a=_crol_(a,1); //将a变量循环左移一位}a=0x7f;for(i=0;i<8;i++) //右移{P1=a; //点亮小灯beep=0; //开启蜂鸣器delay(50); //延时50毫秒beep=1; //关闭蜂鸣器delay(50); //再延时50毫秒a=_cror_(a,1); //将a变量循环右移一位}}}4、用8个发光管演示出8位二进制数累加过程。

相关主题