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

中卫市网站开发制作网站点击量查询

中卫市网站开发制作,网站点击量查询,受欢迎的昆明网站建设,新网站如何做排在前面公司生产测试需要统一去检查这版CH452A的好坏,网上找了一下没有现成可以用的4线CH452A的驱动程序,所以直接就肝了移植官方的51程序到stm32上面去,亲测可以使用!! 文末有代码 测试图片: 如你所见我测了一堆…

公司生产测试需要统一去检查这版CH452A的好坏,网上找了一下没有现成可以用的4线CH452A的驱动程序,所以直接就肝了移植官方的51程序到stm32上面去,亲测可以使用!!

文末有代码

测试图片:

如你所见我测了一堆都没有问题,随意用,我这边原理图画的是共阴极的哦!!

这是官方手册的接线图哈,参考一下以后你就会发现,这个Dout用不上,所以4线更多时候三线就可以使用了。

接下来我贴一点芯片的资料水个字数吧,看了一下带锁存的很好用啊哈哈

官方介绍

CH452 是数码管显示驱动和键盘扫描控制芯片。CH452内置时钟振荡电路,可以动态驱动8位数 码管或者64只LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64 键的键盘扫描;CH452通过可以级联的4线串行接口或者2线串行接口与单片机等交换数据;并且可 以对单片机提供上电复位信号。

CH452对数码管和发光管采用动态扫描驱动,顺序为DIG0至DIG7,当其中一个引脚吸入电流时, 其它引脚则不吸入电流。CH452内部具有电流驱动级,可以直接驱动0.5英寸至1英寸的共阴数码管, 段驱动引脚SEG6~SEG0分别对应数码管的段G~段A,段驱动引脚SEG7对应数码管的小数点,字驱 动引脚DIG7~DIG0分别连接8个数码管的阴极;CH452也可以连接8×8矩阵的发光二级管LED阵列 或者64个独立发光管或者64级光柱;CH452可以改变字驱动输出极性以便直接驱动共阳数码管(不 译码方式),或者通过外接反相驱动器支持共阳数码管,或者外接大功率管支持大尺寸的数码管。 CH452支持扫描极限控制,并且只为有效数码管分配扫描时间。当扫描极限设定为1时,唯一的 数码管DIG0将得到所有的动态驱动时间,从而等同于静态驱动;当扫描极限设定为8时,8个数码 管DIG7~DIG0各得到1/8的动态驱动时间;当扫描极限设定为4时,4个数码管DIG3~DIG0各得到 1/4的动态驱动时间,此时各数码管的平均驱动电流将比扫描极限为8时增加一倍,所以降低扫描极 限可以提高数码管的显示亮度。 CH452内部具有8个8位的数据寄存器,用于保存8个字数据,分别对应于CH452所驱动的8个 数码管或者8组每组8个的发光二极管。CH452支持数据寄存器中的字数据左移、右移、左循环、右 循环,并且支持各数码管的独立闪烁控制,在字数据左右移动或者左右循环移动的过程中,闪烁控制 的属性不会随数据移动。 CH452支持任意段位寻址,可以用于独立控制64个发光管LED中的任意一个或者数码管中的特 定段(例如小数点),所有段位统一编址从00H到3FH。当用“段位寻址置1”命令将某个地址的段位 置1后,该地址对应的发光管LED或者数码管的段会点亮,该操作不影响任何其它LED或者数码管其 它段的状态。

源文件:

bsp_ch452.c

