51单片机程序设计:[9]88点阵左移显示箭头
来源:网络收集 点击: 时间:2024-02-27根据取模软件取模,
uchar code TAB={0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF};
根据电路图的不同,适当修改程序哦!代码当前的硬件连接图图下图:

程序思想: 左移显示---如果将扫描方式改为列扫描,那么左右移动的程序就容易写了,但当点阵比较巨大并且硬件已经定下时,改变扫描方式不是好方法,甚至不可能实现。这里是以行扫描为例(逐行取字模),第一次取字码数组中的第1~8个数据到点阵列输入端,行码 扫描1~8行。第二次将第一次的 1~8个数据都循环左(右)移一位,并且将第9个数据的最高位移到第二次数据的最低处,再输入到列端口,行扫描1~8行。即每次扫描都要把前一次扫描的列码左移一位。
直接贴代码,显示的格式有点乱,先给个图片的代码,下个步骤给出源代码:

源代码:
#includereg52.h#include 51hei.H#define uchar unsigned char#define uint unsigned intuchar code TAB={0xFF,0xF7,0xFB,0x81,0xFB,0xF7,0xFF,0xFF};uchar i,t,j=0;delay(uchar t){while (t--){;}}void main(void){uchar T,Y,Q,d;P2=0x75;while (1){for (Q=0;Q8;Q++)for (T=0;T50;T++) //速度{d=0x01;out164(d);for (i=0;i8;i++){Y=TAB*256+TAB;Y=Y(7-Q)|YQ;P0=Y%256;delay(60);d=d1|d7;P0=0xff; // 消隐,很重要,不加要红一片out164(d);}}}}


版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_159187.html