当前位置: 首页 > wzjs >正文

代做效果图网站好东莞市网络营销公司

代做效果图网站好,东莞市网络营销公司,长宁网站建设价格,软件工程师需要考什么证第十五章 点阵LED 15.1 点阵 LED 概述 15.1.1 实物图 15.1.1 原理图 15.2 点阵 LED 静态显示 15.2.1 需求描述 使用点阵 LED 显示一排由左上到右下的斜线,具体效果如下图所示。 15.2.2 硬件设计 15.2.2.1 硬件原理图 根据内部原理可知,点阵 LED 的…

 第十五章 点阵LED

15.1 点阵 LED 概述

15.1.1 实物图

15.1.1 原理图

15.2 点阵 LED 静态显示

15.2.1 需求描述

使用点阵 LED 显示一排由左上到右下的斜线,具体效果如下图所示。

15.2.2 硬件设计

15.2.2.1 硬件原理图

根据内部原理可知,点阵 LED 的显示需要逐行或者逐列扫描,此处选择逐行扫描。由
于每次扫描只需点亮一行,所以很容易想到,行的扫描可以通过 74HC238(类似于
74HC138,与 138 输出相反)芯片完成,以达到节省 MCU 引脚的目的。
每行要显示的内容由点阵 LED 阴极的 8 个引脚控制,将 8 个引脚接入 MCU 的 8 个
GPIO 引脚即可。具体的硬件原理图如下。

15.2.2.2 74HC595 使用说明

上述原理图显示,点阵 LED 的行扫描并未使用 74HC238 芯片,而是使用了 74HC595。
该芯片的用法如下。

74HC595 芯片的相关资料如下。

15.2.3 软件设计


15.2.3.1 实现思路

15.2.3.2 具体代码

1)Int_MatrixLED.h

在 Int 中新建 Int_MatrixLED.h,写入以下内容

#ifndef __INT_MATRIXLED_H__
#define __INT_MATRIXLED_H__
#include <STC89C5xRC.H>
#include "Util.h"
/**
* @brief 点阵 LED 初始化函数
*
*/
void Int_MatrixLED_Init();
/**
* @brief 设置点阵现实图像的函数
*
* @param pic 要显示的图像,数组长度必须为 8
*/
void Int_MatrixLED_SetPic(u8 *pic);
/**
* @brief 需要不断调用下面的函数刷新点阵 LED
*
*/
void Int_MatrixLED_Refresh();
#endif // __LED_MATRIX_H__

2)Int_MatrixLED.c

在 Int 中新建 Int_MatrixLED.c,写入以下内容:

#include "Int_MatrixLED.h"
#define SER P10
#define SCK P12
#define RCK P11
#define MATRIX_LED_EN P35
// 设置缓存,每个字节代表点阵的一行,单行中每个 bit,1 为亮,0 为灭
static u8 s_led_buff[8];
void Int_MatrixLED_Init()
{u8 i;
// 打开点阵 LEDMATRIX_LED_EN = 0;
// 初始化后,全部点阵关闭for (i = 0; i < 8; i++){s_led_buff[i] = 0;}
}void Int_MatrixLED_SetPic(u8 *pic)
{u8 i;for (i = 0; i < 8; i++){s_led_buff[i] = pic[i];}
}void Int_MatrixLED_Refresh()
{u8 i;SER = 1;SCK = 0;SCK = 1;SER = 0;for (i = 0; i < 8; i++){
// 展示下一行之前,关闭P0 = 0xFF;RCK = 0;RCK = 1;
// 当前行展示想展示的数据P0 = ~s_led_buff[i];SCK = 0;SCK = 1;Delay1ms(1);}
}

3)Main.c

在主文件夹新建 Main.c,写入以下内容

#include <STC89C5xRC.H>
#include "Int_MatrixLED.h"
void main()
{u8 pic[8] = {0x1,0x2,0x4,0x8,0x10,0x20,0x40,0x80};
Int_MatrixLED_Init();
Int_MatrixLED_SetPic(pic);while (1) {Int_MatrixLED_Refresh();}
}

15.3 点阵 LED 滚动显示

15.3.1 需求描述

LED 点阵屏滚动显示“尚硅谷”三个字。

15.3.2 软件设计

15.3.2.1 实现思路

15.3.2.2 完整代码

1)Int_MatrixLED.h

