图2                                                        图3

void main(void)

{

while(1)

{

P2=0x01;

for(i=0;i<8;i++)

{

P1=TAB[i];

delay(100);

P2=P2<<1|P2>>7;

}

}

}

uchar code TAB[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    //空屏

0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF,     //L

0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF,     //O

0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF,     //V

0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF,     //E

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    //空屏

};

uchar i,t;

void main(void)

{ uchar N,T;

while(1)

{

for(N=0;N<6;N++)       //循环扫描一遍6帧

for(T=0;T<100;T++)    //速度

{

P2=0x01;

for(i=0;i<8;i++)

{

P1=TAB[i+8*N];

delay(100);

P2=P2<<1|P2>>7;

}

}

}

}

图4                                             图5                                   图6

uchar code TAB[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,        //空屏

0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF,     //L

0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF,     //O

0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF,     //V

0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF,     //E

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,      //空屏

};

uchar i,t;

void main(void)

{ uchar N,T;

while(1)

{

for(N=0;N<40;N++)       //循环扫描一遍40帧

for(T=0;T<60;T++)    //移动速度

{

P2=0x01;

for(i=0;i<8;i++)

{

P1=TAB[i+N];

delay(100);

P2=P2<<1|P2>>7;

}

}

}

}

uchar code TAB[]={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,      //空屏

0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xC1,0xFF,      //L

0xE3,0xDD,0xDD,0xDD,0xDD,0xDD,0xE3,0xFF,     //O

0xDD,0xDD,0xDD,0xDD,0xDD,0xEB,0xF7,0xFF,     //V

0xC1,0xFD,0xFD,0xC1,0xFD,0xFD,0xC1,0xFF,      //E

0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,       //空屏

};

void main(void)

{

uchar N,T,m,n;

for(m=0;m<6;m++)

for(n=0;n<8;n++)

Buffer[8*m+n]=TAB[7-n+m*8];   //将TAB数组中的数据重新排列

//使得下移字母顺序不变

while(1)

{

for(N=0;N<40;N++)                //循环扫描一遍6帧

for(T=0;T<70;T++)             //速度

{

P2=0x80;

for(i=0;i<8;i++)

{

P1=Buffer[i+N];

delay(100);

P2=P2>>1|P2<<7;        //扫描起始行为{dy}行

}

}

}

}

如果将扫描方式改为列扫描,那么左右移动的程序就容易写了,但当点阵比较巨大并且硬件已经定下时,改变扫描方式不是好方法,甚至不可能实现。这里是以行扫描为例(逐行取字模),{dy}次取字码数组中的第1~8个数据到点阵列输入端,行码 扫描1~8行。第二次将{dy}次的 1~8个数据都循环左(右)移一位,并且将第9个数据的{zg}位移到第二次数据的{zd1}处,再输入到列端口,行扫描1~8行。即每次扫描都要把前一次扫描的列码左移一位。

图7                                  图8

void main(void)

{ uchar T,Y,Q;

while(1)

{

for(Q=0;Q<8;Q++)

for(T=0;T<100;T++)    //速度

{

P2=0x01;

for(i=0;i<8;i++)

{

Y=TAB[i+1]*256+TAB[i];

Y=Y<>Q;

P1=Y%256;

delay(60);

P2=P2<<1|P2>>7;

}

}

}

}

