基于GD32的段码显示器设计

发布者:EternalWhisper最新更新时间:2024-11-04 来源: elecfans关键字:GD32  驱动方式 手机看文章 扫描二维码
随时随地手机看文章

说明一下:选用了IIC驱动方式,硬件连接SCL、SDAIN和SDAOUT引脚,

也就是说有应答检测是从SDAOUT引脚返回给MCU的。

硬件平台:微控制器选择GD32F103

PCA8538评估板

红外遥控器


并使用红外遥控器进行控制


锐鑫同创提供的示例十分丰富,注释清晰,移植太方便了。

IIC,RTC,DS18B20等驱动完全都不用改,项目完成很顺利。


核心代码部分分析:

主循环里 if(now!=timer.sec){}中每秒进行温度和时间更新。

if(Remote_Rdy){}检测遥控器发出的指令并执行。

PCA8538_TIME();参数较多,大家可以详细看一下,实现温度和时间同时显示,有点复杂

(相对于寄存器“冲突”情况)

while(1)

{

if(POWER_flag == 1)

{

if(now!=timer.sec)

{

now=timer.sec;

temp = DS18B20_Get_Temp();

printf('t1:%dn',temp);

temp_high = (temp/100);

temp_low = (temp/10-(temp/100*10));

PCA8538_TIME(temp_high,temp_low,timer.hour/10,timer.hour%10,timer.min/10,timer.min%10);

LED0 = !LED0;

}

}

if(Remote_Rdy)

{

key=Remote_Process();

switch(key)

{

case BUTTON_POWER:

PCA8538_POWER();

POWER_flag=1;

ice_num=0;

break;

case BUTTON_1:

if(flag == 0)

{

PCA8538_AUTO(1);

flag = 1;

}

else

{

PCA8538_AUTO(0);

flag = 0;

}

break;

case BUTTON_2:

ice_num++;

if(ice_num>=4)

{

ice_num=1;

}

PCA8538_NUM(ice_num);

break;

case BUTTON_3:

if(flag_light == 0)

{

PCA8538_LIGHT(1);

flag_light = 1;

}

else

{

PCA8538_LIGHT(0);

flag_light = 0;

}

break;

case BUTTON_4:

PCA8538_CLEAR();

POWER_flag=0;

break;

default:

break;

}

}

}


关键字:GD32  驱动方式 引用地址:基于GD32的段码显示器设计

上一篇:【GD32 MCU 入门教程】GD32 MCU 常见外设介绍 (6) ADC 模块介绍
下一篇:【GD32 MCU 入门教程】GD32 MCU 常见外设介绍(1)RCU 时钟介绍

推荐阅读最新更新时间:2026-03-20 11:20

