流水灯的单片机源程序如下:
- ////////////////////////////////////////////////////////////////////////////
- // 给力者单片机开发学习系统,开发学习都给力! //
- ////////////////////////////////////////////////////////////////////////////
- // 学习51单片机,其实可以很简单 //
- ////////////////////////////////////////////////////////////////////////////
- #include <AT89X52.h> //调用51单片机的头文件
- //---------------------------------------
- //定义一个数据表格
- unsigned char code TAB[16]=
- { //定义表格一定要使用code,这样会做到程序存储区中
- 0x01, //表格第1步数据0b00000001
- 0x02, //表格第2步数据0b00000010
- 0x04, //表格第3步数据0b00000100
- 0x08, //表格第4步数据0b00001000
- 0x10, //表格第5步数据0b00010000
- 0x20, //表格第6步数据0b00100000
- 0x40, //表格第7步数据0b01000000
- 0x80, //表格第8步数据0b10000000
- 0xC0, //表格第9步数据0b11000000
- 0xE0, //表格第10步数据0b11100000
- 0xF0, //表格第11步数据0b11110000
- 0xF8, //表格第12步数据0b11111000
- 0xFC, //表格第13步数据0b11111100
- 0xFE, //表格第14步数据0b11111110
- 0xFF, //表格第15步数据0b11111111
- 0x00, //表格第16步数据0b00000000
- };
- //---------------------------------------
- //名称: 主函数
- //适用:给力者GL9单片机开发学习系统
- //---------------------------------------
- void main(void) //主函数,单片机开机后就是从这个函数开始运行
- {
- unsigned int a=0; //定义一个int型变量,做延时用
- unsigned char b=15; //定义一个char型变量,显示内容用
- while(1) //死循环,单片机初始化后,将一直运行这个死循环
- {
- for(a=0;a<20000;a++); //延时若干时间,具体时长暂不理会
- if(++b>15) b=0; //b做加1操作,并限制在0-15以内
- P0=TAB[b]; //将TAB[b]的值送入PO口输出
- }
- }
复制代码
所有资料51hei提供下载:
【实验03】发光二极管流水显示.rar
(10.07 KB, 下载次数: 8)
|