#ifndef __INT_LEDMATRIX_H__
#define __INT_LEDMATRIX_H__
#include "Com_Util.h"
void Int_LEDMatrix_Init();void Int_LEDMatrix_SetPic(u8 pic[]);void Int_LEDMatrix_Refresh();void Int_LEDMatrix_Shift(u8 pic);#endif /* __INT_LEDMATRIX_H__ */

2)Int_MatrixLED.c

#include "Int_LEDMatrix.h"
#include "Dri_Timer0.h"
#include <STC89C5xRC.H>
#define LED_MATRIX_EN P35
#define LED_EN        P34#define SER           P10
#define SCK           P12
#define RCK           P11static u8 s_buffer[8];
void Int_LEDMatrix_RefreshByTimer0();
void Int_LEDMatrix_Init()
{LED_MATRIX_EN = 0;LED_EN        = 0;Dri_Timer0_RegisterCallback(Int_LEDMatrix_RefreshByTimer0);
}void Int_LEDMatrix_SetPic(u8 pic[])
{u8 i;for (i = 0; i < 8; i++) {s_buffer[i] = pic[i];}
}void Int_LEDMatrix_Refresh()
{u8 i;for (i = 0; i < 8; i++) {P0 = 0xFF;// 1.设置显示哪行if (i == 0) {SER = 1;} else {SER = 0;}SCK = 0;SCK = 1;RCK = 0;RCK = 1;// 2.设置当前行的显示内容P0 = ~s_buffer[i];Com_Util_Delay1ms(1);}
}void Int_LEDMatrix_Shift(u8 pic)
{u8 i=7;for ( i = 0; i >=1 ; i--){s_buffer[i]=s_buffer[i-1];s_buffer[0]= pic ;}}void Int_LEDMatrix_RefreshByTimer0()
{static u8 i = 0;P0          = 0xFF;// 1.设置显示哪行if (i == 0) {SER = 1;} else {SER = 0;}SCK = 0;SCK = 1;RCK = 0;RCK = 1;// 2.设置当前行的显示内容P0 = ~s_buffer[i];i++;if (i == 8) {i = 0;}
}

3)Main.c

#include"Dri_Timer0.h"
#include"Int_LEDMatrix.h"
void main()
{u8 i;u8 picture[26] = {0xF8, 0x0A, 0xEC, 0xAF, 0xEC, 0x8A, 0xF8, 0x00,0x10, 0xF9, 0x97, 0xF1, 0x88, 0xAA, 0xFF, 0xAA,0x88, 0x00, 0x14, 0x0A, 0xF5, 0x92, 0x92, 0xF5,0x0A, 0x14};Dri_Timer0_Init();Int_LEDMatrix_Init();while(1){for ( i = 0; i < 26; i++){Int_LEDMatrix_Shift(picture[26]);Com_Util_Delay1ms(200);}}
}

http://www.dtcms.com/wzjs/344839.html

相关文章:

  • 销售网站制作海南seo排名优化公司
  • 如皋网站开发线上推广是什么意思
  • 网站开发 图片储存百度在西安的公司叫什么
  • wordpress做商城网站成都最好的seo外包
  • 怎样做国外网站站长工具a级
  • 返利网一类的网站怎么做网络营销策略包括哪四种
  • wordpress整站ssl网络营销概述
  • 苏州网站排名优化系统seo排名哪家正规
  • html个人网站完整代码网站推广的技巧
  • 大型网站建设历史网络广告销售
  • 南通市网站网站排名系统
  • 金沙洲网站建设工作室媒体邀约
  • 基金会网站建设方案蚁百杭州网站seo优化
  • 普洱建设工程网站国家免费技能培训
  • 电子商务网站的建设要求策划公司排行榜
  • 如何打死网站电子商务网站建设流程
  • 上海 网站建设公司办理培训机构需要具备的条件
  • 做网站的公司苏州电商广告
  • 网站下面的公安备案怎么做百度问答我要提问
  • 网站后台怎么做图片链接成都网络推广外包
  • 服装设计网站模板国内搜索网站排名
  • 建网站学什么专业友情链接是啥意思
  • 的动态网站开发网站项目开发流程
  • 深圳专业高端网站建设网络营销期末考试试题及答案
  • 网络直销型企业网站有哪些外贸推广公司
  • 网站已备案下一步怎么做西安高端网站建设公司
  • 网建什么意思什么是seo搜索优化
  • 网站怎么做才能赚钱优化seo深圳
  • 如何给网站流量来源做标记通过在网址后边加问号?如何做好企业网站的推广
  • 网站建设公司 石景山免费企业网站模板源码