对于单片机的显示方式有很多种:闪烁,交替,流水灯等等。但今天我做的就是流水灯,但实际上所用的代码都差不多,只有把显示方式的子程序改一下即可。我用到的语言是C语言,而且是用键盘控制的。
只要把相应的电平变为低电平就可以了;相反,如果要接LED熄灭,就要把相应的电平变为高电平;同理,接在P1.1~P1. 7口的其他7个LED的点亮和熄灭的方法同LED1。因此,要实现流水灯功能,我们只要将发光二极管LED1~LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。同样的道理,可以让8个灯左移显示方式,右移显示方式,开幕式显示方式。

在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。
代码:

#include<reg52.h>

#include<absacc.h>

#include<intrins.h>

#define COM8255
XBYTE[0xF003]

#define PA8255
XBYTE[0XF000]

#define PB8255
XBYTE[0xF001]

#define PC8255 XBYTE[0xF002]

#define uchar
unsigned char

#define u8
unsigned char

code const u8
SegArray1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //左移方式

code const u8
SegArray3[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe}; //右移方式

code const u8 SegArray2[]={0xe7,0xdb,0xbd,0x7e}; //开幕式方式

static unsigned char n,m=1;

unsigned char
key_read(void); //函数声明

void delay( uchar
a) //延时函数

{

   uchar z;while(a--)

for(z=0;z<120;z++);

}

u8 AllKey()

{ PB8255 = 0x0; //全“0”->扫描口

   return ~PC8255 & 0x3;       //读键状态,取低二位

}

u8 keyi() //控制键盘的函数

{ u8 i,j;

          if (AllKey() == 0)            //调用判有无闭合键子程序{ return 0xff;}i

= 0xfe;

          j = 0;while(i != 0xff){ PB8255 = i;if ((PC8255 & 0x1) ==
  1.    //0行有键闭合{ break;}else if ((PC8255 & 0x2)
    

== 0) //1行有键闭合

                 { j += 8;break;}j++;           //列计数器+1i = ((i<<1) | 1); }if

(i == 0xff)

      return 0xff;return

j; //键号

}

void main()

{

u8
i;

COM8255=0x89;

while(1)

{

n=keyi();

if(n!=0xff)

m=n;

switch(m)

{

    case

0x01: //左移方式

{

PA8255=SegArray1[i];

     i++;

if(i>7)

             i=0;

delay(200);

} break;

  case

0x02: //右移方式

{

PA8255=SegArray3[i];

     i++;

if(i>7)

             i=0;

delay(200);

} break;

case 0x03: //闭幕式方式

{

PA8255=SegArray2[i];

     i++;

if(i>3)

             i=0;

delay(200);

} break;

    }

}

}

连接实图

单片机流水灯显示方式相关推荐

  1. 51单片机流水灯制作

    文章目录 51单片机流水灯制作 初试与复试 初试 复试 制作 分工 制作之硬件 制作之软件 总结 51单片机流水灯制作 我不得不承认自己的毅力实在是太差了,原先准备一星期写一篇博客的目标一致没有实现, ...

  2. 51单片机流水灯现象1

    **` 51单片机流水灯程序 `** 初学者小白,分享上课时写的小程序和普中科技程序,感兴趣的可以瞧瞧. 程序如有相同冒犯了. /*********************************** ...

  3. 单片机流水灯三种实现

    单片机流水灯的三种实现方式(由上至下,再重下到上) 原理图 一般使用单片机的P1口 输出,不需要加上拉电阻: 由原理图可以看出这里采用低电平输出. 一.采用数组方式进行字节定义,最好理解的方式 #in ...

  4. c语言流水灯程序详细讲解,用c语言编写单片机流水灯程序详解

    用C语言编写的单片机流水灯程序 一.硬件电路 因为电路用单片机控制,所以电路非常简洁.其电路原理图见下图,印制板图如下图所示. ? 电路的核心部分是AT89C2051单片机,前面提到它有Pl和P3两组 ...

  5. AT89C51单片机流水灯c语言程序及详解(扫盲教程)

    AT89C51单片机是我们学习单片机必学的一个单片机,也是单片机入门的教材,下面给大家展示一下流水灯的编写方法适合初学者 首先先在proteus画出仿真图,方便仿真程序 下面来编写程序,先来写入头函数 ...

  6. 89c52流水灯汇编语言,89c52单片机流水灯汇编程序

    8路流水灯汇编语言程序的写法 汇编语言程序如下: ;假设1:D1~D8八个彩灯接在P1口,输出低电平发光 ;假设2:系统晶振为12MHz ;假设3:N = 5 ;程序如下: ORG 0000H MOV ...

  7. 基于STM32单片机流水灯仿真与程序设计

    STM32单片机流水灯仿真与程序设计 摘要 本次程序设计和仿真是基于Proteus和keil的环境对STM32F103系列单片机进行流水灯设计,通过配置STM32的GPIO工作模式,实现LED的点亮和 ...

  8. 单片机流水灯串口控制流水灯

    单片机流水灯串口控制的功能要求[从PC通过串口发送字符('R','L,'S),分别控制流水灯向右流动.向左流动.停止]: ​ (1)编写完整的C语言程序实现功能要求,采用循环轮询结构: ​ 答:循环轮 ...

  9. 80c51流水灯程序汇编语言,单片机流水灯汇编语言源代码大全(六款流水灯汇编语言源代码)...

    描述 单片机流水灯汇编语言源代码大全(一) 单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管能够双灯左移之后再双灯右移,形成霹雳灯的效果,如此循环5次后全灭,延时0.5S.灯右移,形成 ...

  10. 单片机流水灯全亮c语言程序,终极流水灯单片机C语言程序.doc

    终极流水灯单片机C语言程序 #include #include #define uint unsigned int sbit beep=P2^3; void ji_ou(); void sx(); v ...

最新文章

  1. DOS命令八大经典案例
  2. 基于Docker部署Nginx
  3. 计算机室是学校重要的教学设施,计算机室治理规章.doc
  4. 专家票选! 2020 年度 10 篇人工智能经典论文(6-10)
  5. 【最新版】Java速成路线(急于找工作!)
  6. typora html代码无效,Typora优化-适合不懂CSS代码的小白
  7. 南瑞科技服务器型号,南瑞--NSC通讯概述
  8. Unity视频播放之Video Player的简单使用
  9. 《信号与系统》解读 前言:为什么要解读《信号与系统》?
  10. 打开.class文件
  11. STM32之红外接收
  12. HTML5之横向二三级,纵向三级导航栏
  13. 复联4定档 4.24——十一年21部漫威电影,用数据为你梳理口碑、票房、主演最佳...
  14. Linux内核ncsi驱动源码分析(二)
  15. 杭电计算机学硕还是专硕就业好,19计算机考研选学硕还是专硕?
  16. [UVA]1391 Astronauts 2-Sat 朝花夕拾
  17. Android自带浏览器打开网页
  18. 新的任务发布平台源码
  19. Swift调用摄像头之权限判断
  20. 达梦数据库-SQL优化之HINT-平坦化处理

热门文章

  1. matlab自由落体程序,基于MATLAB的自由落体运动仿真.pdf
  2. 微博营销普遍遇到的误区
  3. 未来行业发展趋势分析
  4. 华为防火墙配置命令大全,超级详细
  5. 华为设备默认console密码
  6. 一文掌握智能抠图Deep Image Matting(pytorch实现)
  7. 使用gsds绘制基因结构图_[转载]基因结构图的绘制
  8. Orcad allegro 安装补丁
  9. 一次性搞懂JavaScript正则表达式之方法
  10. [noip2014]解方程 hash+秦九昭