8*8点阵原理图:

上方的8个位置是由P0口控制,左侧的ROW是由75HC95芯片控制;

14口是数据输入端,每次只能输入一位,当11引脚为上升沿时将SER中的数据送入内部移位寄存器,当把八位数据送入内部移位寄存器中,可以令RCLK为上升沿,将八位数据从移位寄存器送入锁存器中。由这个芯片和P0口来进行动态扫描显示图形;

#include "reg51.h"          //此文件中定义了单片机的一些特殊功能寄存器
#include<intrins.h>
typedef unsigned int u16;     //对数据类型进行声明定义
typedef unsigned char u8;sbit SRCLK=P3^6;
sbit RCLK=P3^5;
sbit SER=P3^4;char code led_mod[]={0x0C,0x12,0x22,0x44,0x22,0x12,0x0C,0x00};    //P0口段选值;
u8 ledwei[]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};     //从文字取模软件中取出的,每一列锁存器的值;
void delay(u16 i)
{while(i--);
}
void Hc595SendByte(char dat)//发送八位数据;  只能是char类型具体见博客下面
{int a;SRCLK=0;RCLK=0;for(a=0;a<8;a++)  //取出数据的八位,高位先传送,低位后传送{SER=dat<<7;                 //取最高位dat/=2;                           //舍去最高位,此高位变为最高位SRCLK=1;                    //当SRCLK为上升沿时,移位寄存器向下移动一位,并存入一位新数据_nop_();                      //延时两个机器周期,保证数据移位成功_nop_();SRCLK=0;        //为下一次的上升沿做准备;}RCLK=1;             //上升沿启动,移位寄存器的值将会被锁存到锁存器里,_nop_();           //延时两个机器周期,保证数据传送成功_nop_();RCLK=0;                //为下一次上升沿做准备
}
void main()
{while(1)
{int i;
for(i=0;i<8;i++)   //实现八列动态扫描的过程
{P0=ledwei[i];     //每次只实现一列的灯显示,只有一个引脚为0,其余的引脚都为1,
Hc595SendByte(led_mod[i]);                  //
delay(100);                 //延时,便于肉眼观察到现象;
Hc595SendByte(0x00);         // 要进行消隐,因为距离下一个循环时间很短,如果不改变锁存器的话,这一次的锁存器的值会体现在下一个循环中,造成视觉影响;
_nop_();                        //或者将发送数据写道PO取值之前,这样就不会造成视觉误差;
_nop_();
}
}
}

关于int类型和char类型的说明:
int类型是一个字节的存储单元,为十六数据,占二个字节,赋值0xff后,里面存储的就是0x00ff;


char类型占一个字节,赋值过0xff后里面存储的便是0xff,和int不同,int如果只赋值八个位,则前八位为零

