打印

基于GD32微控制器的段码显示器

[复制链接]
3078|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 reayfei 于 2013-9-3 21:03 编辑

说明一下:选用了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:%d\n",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智能显示器V4.5.rar

4.14 MB

沙发
永远的不知| | 2013-9-5 18:40 | 只看该作者
支持穿裤子。

使用特权

评论回复
板凳
reayfei|  楼主 | 2013-9-5 22:33 | 只看该作者
永远的不知 发表于 2013-9-5 18:40
支持穿裤子。

谢谢您的支持:)

使用特权

评论回复
地板
luohao316| | 2013-9-10 12:08 | 只看该作者
这个GD32是不是就是STM32呀?

使用特权

评论回复
5
reayfei|  楼主 | 2013-9-10 15:54 | 只看该作者
luohao316 发表于 2013-9-10 12:08
这个GD32是不是就是STM32呀?

GD32是国产哦!

使用特权

评论回复
6
blackrui| | 2013-9-10 16:48 | 只看该作者
luohao316 发表于 2013-9-10 12:08
这个GD32是不是就是STM32呀?

这是两个品牌,只是GD32可以兼容STM32.

使用特权

评论回复
7
jack888518| | 2013-9-10 18:01 | 只看该作者
不错的应用~

使用特权

评论回复
8
s614857575| | 2013-9-19 20:25 | 只看该作者
话说这个算不算山寨啊

使用特权

评论回复
9
喵小棋| | 2013-10-30 22:18 | 只看该作者
支持一下

使用特权

评论回复
10
筱禾1988| | 2013-11-27 22:35 | 只看该作者
改一下之前的驱动,应该好弄

使用特权

评论回复
11
喵小棋| | 2013-11-27 22:48 | 只看该作者
直接把ST做过的改过来就好了

使用特权

评论回复
12
zhangjin_comeon| | 2013-11-27 23:16 | 只看该作者
是啊 直接改改呢

使用特权

评论回复
13
make8419247| | 2013-12-3 07:53 | 只看该作者
支持支持!!!GD32还是不错的

使用特权

评论回复
14
lixiang1729| | 2013-12-21 20:17 | 只看该作者
支持一下咯

使用特权

评论回复
15
gongjinhua| | 2013-12-22 11:30 | 只看该作者
很好的

使用特权

评论回复
16
zhouli09| | 2013-12-22 12:02 | 只看该作者
界面不好看啊

使用特权

评论回复
17
kfliuyan| | 2014-7-29 11:26 | 只看该作者
例子收藏了,有用得着的时候

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:WiFi包邮:http://item.taobao.com/item.htm?id=19254130983

15

主题

395

帖子

2

粉丝