我新学的单片机流水灯程序图,附带程序代码。
单片机源程序如下:
- /**********************HJ-C52实验开发板例程************************
- * 名称:花样灯
- * 编写:慧净电子会员
- * 日期:2008-8-08
- * QQ : 121350852 398115088
- * 晶振:11.0592MHZ
- * 内容:花样灯一般有两种方法实现:
- * 1、程序循环执行
- * 2、查表法
- * 这里我们两种都使用一下
- * 硬件事项:LED边上的,J1要用短路帽短接
- ******************************************************************/
- /*---------------------------------------------------------------*/
- #include<reg52.h> //包含头文件,一般情况不需要改动,
- //头文件包含特殊功能寄存器的定义
- /*-------------------------IO口定义----------------------------*/
- sbit P20 = P2^0;//这是为了关闭开发板上的数码管实际应用去掉
- sbit P21 = P2^1;//这是为了关闭开发板上的数码管实际应用去掉
- sbit CS88 = P2^2;//这是为了关闭开发板上的点阵实际应用去掉
- /*------------------------------------------------
- 花样表格
- ------------------------------------------------*/
- unsigned char code seg[]={0x7f,0xbf,0xdf,0xef,
- 0xf7,0xfb,0xfd,0xfe,
- 0xff,0xff,0x00,0x00,
- 0x55,0x55,0xaa,0xaa
- };//rom允许情况可以无限添加
- void Delay(unsigned int t); //函数声明
- /*------------------------------------------------
- 主函数
- ------------------------------------------------*/
- main()
- {
- unsigned char i; //定义一个无符号字符型
- //局部变量 i 取值范围 0~255
- P1=0x00;//这是为了关闭开发板上的数码管实际应用去掉
- P20=0; //这是为了关闭开发板上的数码管实际应用去掉
- P21=0; //这是为了关闭开发板上的数码管实际应用去掉
- CS88=0; //这是为了关闭开发板上的点阵实际应用去掉
- P1=0xFF;//P1口置1
- while(1)
- {
- P1=0xFE; //第1个LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 <<=1;
- }
- P1=0x7F; //第8个LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 >>=1;
- }
- P1=0xFE; //第1个LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 <<=1;
- P1 |=0x01;
- }
- P1=0x7F; //第8个LED亮
- for(i=0;i<8;i++)
- {
- Delay(20000);
- P1 >>=1;
- P1 |=0x80;
- }
- //下面通过查表方法获得花样参数
- for(i=0;i<16;i++)//查表可以简单的显示各种花样 实用性更强
- {
- Delay(20000);
- P1=seg[i];
- }
- }
- ……………………
- …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
LED流水灯实验方式.rar
(16.76 KB, 下载次数: 6)
|