8*8点阵实现心性图案相关推荐

  1. 编程探究智能手机的图案解锁

    概述 图案解锁是现今智能手机比较常见的解锁方式,用户通过在3×3的点阵中绘制图案来设置密码,解锁时,也通过实时绘制图案来实现解锁验证.例如,下图就是几个解锁的图案示例: 下文中笔者通过编程对图案解锁的 ...

  2. 点阵图和Bitblt

    点阵图是一个二维的位元阵列,它与图像的图素一一对应.当现实世界的图像被扫描成点阵图以後,图像被分割成网格,并以图素作为取样单位.在点阵图中的每个图素值指明了一个单位网格内图像的平均颜色.单色点阵图每个 ...

  3. C语言程序设计-汉字点阵

    课程设计题目及要求:汉字点阵 编写程序,根据用户的中文输入,在屏幕上输出相应的汉字点阵(用户一次输入一个汉字),如图 17.1 所示.要求程序能以正常.斜体.加宽.加高四种不同的方式显示汉字点阵,并能 ...

  4. Mike Stout关于BOSS战的分享

    Mike Stout是暴雪游戏设计师,现就职于暴雪研发中心及其first-party工作室,曾担任多款3A级游戏的产品设计师,文章作者以BOSS战设计的为出发点,介绍了他从业多年在BOSS战设计的经验 ...

  5. 单片机模拟计算机课设,单片机课程设计题目汇总(全)

    单片机原理与接口技术课程设计题目汇总,说明:为便于同学提前探讨开发思路,要求:课程设计考核内容包括:源程序,一.基于单片机的电子时钟设计,设计内容:1.用LCD液晶作为显示设备(30分),2.可以分别 ...

  6. 机器视觉系列(五)——镜头部分

    系列文章目录 机器视觉系列(一)--概述 机器视觉系列(二)--机械部分 机器视觉系列(三)--电气部分 机器视觉系列(四)--相机部分 文章目录 系列文章目录 前言 一.什么是工业镜头 二.工业镜头 ...

  7. BOSS战的设计与架构

    BOSS战设计与架构 BOSS战可以说是视频游戏中最古老也最令人喜爱的元素之一了.每个人心里都有自己最喜欢的BOSS,类似"10大顶尖首领战"这样的话题总是能成为引发许多讨论. 根 ...

  8. 单片机课设基于51单片机的波形发生器(公开资源)(四种波形)(同时输出两种波形)

    单片机课设-波形发生器 前言 一.课设任务是什么? 二.如何解决这几个任务? 三.仿真原理图 四.代码 4.1 LCD1602代码 4.2 波形输出以及8*8点阵显示代码 4.3 波形选择 五.仿真源 ...

  9. 江科大51单片机入门学习笔记合集

    文章目录 软件下载 介绍 STC89C52RC 命名规则 芯片介绍 开发板介绍 逻辑运算 C语言语法 函数在C语言基础上做的拓展 重入函数 中断函数 外部函数 sfr sbit 51单片机最小系统组成 ...

最新文章

  1. 20145209 《信息安全系统设计基础》第7周学习总结
  2. 用户画像|产品经理应该如何定位用户
  3. iOS10.3的新玩意儿
  4. 产品认知:真正厉害的产品经理,都是“数据思维”的高手
  5. springmvc异常处理器
  6. 【147天】尚学堂高淇Java300集视频精华笔记(108-109)
  7. 关于Python的那些话
  8. sshd启动报错解决:Missing privilege separation directory: /run/sshd
  9. python最简易入门图片_初学Python只需4步,爬取网站图片
  10. 转:Patch打补丁学习笔记
  11. 编制职工档案管理程序C语言,职工档案管理系统
  12. ANSYS Products19.1下载及安装教程
  13. 做阿里巴巴国际站比较容易踩雷的地方
  14. 我的世界服务器怎么无限刷红石,我的世界无限红石怎么做 无限红石BUG攻略
  15. 微信公众号成本分析服务器,分析:为什么微信公众号用户获取成本比App还高?...
  16. MATLAB app designer 制作单选按钮的方法
  17. A2M峰会直击|闲鱼纳米镜——人人都是数据分析师
  18. 代码学习之Python冒号详解
  19. python 轨迹分析_Python语言:程序代码分析铅球运动轨迹
  20. 2019.08.20【NOIP提高组】模拟 B 组 排序、DP+递推、矩阵乘法+数位DP/类欧

热门文章

  1. Rasa课程、Rasa培训、Rasa面试、Rasa实战系列之FormAction(三)
  2. 激光雷达初体验 == 思岚A1M8 + Ubuntu 18.04 + ROS melodic + hector_slam
  3. 移动端适配方案以及面试总结(初学者看出来)
  4. 森海塞尔全新推出让企业和教育用户可用app操控的数字无线话筒
  5. 在linux中hdparm作用,详解Linux中hdparm命令查看硬盘信息的用法
  6. 什么是云服务? Azure 云服务
  7. iOS架构模式(MVC/MVCS/MVP/MVVM/VIPER)
  8. 利用arccatalog做空间数据迁移的各种坑及填坑
  9. C - Medical Checkup Aizu - 1380
  10. oracle nls date language,一个参数 nls_date_language