前言

之前咱们讲了8x8点阵、8x16点阵、16x16点阵以及16x32点阵,这篇文章再讲一讲16x128点阵

硬件设计

该方案支持左右轮动,按键可以控制暂停、换方向。

仿真图:

程序设计

#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit sclk=P1^1;
sbit rclk=P1^2;
sbit sdin=P1^0;
sbit s1=P3^6;
sbit s2=P3^7;
bit fangxiang;
uint alt,net,s3=30*25.5;
int d1,d2;
bit mode;
uchar code tab[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",0*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",1*/0x00,0x80,0x01,0x02,0x06,0x02,0x78,0x82,0x08,0x82,0x08,0x82,0x08,0x82,0x08,0x82,
0xFF,0xFE,0x48,0x82,0x08,0x82,0x08,0x82,0x19,0x82,0x08,0x86,0x00,0x02,0x00,0x00,/*"生",2*/0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0xFC,0x42,0x08,0x42,0x08,0x42,0x08,0x42,0x08,
0x42,0x08,0x42,0x08,0x42,0x08,0x7F,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"日",3*/0x0E,0x00,0x00,0x00,0xFF,0xFF,0x10,0x00,0x0D,0x01,0x11,0x02,0x11,0x0C,0x11,0x70,
0xFF,0x80,0x11,0x60,0x11,0x10,0x11,0x0C,0x1F,0x06,0x01,0x03,0x01,0x02,0x00,0x00,/*"快",4*/0x00,0x00,0x00,0x04,0x02,0x18,0x3F,0x30,0x22,0xE0,0x22,0x48,0x22,0x04,0x62,0x02,
0x5F,0xFC,0x42,0x00,0xC2,0x00,0xC2,0x40,0x42,0x30,0x02,0x1C,0x00,0x08,0x00,0x00,/*"乐",5*/0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFA,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",6*//*--  文字:  点  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x01,0x00,0x02,0x03,0xEC,0x02,0x20,0x02,0x20,0x02,0x28,0xFE,0x26,0x12,0x20,
0x12,0x28,0x12,0x26,0x12,0x20,0x13,0xE0,0x10,0x08,0x10,0x07,0x00,0x00,0x00,0x00,/*--  文字:  阵  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x00,0x7F,0xFF,0x40,0x10,0x44,0x08,0x5B,0x10,0x60,0xE0,0x10,0x10,0x13,0x10,
0x1D,0x10,0xF1,0x10,0x17,0xFF,0x11,0x10,0x11,0x10,0x11,0x10,0x10,0x10,0x00,0x00,/*--  文字:  显  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x02,0x00,0x42,0x00,0x22,0x7F,0x1A,0x49,0x02,0x49,0xFE,0x49,0x02,0x49,0x02,
0x49,0x02,0x49,0xFE,0x49,0x02,0x7F,0x0A,0x00,0x12,0x00,0x62,0x00,0x02,0x00,0x00,/*--  文字:  示  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x04,0x02,0x08,0x42,0x10,0x42,0x60,0x42,0x00,0x42,0x02,0x42,0x01,0x43,0xFE,
0x42,0x00,0x42,0x00,0x42,0x00,0x42,0x40,0x42,0x20,0x02,0x10,0x02,0x0C,0x00,0x00,/*--  文字:  屏  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x02,0x00,0x0C,0x7F,0xF0,0x48,0x20,0x49,0x21,0x4D,0x26,0x4B,0xF8,0x49,0x20,
0x49,0x20,0x49,0x20,0x4B,0xFF,0x4D,0x20,0x79,0x20,0x00,0x20,0x00,0x00,0x00,0x00,        /*--  文字:  程  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x24,0x10,0x24,0x60,0x25,0x80,0x7F,0xFF,0xC4,0x80,0x44,0x60,0x00,0x02,0x7C,0x92,
0x44,0x92,0x44,0x92,0x44,0xFE,0x44,0x92,0x44,0x92,0x7C,0x92,0x00,0x82,0x00,0x00,
/*--  文字:  序  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x02,0x00,0x0C,0x3F,0xF0,0x20,0x00,0x20,0x80,0x20,0x80,0x28,0x80,0xA8,0x82,
0x6A,0x81,0x29,0xFE,0x2A,0x80,0x2C,0x80,0x28,0x80,0x20,0xA0,0x20,0xC0,0x00,0x00,/*--  文字:  设  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFC,0x00,0x09,0x02,0x11,0x05,0x02,0x79,0xC2,
0x41,0x34,0x41,0x08,0x41,0x14,0x79,0x62,0x05,0x82,0x04,0x01,0x04,0x01,0x00,0x00,/*--  文字:  计  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x02,0x00,0x02,0x00,0x42,0x00,0x33,0xFE,0x00,0x04,0x02,0x08,0x02,0x00,0x02,0x00,
0x02,0x00,0xFF,0xFF,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x02,0x00,0x00,0x00,/*--  文字:  与  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x10,0x00,0x10,0x07,0x10,0xF9,0x10,0x11,0x10,0x11,0x10,0x11,0x10,0x11,0x10,
0x11,0x10,0x11,0x12,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x00,0x00,0x00,0x00,/*--  文字:  仿  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x80,0x01,0x00,0x06,0x00,0x1F,0xFF,0xE0,0x01,0x10,0x02,0x10,0x0C,0x1F,0xF0,
0x91,0x00,0x71,0x02,0x11,0x01,0x11,0x02,0x11,0xFC,0x10,0x00,0x10,0x00,0x00,0x00,/*--  文字:  真  --*/
/*--  宋体12;  此字体下对应的点阵为:宽x高=16x16   --*/
0x00,0x08,0x20,0x08,0x20,0x09,0x2F,0xFA,0x2A,0xAC,0x2A,0xA8,0x2A,0xA8,0xFA,0xA8,
0x2A,0xA8,0x2A,0xA8,0x2A,0xAC,0x2F,0xFA,0x20,0x09,0x20,0x08,0x00,0x08,0x00,0x00,0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04,/*"h",7*/0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04,/*"a",8*/0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"p",9*/0x01,0x01,0x01,0xFF,0x00,0x85,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"p",10*/0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00,/*"y",11*/0x00,0x00,0x00,0x0C,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*".",12*/0x10,0x00,0x1F,0xFC,0x00,0x88,0x01,0x04,0x01,0x04,0x00,0x88,0x00,0x70,0x00,0x00,/*"b",13*/0x00,0x00,0x01,0x04,0x19,0x04,0x19,0xFC,0x00,0x04,0x00,0x04,0x00,0x00,0x00,0x00,/*"i",14*/0x01,0x04,0x01,0x04,0x01,0xFC,0x00,0x84,0x01,0x04,0x01,0x00,0x01,0x80,0x00,0x00,/*"r",15*/0x00,0x00,0x01,0x00,0x01,0x00,0x07,0xF8,0x01,0x04,0x01,0x04,0x00,0x00,0x00,0x00,/*"t",16*/0x10,0x04,0x1F,0xFC,0x00,0x84,0x01,0x00,0x01,0x00,0x01,0x04,0x00,0xFC,0x00,0x04,/*"h",17*/0x00,0x00,0x00,0x70,0x00,0x88,0x01,0x04,0x01,0x04,0x11,0x08,0x1F,0xFC,0x00,0x04,/*"d",18*/0x00,0x00,0x00,0x98,0x01,0x24,0x01,0x44,0x01,0x44,0x01,0x44,0x00,0xFC,0x00,0x04,/*"a",19*/0x01,0x01,0x01,0x81,0x01,0x71,0x00,0x0E,0x00,0x18,0x01,0x60,0x01,0x80,0x01,0x00,/*"y",20*/0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xCC,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,/*"!",21*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",22*/0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",23*/};void delay(uint z)      //延时子函数
{uchar x;for(;z>0;z--)for(x=110;x>0;x--);
}void writedata(uchar dat1,uchar dat2,uchar dat3,uchar dat4,uchar dat5,uchar dat6,uchar dat7,uchar dat8,uchar dat9,uchar dat10,uchar dat11,uchar dat12,uchar dat13,uchar dat14,uchar dat15,uchar dat16)  //595显示子函数
{uchar i;for(i=0;i<8;i++)     //循环八次{dat1=dat1>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)   //循环八次{dat2=dat2>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat3=dat3>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat4=dat4>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)       //循环八次{dat5=dat5>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)   //循环八次{dat6=dat6>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat7=dat7>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat8=dat8>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)       //循环八次{dat9=dat9>>1;     //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)   //循环八次{dat10=dat10>>1;   //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat11=dat11>>1;   //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat12=dat12>>1;   //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)       //循环八次{dat13=dat13>>1;       //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)   //循环八次{dat14=dat14>>1;   //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat15=dat15>>1;   //数据左移sdin=CY;sclk=1;sclk=0;} for(i=0;i<8;i++)     //循环八次{dat16=dat16>>1;   //数据左移sdin=CY;sclk=1;

附:http://www.jh-tec.cn/archives/7543

基于51单片机的16x128点阵滚动广告牌 proteus仿真程序设计相关推荐

  1. 基于51单片机的16x16点阵滚动广告牌 proteus仿真 左右滚动 按键暂停

    硬件设计 (末尾附文件) 该方案支持左右滚动,两个按键,其中之一支持暂停/启动,另外一个支持换方向. 原理图: 仿真图: 程序设计 #include<reg51.h> #include&l ...

  2. 基于51单片机的16x32点阵滚动广告牌 proteus仿真原理图程序设计

    硬件设计 仿真图: 支持左右轮动 程序设计 #include <REG51.H> #define FOSC 12 //定义晶振频率 #define INIT_TH0 0x3C //定时器T ...

  3. 基于51单片机的16x16点阵滚动广告牌仿真原理图程序

    硬件设计 原理图: 仿真图: 左右滚动: 上下滚动: 程序设计: /****************************************************************** ...

  4. 基于51单片机的自动红外感应洗手器proteus仿真程序设计

    硬件设计 (末尾附文件) 本设计是基于单片机红外感应自动洗手器的仿真设计,通过红外传感器电路感应,来控制水龙头电磁阀是否打开.完整的实现了基于单片机的红外感应自动洗手器仿真,模拟红外传感器,当有人靠近 ...

  5. 【036】基于51单片机的电子时钟与秒表Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的电子时钟与秒表proteus仿真设计一份: (2).基于51单片机的电子时钟与秒表proteus仿真设计keli源代码一份: (3).基于51单片机的电子时 ...

  6. 【041】基于51单片机的自动音乐播放器Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的自动音乐播放器系统proteus仿真设计一份: (2).基于51单片机的自动音乐播放器系统proteus仿真设计keli源代码一份: (3).基于51单片机 ...

  7. 基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频)

    基于51单片机的PWM控制直流电机设计( proteus仿真+程序+报告+讲解视频) 仿真图proteus 7.8及以上 程序编译器:keil 4/keil 5 编程语言:C语言 设计编号:S0031 ...

  8. 基于51单片机自动数字电压表PCF8591 TLC2543 TL548 proteus仿真汇编程序设计

    硬件设计1 基于51单片机+PCF8591 ADC的仿真电路图: A. 基于51单片机和PCF8591的电压表,具有仿真图/源程序: B. 由数码管作为显示器: C.测试电压范围为0~5V,精度约为0 ...

  9. 基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料)

    资料编号:133 讲解视频: 133-基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为主控,LCD1602显示当前温度和可燃气体浓 ...

  10. 基于51单片机有害气体浓度检测超限报警Proteus仿真

    资料编号:157  下面是相关功能视频演示: 157-基于51单片机有害气体浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换 ...

最新文章

  1. 用 rpm-ostree 数据库检查更新信息和更新日志的方法
  2. 甩锅!偷懒!PUA!转嫁压力!铲除异己!压榨下属!这就是职场leader真面目!...
  3. Delegate和Command Pattern
  4. MySQL CPU 使用率高的原因和解决方法
  5. C# ListView添加DragDrop
  6. [小技巧]PicGo、Gitee和Typora构建在线图床
  7. window.btoa
  8. php开发工具 zend studio 12.5.1 中文版汉化
  9. 平凡的故事:年轻开发者的那些伤心事
  10. Android小项目合集(经典教程)包含十五个Android开发应用实例
  11. 施密特:下个千亿美元市值公司将出在哪个行业
  12. Git利用命令行提交代码步骤
  13. 小米浏览器 解析html5,JavaScript - 判断当前用户使用的浏览器
  14. 201510月职称计算机题目,职称计算机考试模拟题库-Excel试题及答案11
  15. Installshield 静默安装
  16. opencv python 常用方法
  17. 5g多卡聚合路由器/5g多卡汇聚路由器,多网融合,弱网通信,多卡聚合路由器,5G多卡聚合路由,工业路由器,移动物联,商用路由, 视频直播, 融合通讯, 多链路聚合,5G多卡聚合,5G多链路聚合
  18. python爬虫一:爬虫简介
  19. Intel TBB的学习动态并行
  20. 华为服务器故障灯不开机_华为服务器

热门文章

  1. Python气象绘图的一些总结
  2. 虹科分享 | 数据泄露的剖析
  3. 隔膜式气压罐、定压罐、膨胀罐介绍
  4. 2013年全国硕士研究生招生考试英语(一)试题
  5. 华为员工1天的工作曝光,这就是差距!
  6. Python自动化办公批量将文字写入Word文件中的具体操作
  7. Linux终端的读写(1)
  8. 句子时态(通过谓语来判断)、一般现在时、一般过去时、一般将来时、过去将来时
  9. CQOI2007矩形
  10. 教你如何打造高颜值社区,轻松在Ubuntu上部署 Cpolar+HYBBS论坛