c语言点阵式注释语句,LED点阵显示与C语言编程(基础篇)_希希_百度空间相关推荐

  1. led点阵---显示数字或汉字(内含代码+注释+图片)

    q:1483078351     v:15136037805,    git为@qq1483078351a  已开源,里面有课件和代码.有问题欢迎询问,共同进步. #include"reg5 ...

  2. 8051单片机实战分析(以STC89C52RC为例) | 09 - LED点阵显示数字

    对于LED 8*8 点阵的驱动需要用到74HC595数字器件,不了解或者忘记的可以查看博文<74HC595秒懂>学习或者回顾一下! 1 LED点阵 LED 点阵是由发光二极管排列组成的显示 ...

  3. 51单片机LED点阵显示文字

    51单片机LED点阵显示文字 代码如下. #include <REGX51.H> #define u8 unsigned char sbit SER = P3^4; sbit RCLK = ...

  4. 沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 编程题篇)

    沈阳师范大学大一上册C语言PTA题目集以及答案(第六章 指针 编程题篇) 7-1 输出学生成绩 (20分) 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩.最高成绩和最低成绩.建议使用 ...

  5. 8 8点阵显示原理c语言,8X8 LED点阵显示原理与编程技术

    1. 实验任务 在8X8 LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去. 2. 电路原理图 3. 硬件电 ...

  6. LED点阵显示,有关特殊国别(阿拉伯,希伯来,泰文)字符排版和乱码问题解决

    序:最近公司的需求:做一个模拟LED屏的显示控件 中间各种曲折!此文做个记录,本来早就改写完的!各种原因前后隔了两个多月! 文章写的比较详细,熟悉的大佬可以跳过直接看代码! PS:后面有完整的代码 正 ...

  7. Arduino 学习笔记 | 单片机控制驱动MAX7219 8*8 LED点阵显示模块

    第一部分 8 x 8点阵模块 不带MAX7219驱动的8×8 點矩陣LED(如下图),从左侧有写字的一侧开始,L接正电,C接负电. 列L (1.2.3.4.5.6.7.8) 行C(1.2.3.4.5. ...

  8. 单片机大作业----16*16点阵LED点阵显示step3-plus

    在之前文章的基础上,我又添加了用定时器0处理中断来控制没有中断的时候上下切换显示的代码.之前文章的传送门 https://blog.csdn.net/haohulala/article/details ...

  9. 单片机php-cgi,STM32: 基于ChibiOS/RT实时系统的LED点阵显示系统 - 基于GD32F150C6T6 MCU...

    这是个很有意思的东西,484个LED, 11行44列排列,可以显示4个中文字符: -显示语言:英文.中文.繁体中文.韩文.日文和所有欧州国家语言 -最大可显示英文1500个字符,中文675个字符,6条 ...

最新文章

  1. python 类的执行中保部存值_python函数名称空间与作用域、闭包
  2. 酒桌游戏c语言,最受欢迎的12种酒桌游戏
  3. C++习题 商品销售(商店销售某一商品,每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,一次购10件以上者,还可以享受9.8折优惠。)...
  4. 【Android 安全】DEX 加密 ( 支持多 DEX 的 Android 工程结构 )
  5. 多用户虚拟Web3D环境Deep MatrixIP9 1.04发布
  6. TikTok上市无望?某大厂上海分公司跑路?
  7. 一个介绍SAP git-enabled CTS的视频
  8. Blazor VS React / Angular / Vue.js
  9. 【渝粤题库】国家开放大学2021春1313学前儿童卫生与保健题目
  10. 我看objective-C --不要把objC当做c/c++的超集
  11. python函数实例化_用Python实例化函数
  12. 如何使VNC和Linux tty7 显示同步效果
  13. Ruby代码块、迭代子和过程对象
  14. jenkins内置环境变量
  15. POJ#1182 食物链
  16. [浪风分享]推荐一些不错的计算机书籍
  17. 美团财报数据初步分析
  18. 多传感器融合定位 第七章 基于滤波的融合方法
  19. office办公所有版本齐全
  20. 模具设计分型的10大原则

热门文章

  1. Oracle如何用单字段或多字段进行查重
  2. Windows环境下制作Ubuntu的U盘启动工具
  3. registration 计算机视觉
  4. 【论文汇总】2D目标检测文章汇总,持续更新
  5. 网关和代理服务器的异同
  6. 数学之美读书感悟03
  7. windows上启动/关闭mysql
  8. [leetcode] 116. Populating Next Right Pointers in Each Node @ python
  9. 你管这叫操作系统源码(二)
  10. java unpark_LockSupport中的park与unpark原理