juncheng14 发表于 2014-8-3 14:36:24

开源移动电源板数码管显示456

感谢海尔提供的这你学习机会,收到开发套件有一段时间了,硬件是早就焊好了。
实在是软件水平有限,没什么进展。现贴出数码管的显示源码,还请大家指教。

#include <hic.h>

#define uint unsigned int
#define uchar unsigned char

#define ua_indata PC0
#define st_cp_data PB7
#define sh_cp_data PC1
    uchar aa;
    uchar table[]={0xC0,0xDB,0xA2,0x8A,0x99,0x8C,0x84,0xDA,0x80,0x88,0x90,0x80,0xE4,0x83,0xa4,0xB4};
    uchar disp[]={4,5,6};

void delay()
{
    uint a=2000;   
    while(a--);
}


void display(uchar datal)
{
    uchar b;
    for(b=0;b<8;b++)
    {
       st_cp_data=0;
       sh_cp_data=0;
       if(datal&0x80)   
         ua_indata=1;
       else
      ua_indata=0;
      datal<<=1;
      sh_cp_data=1;
      }         
       st_cp_data=1;   
      return;
}




void sendword(uchar dataH,uchar dataL)
{
display(dataH);
display(dataL);
}

void dispcode()
{
sendword(table],0x20);
delay();
sendword(table],0x40);
delay();
sendword(table],0x80);
delay();
}

//主程序//
void main(void)
{
    while(1)
    {
    dispcode();
      }
   
}

NFSC 发表于 2014-8-3 20:26:34

这是个好项目。
需要学习移动电源开发的,可以关注我的帖子。4年批量生产稳定MCU方案,源代码开放。测试样板2元/PCS,提供原理图、PCB gerber文件,量产bom,量产源代码。需要的站内短信联系。

little_Monkey 发表于 2014-8-3 21:58:07

先学会把delay去掉

juncheng14 发表于 2014-8-4 10:45:21

本帖最后由 juncheng14 于 2014-8-4 10:52 编辑

NFSC 发表于 2014-8-3 20:26
这是个好项目。
需要学习移动电源开发的,可以关注我的帖子。4年批量生产稳定MCU方案,源代码开放。测试样 ...

我的权限不够,不能发站内信。。我留个邮箱帮我发这里行吗?juncheng_14@163.com

juncheng14 发表于 2014-8-4 10:46:16

little_Monkey 发表于 2014-8-3 21:58
先学会把delay去掉

还请教,不用delay 用什么是定时器吗。。

海尔_大海 发表于 2014-8-6 10:33:38

juncheng14 发表于 2014-8-4 10:46
还请教,不用delay 用什么是定时器吗。。

用定时器实现显示切换

zhangshixing 发表于 2014-8-6 11:08:42

还在用delay,{:sweat:}

juncheng14 发表于 2014-8-6 14:14:25

本帖最后由 juncheng14 于 2014-8-6 14:50 编辑

海尔_大海 发表于 2014-8-6 10:33
用定时器实现显示切换

哦,一般这个定时是多长呢。能介绍下如何实现过程吗。

海尔_大海 发表于 2014-8-7 15:09:04

juncheng14 发表于 2014-8-6 14:14
哦,一般这个定时是多长呢。能介绍下如何实现过程吗。

以眼睛不觉得抖为宜,1s 2s都可以吧
页: [1]
查看完整版本: 开源移动电源板数码管显示456