51单片机学习笔记_7 绘制LED动画:Merry Christmas 滚动字幕
封装头文件;绘制LED动画
类似C语言的语法,部分函数等内容可以封装到头文件里,需要的时候引入到source file 中,再在 include 中指明即可正常使用。
编写.h文件:如:
引入.h文件:右键左侧的.c文件→options for file→C51→include path→找到.h文件所在的文件夹并选中,注意一定不能有中文路径。然后就可以使用.h文件中定义的变量和函数了,注意不能重复定义。
h文件最好在开头加上#ifndef,在结尾加上#endif,这是防止重复因用头文件时出错的。
使用头文件的时候还注意到了一件事,在以前学习c语言时没有注意到。尽量在h文件中声明函数名。 因为后来写一个多文件项目时,里面包含了好几个c文件、对应的h文件和main.c文件。结果那几个c文件中定义函数会出错,原因是必须要在h文件中先声明。
接下来就自己试着先把delay函数和矩阵LED绘制函数写入头文件,然后制作矩阵动画,这样动起来也会更方便一些。
//h file
#ifndef
#include "reg52.h"
typedef unsigned char u8;
typedef unsigned int u16;sbit SRCLK = P3 ^ 6;sbit rCLK = P3 ^ 5;sbit SER = P3 ^ 4;void hc_write_data(unsigned char c)
{// 要传入8个输入,需要循环int i = 0;for (i; i < 8; i++){// 注意 芯片传数据先传高位 再传低位,所以要反着写// 通过移位获取SER = c >> 7;// 想获取下一位寄存器,需要移位寄存器移位。需要创造上升沿SRCLK = 0;// 芯片一般给定一个延时时间,经过这个时间之后才能处理完毕delay(1);SRCLK = 1;delay(1);// 让传入数据的次高位变为下次循环的高位c <<= 1;}// 最后通过存储寄存器的上升沿,传输全部数据rCLK = 0;delay(1);rCLK = 1;
}void matrix_led_animation(u8 hc_led_arr[])
{unsigned char col[8]={0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};int i=0;P0=0x00;for(i;i<8;i++){P0=col[i];hc_write_data(hc_led_arr[i]);//不知道为什么,下面两部分不写图形会偏移。不知道会不会有大佬解答一下delay(1);hc_write_data(0x00);}}
#endif
然后就是利用取模软件得到要绘制的图案的字模。这里我选定的图案是之前圣诞节临摹过的像素画中”Merry Christmas“的字体。参照来源:圣诞节 像素画 圣诞树
51单片机学习笔记_7 绘制LED动画:Merry Christmas 滚动字幕相关推荐
- 51单片机学习笔记-1简介及点灯
51单片机学习笔记 文章目录 51单片机学习笔记 1. 51单片机简介 1.1 安装软件 1.2 单片机简介 2. LED灯 2.1点亮一个LED 2.1.1原理分析 2.1.2 创建工程 2.2LE ...
- AutoLeaders控制组—51单片机学习笔记
文章目录 AutoLeaders控制组-51单片机学习笔记 1.1单片机及开发板介绍 单片机介绍 单片机应用领域 STC89C52单片机 内部结构 开发板介绍 2.1点亮一个Led 新建工程 编程 认 ...
- 51单片机学习笔记5 流水灯实现及蜂鸣器控制
51单片机学习笔记5 流水灯实现及蜂鸣器控制 一.流水灯 1. 硬件电路 2. 代码实现 (1) 点亮一个LED的基本操作 (2) 使用算术左移实现流水灯 (3) 使用库文件左移函数 二.蜂鸣器 1. ...
- 51单片机学习笔记1 简介及开发环境
51单片机学习笔记1 简介及开发环境 一.51单片机 1. STC89C52单片机简介 2. 命名规则 3. 封装 (1)PDIP (2)LQFP (3)PLCC (4)PQFP 二.STC8051结 ...
- 单片机c语言北航,【下载资料】《51单片机学习笔记》北航版
原标题:[下载资料]<51单片机学习笔记>北航版 如果手机下载有问题,请移步至电脑端,链接:https://forum.mianbaoban.cn/t/topic/36906 内容简介 本 ...
- 51单片机学习笔记2 仿真器的使用及STC89Cxx简介
51单片机学习笔记2 仿真器的使用及STC89Cxx简介) 一.连接步骤 1. 硬件连接 2. 安装软件驱动 3. 检查是否安装成功 二.仿真步骤 1. 打开一个51工程 2. 选择仿真设备 3. S ...
- [51单片机学习笔记TWO]----蜂鸣器
蜂鸣器音乐播放实验 首先应该了解一下蜂鸣器音乐播放的原理,在这里我只讲一下电磁式蜂鸣器驱动原理(还有一种是压电式蜂鸣器): 电磁式蜂鸣器驱动原理: 蜂鸣器发声原理是电流通过电磁线圈,使电磁圈产生磁场来 ...
- AutoLeaders控制组—51单片机学习笔记(LED控制、独立按键、数码管)
本篇内容是观看B站江科大自化协UP主的教学视频所做的笔记,对其中内容有所引用,并结合自己的单片机板块进行了更改调整. 以下笔记内容以一个视频为一个片段(内容较多,可能不适合速食,望见谅) 根据测试,目 ...
- 51单片机学习笔记(郭天祥版)(1)——单片机基础和点亮LED灯
关于单片机型号的介绍: STC89C52RC40C-PDIP 0721CV4336..... STC:STC公司 89:89系列 C:COMS 52(还有51,54,55,58,516,):2表示存储 ...
最新文章
- NRF51822之动态广播使用
- php要字符串的后四位,php如何截取字符串后四位
- 高性能网站建设的14个原则(转载)
- 1024程序员的节日~
- 1-4 多文档界面处理(2)
- Android深度探索第五章总结
- new char() 和 new char[]
- AD13中对工程进行编译出现的error
- Python实现PD文字识别、提取并写入CSV文件脚本分享
- 阿里突遭断网断电!双11最惊险一幕刚刚曝光
- 中考计算机考试评分标准,2016年中考英语作文的评分标准及评分细则(最新)
- 奥西tds300服务器维修,奥西Océ TDS300 驱动
- 云渲染技术在虚拟仿真医疗培训中的应用
- GBase 8s 数据库空间(dbspace)
- 数据库 连接(自然连接,内连接,外连接)
- 如何在Swift中创建漂亮的iOS图表
- win10 64bit 深度学习环境搭建完整版
- 【反向和同向比例运算电路】
- 小程序反编译 g is not defined_纹身霸气英文小短句_经典句子
- 高定服装走向NFT,巴黎时装周的数字化将带来什么新趋势?
热门文章
- c 语言链表 删除第一个节点,最简单的链表删除第一个节点时释放内存的问题
- win to go 给移动硬盘装双系统
- Ubuntu Desktop 18.04 设置静态IP方法(超详细)
- 今日头条的面试题:LRU原理和Redis实现
- 主角有三个精灵java游戏,神奇宝贝之有一个少年
- 安卓Android 微信 附件下载跳转至QQ浏览器后 无法显示(二次跳转)的问题
- APP在线更新下载安装(转载)
- MyBatis注解映射的局限性
- 美国网红python图片_爬取网红小姐姐图片(简单入门)
- 连江哪里可以学计算机基础,奔走相告!连江人在连江可以考驾照啦~