#include "bsp_CH452.h"
#include "delay.h"// 共阴数码管段码表
static const uint8_t SegCode[] = {0x3F, // 00x06, // 10x5B, // 20x4F, // 30x66, // 40x6D, // 50x7D, // 60x07, // 70x7F, // 80x6F, // 90x77, // A0x7C, // b0x39, // C0x5E, // d0x79, // E0x71  // F
};void CH452_GPIO_Init(void) {GPIO_InitTypeDef GPIO_InitStruct;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE);GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;// 配置DCLKGPIO_InitStruct.GPIO_Pin = CH452_DCLK_PIN;GPIO_Init(CH452_DCLK_PORT, &GPIO_InitStruct);// 配置DINGPIO_InitStruct.GPIO_Pin = CH452_DIN_PIN;GPIO_Init(CH452_DIN_PORT, &GPIO_InitStruct);// 配置LOADGPIO_InitStruct.GPIO_Pin = CH452_LOAD_PIN;GPIO_Init(CH452_LOAD_PORT, &GPIO_InitStruct);// 初始状态GPIO_SetBits(CH452_DCLK_PORT, CH452_DCLK_PIN);GPIO_SetBits(CH452_DIN_PORT, CH452_DIN_PIN);GPIO_SetBits(CH452_LOAD_PORT, CH452_LOAD_PIN);
}void CH452_WriteCommand(uint16_t cmd) {GPIO_ResetBits(CH452_LOAD_PORT, CH452_LOAD_PIN);Delay_us(2);for(int i = 0; i < 12; ++i) {(cmd & 0x01) ? GPIO_SetBits(CH452_DIN_PORT, CH452_DIN_PIN) : GPIO_ResetBits(CH452_DIN_PORT, CH452_DIN_PIN);Delay_us(1);GPIO_ResetBits(CH452_DCLK_PORT, CH452_DCLK_PIN);Delay_us(1);GPIO_SetBits(CH452_DCLK_PORT, CH452_DCLK_PIN);Delay_us(1);cmd >>= 1;}GPIO_SetBits(CH452_LOAD_PORT, CH452_LOAD_PIN);Delay_us(5);
}void CH452_Init(void) {CH452_GPIO_Init();// 复位芯片CH452_WriteCommand(CH452_RESET);Delay_ms(20);// 配置显示参数CH452_WriteCommand(CH452_NO_BCD | 0x07); // 不译码+8位数码管// 开启显示和键盘CH452_WriteCommand(CH452_SYSON2);
}void CH452_DisplayNum(uint8_t pos, uint8_t num, uint8_t dot) 
{if(pos > 7 || num >= sizeof(SegCode)/sizeof(SegCode[0])) return;uint8_t seg_data = SegCode[num];if(dot) seg_data |= 0x80;uint16_t cmd = 0x8000 | (pos << 8) | seg_data;CH452_WriteCommand(cmd);
}

头文件

bsp_ch452.h

#ifndef __BSP_CH452_H
#define __BSP_CH452_H#include "stm32f10x.h"// 引脚定义
#define CH452_DCLK_PIN    GPIO_Pin_2
#define CH452_DCLK_PORT   GPIOA
#define CH452_DIN_PIN     GPIO_Pin_3
#define CH452_DIN_PORT    GPIOA
#define CH452_LOAD_PIN    GPIO_Pin_13
#define CH452_LOAD_PORT   GPIOB// 命令定义
#define CH452_RESET      0x0201
#define CH452_SYSON2     0x0403
#define CH452_NO_BCD     0x0500void CH452_GPIO_Init(void);
void CH452_WriteCommand(uint16_t cmd);
void CH452_Init(void);
void CH452_DisplayNum(uint8_t pos, uint8_t num, uint8_t dot);#endif

直接拿去放你们文件中就可以使用了,不用谢啊,什么你找我要工程?看我资料列表吧,我资源列表有

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

相关文章:

  • 网站的管理更新维护微信营销的方法
  • 跨境电商网址网页优化最为重要的内容是
  • 政府网站建设硬件百度投诉中心
  • 海南医院网站建设网络营销课程设计
  • 济南一哥网站建设搜索引擎优化解释
  • dede网站备份汕头网站建设方案维护
  • 网站开发设计实训总结最新病毒感染
  • 国家开发大学网站作业怎么做百度收录网址
  • 佛山b2b网站建设竞价托管推广哪家好
  • 免费域名注册网站店铺seo是什么意思
  • 重庆做网站 外包公司有哪些手机百度官网
  • 做百科需要用什么网站做参考最好用的免费建站平台
  • 质感企业网站导航用ps怎么做一媒体app软件下载老版本
  • 怎么做网站收录网站如何优化关键词排名
  • 只做域名跳转和关停网站网络营销渠道策略研究
  • 网站客服管理系统营销广告语
  • 这么做简单的网站友情链接平台哪个好
  • 绍兴市住房与城乡建设厅网站专业seo优化公司
  • 怎么做公司网站seo及网络推广招聘
  • 如何给自己的公司做网站电商seo是什么意思
  • 做pc端网站报价网络广告策划流程有哪些?
  • 上海昆山网站公司哪家好网站友情链接的作用
  • 自己搭建服务器 发布网站 域名如何申请网站权重如何查询
  • 什么网站专门学做湖北菜市场营销公司有哪些
  • 做产品批发生意用什么类型的网站好成都互联网公司排名
  • 网站建设及运行情况介绍seo网站推广与优化方案
  • 网站开发与设计 需求分析seo网络优化专员
  • 静安集团网站建设百度爱采购客服电话
  • 苏州网站建设设计制作公司怎么样网推接单平台
  • 怎样给网站找空间做备案竞价账户托管公司