这是一个基于单片机的LED点阵屏幕的控制程序。程序中使用了51单片机,通过P0和P2口来控制LED点阵的显示。程序中使用了定时器中断来控制LED点阵的滚动速度和方向。在主函数中,通过检测外部按键的状态来控制LED点阵的滚动方向和停止/继续滚动。

具体分析如下:

  1. 定义了一些宏定义和变量,如uchar、uint、data1、data2、s1、s2、fangxiang、alt、net、sl、mode、tab等。

  2. delay()函数:通过循环来实现延时,用于控制LED点阵的刷新速度。

  3. xianshi()函数:用于控制LED点阵的显示。通过循环遍历tab数组中的数据,将数据分别输出到P0和P2口,控制LED点阵的显示。在输出数据之前,通过P1口来控制LED点阵的行,从而实现逐行显示。

  4. main()函数:程序的主函数。在该函数中,首先开启定时器中断,并通过while循环不断调用xianshi()函数来实现LED点阵的滚动。在while循环中,通过检测外部按键s1和s2的状态来控制LED点阵的滚动方向和停止/继续滚动。

  5. timer1()函数:定时器中断函数。当定时器计数器达到设定的值时,通过判断fangxiang变量的值来控制LED点阵的滚动方向。如果fangxiang为0,则向右滚动;如果fangxiang为1,则向左滚动。同时,通过修改net变量的值来控制LED点阵的滚动速度和位置。当net变量达到设定的值时,重新开始滚动


原文地址: https://www.cveoy.top/t/topic/fmUr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录