基于GD32显示器设计
说明一下:选用了IIC驱动方式,硬件连接SCL、SDAIN和SDAOUT引脚, 也就是说有应答检测是从SDAOUT引脚返回给MCU的。 硬件平台:微控制器选择GD32F103 PCA8538评估板 红外遥控器 并使用红外遥控器进行控制 锐鑫同创提供的示例十分丰富,注释清晰,移植太方便了。 IIC,RTC,DS18B20等驱动完全都不用改,项目完成很顺利。 核心代码部分分析: 主循环里 if(now!=timer.sec){}中每秒进行温度和时间更新。 if(Remote_Rdy){}检测遥控器发出的指令并执行。 PCA8538_TIME();参数较多,大家可以详细看一下,实现温度和时间同时显示,有点复杂 (相对于寄存器
[单片机]
直线电机有哪些控制方式?直线电机和磁浮驱动控制技术有何不同
一、直线电机的控制方式 直线电机的控制方式一般可以分为以下几种: 开环控制:直线电机的位置和速度可以通过直接控制电流大小和方向来实现,这种方式的控制简单,但缺点是控制精度不高,容易受到外界干扰影响。 闭环控制:直线电机可以通过安装编码器等位置反馈传感器来获取位置和速度信息,再通过控制器对电机的电流进行调节,以达到控制电机的位置和速度的目的。这种方式的控制精度高,但成本较高。 磁力控制:利用磁力传感器控制电机的电流,从而达到控制电机运动的目的,可以实现高速高精度控制,但对磁力传感器要求较高。 电压控制:根据直线电机的电阻和电感特性,可以通过控制电机的电压大小和频率来控制电机的运动,这种方式控制简单,但是需要保证电源的稳定性。 PWM
[嵌入式]
【GD32F427开发板试用】EXMC方式驱动LCD屏幕
使用EXMC方式驱动LCD显示屏。 GD32 F427VEXMC系统架构图 扩展板 硬件 扩展板硬件EXMC 接口 部分电路图 2.1、开发板接口部分 2.2、LCD接口部分 驱动程序 3.1、exmc.c #include gd32f4xx.h #include exmc_lcd.h /*! brief lcd peripheral initialize param none param none retval none */ void exmc_lcd_init(void) { exmc_norsram_parameter_struct lcd_init_struc
[单片机]
【GD32F427开发板试用】EXMC<font color='red'>方式</font><font color='red'>驱动</font>LCD屏幕
Linux驱动之按键驱动编写(查询方式)
1、查看原理图,确定需要控制的IO端口 打开原理图,确定需要控制的IO端口为GPF0、GPF2、GPG3、GPG11 2、查看芯片手册,确定IO端口的寄存器地址,可以看到因为用了两组GPIO端口,所以它的基地址分别为0x56000050、0x56000060 3、编写驱动代码,编写驱动代码的步骤如下: 1)、编写出口、入口函数。代码如下,具体说明参考Linux驱动之LED驱动编写 static int second_drv_init(void) { Secondmajor = register_chrdev(0, buttons , &second_drv_ops);//注册驱动程序 if(Second
[单片机]
Linux<font color='red'>驱动</font>之按键<font color='red'>驱动</font>编写(查询<font color='red'>方式</font>)
步进电机的常用驱动方式
步进电机的驱动 stm32为例,使用ULN2003,TB6600电机驱动板,介绍步进电机的常用驱动方式。 步进电机 我使用的是一个教学用的小步进电机,驱动电压只有5V,所有的步进电机驱动原理都是类似的,电机详情如图。 产品参数 该模块为5线4相步进电机,可以使用普通的uln2003芯片驱动。 驱动要求:能够提供较快的电流上升和下降速度,使电流波形经量接近矩形。提供具有戒指期间释放电流流通的贿赂,以前降低绕组两端的反电动势,加快电流衰减。具有较高的功率及效率,步进电机的转速与脉冲信号的频率姐可以对单机进行调速。 内部结构图 四拍驱动方式 在四线驱动方式中,每次仅有一个线圈通电,对磁铁具有吸引作用,从而使电机进行转
[单片机]
步进电机的常用<font color='red'>驱动</font><font color='red'>方式</font>
linux驱动程序之电源管理之新版linux系统设备架构中关于电源管理方式的变更
新版linux系统设备架构中关于电源管理方式的变更 based on linux-2.6.32 一、设备模型各数据结构中电源管理的部分 linux的设备模型通过诸多结构体来联合描述,如struct device,struct device_type,struct class, struct device_driver,struct bus_type等。 @kernel/include/linux/devices.h中有这几中结构体的定义,这里只列出和PM有关的项,其余查看源码: struct device{ ... struct dev_pm_info power; ... } struct
[单片机]
WS2812灯珠(三)-- STM32 PWM+DMA方式驱动
一、理论 PWM输出就是对外输出脉宽(即占空比)可调的方波信号,信号频率由自动重装载寄存器ARR的值决定,占空比由比较寄存器CCR的值决定。 由WS2812规格书可知: WS2812灯珠的通信速度为800Kbit/s。 数据传输时间(TH+TL=1.25us+/-600ns) 故在配置STM32定时器时可设置,预分频因子为0,自动重装载初值为90-1,则频率为72M/90 = 800K。 设值占空比为45可满足1码的时间要求,设值占空比为30可满足0码的时间要求。 二、代码实践 这里在代码中具体用到的时PA0引脚(TIM2的CH1) 头文件:通过宏配置需要控制的灯珠数目 #ifndef __BSP_W
[单片机]
WS2812灯珠(三)-- STM32 PWM+DMA<font color='red'>方式</font><font color='red'>驱动</font>
1_5.5.5_字符设备驱动程序之查询方式的按键驱动程序_P
目的:按键驱动,通过查询的方式获取按键值。 写出框架: a.file_operation结构体; b.入口函数中注册file_operation结构体,出口函数中卸载; c.给sysfs提供更多的信息,用来给udev自动创建设备节点(创建一个class,在这个class下面创建class device); 硬件操作; a.看原理图,引脚; b.看2440的手册; c.编程:单片机:使用物理地址;驱动:使用虚拟地址;(UA = ioremap(PA, size)) 操作:在入口函数做地址映射,在open函数中配置引脚,在read函数中读取引脚状态。 内核态向用户态传数据,使用copy_to_user函数。 test函数中
[单片机]
1_5.5.5_字符设备<font color='red'>驱动</font>程序之查询<font color='red'>方式</font>的按键<font color='red'>驱动</font>程序_P
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved