51单片机驱动点阵16*16间断显示C程序

发布者:TranquilMind88最新更新时间:2015-07-16 来源: 51hei关键字:51单片机  点阵  16*16  间断显示 手机看文章 扫描二维码
随时随地手机看文章

#include
#define uchar unsigned char
#define uint unsigned int
#define LINE P0//定义行线IO口,即74HC154控制端
#define shudu 20//字移动的速度
sbit DATA=P1^4;//74HC595数据端
sbit CLK=P1^5;//74HC595移位脉冲端
sbit CLKR=P1^6;//74HC595数据锁存端
uchar move;//移动几位变量
uchar line;//行变量
uchar word;//字节变量
uchar ji;//字节变量
uchar code table[]={
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x10,0x3F,0xF8,0x04,0x10,0x04,0x14,0xFF,0xFE,0x04,0x10,0x04,0x10,
0x3F,0xF0,0x04,0x10,0x04,0x00,0x08,0x00,0x08,0x00,0x10,0x00,0x20,0x00,0x40,0x00,
0x01,0x00,0x01,0x08,0x7F,0xFC,0x01,0x00,0x3F,0xF8,0x01,0x00,0xFF,0xFE,0x00,0x10,
0x1F,0xF8,0x10,0x10,0x1F,0xF0,0x10,0x10,0x1F,0xF0,0x10,0x10,0x10,0x50,0x10,0x20,
0x01,0x10,0xFF,0x90,0x14,0x50,0x14,0x7C,0x7F,0x50,0x55,0x90,0x55,0x10,0x57,0xFE,
0x61,0x04,0x41,0x7E,0x41,0x44,0x7F,0x44,0x41,0x44,0x41,0x44,0x7F,0x7C,0x41,0x44,
0x00,0x78,0x3F,0x80,0x11,0x10,0x09,0x20,0x7F,0xFE,0x42,0x02,0x82,0x04,0x7F,0xF8,
0x04,0x00,0x07,0xF0,0x0A,0x20,0x09,0x40,0x10,0x80,0x11,0x60,0x22,0x1C,0x0C,0x08,
0x04,0x40,0x04,0x44,0xFF,0xFE,0x04,0x40,0x08,0x7C,0x09,0x44,0x7F,0xC4,0x08,0x7C,
0x0A,0x44,0x3F,0x44,0x22,0x7C,0x22,0x44,0x22,0x44,0x3E,0x44,0x22,0x94,0x01,0x08,
0x08,0x20,0x08,0x24,0xFF,0xFE,0x08,0x20,0x01,0x08,0x3F,0xFC,0x20,0x08,0x20,0x08,
0x3F,0xF8,0x20,0x08,0x20,0x00,0x20,0x00,0x20,0x00,0x40,0x00,0x40,0x00,0x80,0x00,
0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x20,0x10,0x20,0x22,0x44,0x7E,0xFC,0x04,0x08,
0x08,0x10,0x10,0x20,0x20,0x40,0x7E,0xFC,0x00,0x00,0x00,0x04,0xFF,0xFE,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
void delay(uchar z)
{
 uchar x,y;
 for(x=8;x>0;x--)
 for(y=z;y>0;y--);
}
void song(uchar z)//带参数函数
{
 uchar num,hang;//定义变量
 hang=z;//将形参给变量
 for(num=0;num<8;num++)//移动8次将数据发送完毕
 {
  if(hang&0x01==1)//将高7位屏蔽掉,保留最低位判断
  DATA=1;//为1就将74HC595数据端置1
  else 
  DATA=0;//否则给0
  CLK=0;//上升沿送走数据
  CLK=1;//高电平形成上升沿
  hang>>=1;//将数移走一位
 }
}
void jian()
{
 for(move=30;move>0;move--)
 {
  ji=word;
  for(line=0;line<16;line++)
  {
   song(~table[ji*2+1]);
   song(~table[ji*2]);
   ji++;
   CLKR=1;//在74HC595处锁存起来
   CLKR=0;
   CLKR=1;
   LINE=line;
   delay(17);
  }
 }
 word=ji;
 if(word>=128)//7个字
 {
  ji=0;
  word=0;
 } 
}
void main()
{
 while(1)
 {
  jian();
 }
}

视频祥见:http://www.tudou.com/programs/view/D0SCJyO4RBQ/

关键字:51单片机  点阵  16*16  间断显示 引用地址:51单片机驱动点阵16*16间断显示C程序

上一篇:51单片机做的温湿度测量仪
下一篇:51单片机驱动点阵16*16左移

推荐阅读最新更新时间:2024-03-16 14:25

基于51单片机的简易电梯系统的设计
1系统概述 1.1设计要求 根据所学的知识以及技能,利用MCS-51系列单片机为中心设计一个简易电梯系统,实现四层电梯的无故障运行,并用数码管和指示灯显示对应楼层和运行方向等基本信息。设计所用的单片机为STC89C52为主要的控制器,自带AD转换,当一边有按键按下时,另一边以数字的形式在数码管上显示出相应的数字信息。 选择合适的芯片进行驱动电路的设计; 运行状态精确显示; 平层误差不超过±1cm。 总体设计 总的设计框图如图1-1所示,由单片机模块、矩形按键模块以及系统信息模块三个大模块构成,它们的作用分别为: 单片机模块:数据输入输出的处理。 矩形按键模块:通过按键,将相关信息送入单片机处理。 系统信息模块:用若干
[单片机]
51单片机——定时器
1、定时器和计数器 时钟周期:单片机时序中的最小单位,集体计算的放法就是时钟源分之一 机器周期:单片机完成一个操作的最短时间,=12个时钟周期 定时器:打开定时器后,定时器“存储寄存器”的值经过一个机器周期自动加1,也就是说,机器周期是定时器的计数周期。 2、定时器的寄存器 TMOD —— 工作模式选择寄存器——常用模式1和模式2. TCON —— 控制寄存器(TRn定时器开关) TH/TL —— 定时计数器 3、定时器应用 第一步:设置特殊功能寄存器 TMOD,配置好工作模式。 第二步:设置计数寄存器TH0和TL0的初值。 第三步:设置TCON,通过TR0置 1来让定时器开始计数。 第四步:判断TCON 寄存
[单片机]
<font color='red'>51单片机</font>——定时器
16进制转10进制
16进制数字表示(0 --- F( 0 到15))0 1 2 3 4 5 6 7 8 9 A(10) B(11) C(12) D(13) E(14) F(15) 然后给大家提供 16进制与10进制批量转换工具 ,如下图示: 16进制转为10进制的计算方式 计算方式: 0xMN = 16 x M + N ; 0xFF = 16 x 15 + 15 = 255; 0x60 = 16 x 6 + 0 = 96; 以此规律计算,方便容易记。。 取一个byte里面的低四位 int a = M; int b = M & 0x0F; b就是所要得到的低四位。 高四位 int c = (a 4)&0x0F; 位运算应用口
[工业控制]
<font color='red'>16</font>进制转10进制
51单片机基于Proteus的8X8点阵滚动显示心形
一、效果展示及连线方式 注:制作动图时效果显示不好 二、所用材料 1、Proteus中8x8点阵 8x8点阵主要分为以下两种: 第一种为行共阴,第二种为行共阳 详细介绍可以参考这位大神说的: http://www.51hei.com/bbs/dpj-31998-1.html 在Proteus中我选择的是绿色的8x8的点阵,其类型是行共阴 2、74hc595 详细介绍见我上一篇文章 https://blog.csdn.net/qq_41639829/article/details/82151706 3、stc89c52 可以选择其他单片机,我用的这个 三、原理介绍 1、点阵的 “静态显示
[单片机]
<font color='red'>51单片机</font>基于Proteus的8X8<font color='red'>点阵</font>滚动<font color='red'>显示</font>心形
优傲机器人UR16e高载荷协作机器人发布,进一步解放劳动力
在2019年第21届中国国际工业博览会上,优傲机器人(Universal Robots) 宣布推出全新UR16e高载荷协作机器人。UR16e兼备普通协作式机器人经济高效、灵活部署、安全和简单易用的特点,同时在有效载荷方面做出突破,达到16公斤。 优傲机器人总裁Jürgen von Hollen表示:“在当今不明朗的经济环境下,制造商需要通过寻求更加柔性化的解决方案来保持竞争力。UR16e恰好是这样一款能满足高效可靠地处理重型任务需求的协作机器人。UR 16e的问世大幅扩展了我们产品系列的应用领域,为制造商提供了更多提升生产力、克服劳动力短缺挑战和提升业务的解决方案。” 优傲机器人总裁Jürgen von Hollen
[嵌入式]
优傲机器人UR<font color='red'>16</font>e高载荷协作机器人发布,进一步解放劳动力
MCS-51单片机的程序状态寄存器PSW有什么用?
PSW是一个8位寄存器,用于设定CPU的状态和指示指令执行后的状态。 CY(PSW.7):进位标志。在执行加减运算指令时,如果运算结果的最高位(D7)发生了进位或借位,则CY由硬件自动置1。 AC(PSW.6):半进位标志位,也称为辅助标志位。在执行加减运算指令时,如果运算结果的低半字节(D3)发生了向高半字节进位或借位,则AC由硬件自动置1。 F0、F1(PSW.5 和PSW.1):用户标志位。用户可以根据需要对F0、F1赋予一定的含义,由用户置1和清0,作为软件标志。 RS1、RS0(PSW.4 和PSW.3):工作寄存器组选择控制位。通过对这两位设定,可以从4个工作寄存器组中选择一组作为当前工作寄存器。
[单片机]
MCS-<font color='red'>51单片机</font>的程序状态寄存器PSW有什么用?
雷军:小米手机二季度出货量2316万台 明年目标1亿台
    新浪科技讯 7月7日下午消息, 小米今日举办了手机业务誓师大会,小米董事长兼CEO雷军在会上宣布,小米手机今年第二季度出货量达2316万台,环比增长70%。   雷军表示,2316万台创造了小米季度手机出货量的新纪录,这意味着经过两年的调整,小米将重新恢复高速增长。   他认为,过去一年多的销量不理想,主要是两次长达几个月的严重缺货。“这是小米创业以来最严峻的挑战,也是我们补课的重点。第二季度出货量证明了我们的交付能力在逐步提高。”   在渠道方面,雷军将电商视为小米的立身之本。根据小米在今年618期间公布的数据,小米在天猫、京东、苏宁三平台都成为手机销量冠军;在线下渠道建设方面,截至7月7日,小米之家全国开店
[手机便携]
2006年国防市场对合成半导体需求超过160亿美元
Strategy Analytics最新发布的GaAs(砷化镓)和合成半导体技术服务报告《防务开支增长带活合成半导体市场》预测GaAs设备市场将以8%的年复合增长率持续发展到2010年。 GaAs作为主要用于军事及国防系统,广泛覆盖雷达、通信、电子战和智能军备。2006年此种材料技术相关的国防合同金额将超过160亿美元,有些合同项目将持续到2015年。新兴的合成半导体技术,例如GaN(氮化镓基材料),也将开始影响未来防务系统设计,为未来防务系统提供更大的带宽、更大容量的电池和更高的频谱利用率。 “我们相信由于国防因素带动的GaAs设备需求在2006年比上年增长9%,并将继续增长至2010年”SA的GaAs服务总监Asif An
[焦点新闻]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved