切换到宽版
  • 6972阅读
  • 41回复

小白不会编程,求大师给代写一段程序(最终源码)(结贴) [复制链接]

上一主题 下一主题
离线z2091981

发帖
1555
M币
3508
专家
13
粉丝
63
只看该作者 30楼 发表于: 01-02
DS3231没用过,595的我有

/*************************
74hc595.c
**************************/
#include "74hc595.h"
#include "main.h"
const u8 TAB[]={//3,159,37,13,153,73,65,31,1,9,
                3,243,37,97,209,73,9,227,1,65,
                2,243,36,98,210,74,10,227,2,66,
                255,0x11,0xc1,0x63,0x61,0xf5};//    ;有小数点

//------------------------
/*************************/
void ds595()
{    u8 i,j,dsd,z_cl=0;
    for(j=0;j<4;j++)            //4个显示字
    {
        switch(j)
        {
            case 0:
                dsd=TAB[us.sys_hor/10];
                break;//正装有点
            case 1:
                dsd=TAB[us.sys_hor%10];
                break;//正装有点
            case 2:
                    dsd= us.sys_sec;
                break;//正装有点
            case 3:
                    dsd=TAB[us.sys_min/10];
                break;//正装有点
            case 4:
                     dsd=TAB[us.sys_min%10];
                break;//正装有点
            break;
        }
           for(i=0;i<8;i++)
            {
                dat=(dsd&0x01);
                dsd=dsd>>1;
                clk=(1);
                clk=(0);
            }
    }    
    rck=(0);
    rck=(1);
    rck=(0);

}
只要有心,无处不是风景
离线mon51

发帖
161
M币
331
专家
4
粉丝
11
只看该作者 31楼 发表于: 01-02
可以给你做:用protens 画好SCH,用KEIL写好程序。虚拟运行。
离线leichyi

发帖
16
M币
700
专家
0
粉丝
6
只看该作者 32楼 发表于: 01-04
帮楼主顶下,
离线小茅

发帖
2290
M币
1597
专家
6
粉丝
36
只看该作者 33楼 发表于: 01-04
哪里上拉才正常?51单片机的IO口是不一样的,我记得P0是开路的需要上拉,其他都不用
数码之家终于回归正常的论坛模式了
离线widkzdwitm

发帖
78
M币
860
专家
6
粉丝
42
只看该作者 34楼 发表于: 01-04
大神有时间帮我改一下吧!
本帖提到的人: @飞向狙沙
离线飞向狙沙

发帖
12978
M币
7282
专家
47
粉丝
10348
只看该作者 35楼 发表于: 01-04
回 widkzdwitm 的帖子
widkzdwitm:大神有时间帮我改一下吧! (2018-01-04 21:18) 回 widkzdwitm 的帖子

大体看了一下,表示还是没看懂,现在是用wifi串口授时么,没有看到有用定时器呀。还有LED显示我看用的是带IC的,应该可以保持数据吧(没用过,猜测),那就不需要74HC595了,没有硬件,没有测试,也不好说什么,给楼主点建议,
首先弄个单片机最小系统,然后学习stc官方提供io控制程序,控制数码管显示,然后是串口程序,然后学习定时器程序,然后驱动WS2812,拆开都学会了在组到一块拼拼凑凑就好了。如果真心搞不定需要主攻的话最好能把硬件发过来搞定了在发给你发回去,远程主攻真心痛苦。
在线a2633063

发帖
612
M币
2630
专家
14
粉丝
33060
只看该作者 36楼 发表于: 01-05
热心助人奖励:+1 M币
LED为WS2812,三色的,可以无限颜色。
利用机智云开源ESP8266手机控制颜色。

led是ws2812 还有esp8266 还要什么单片机 595什么的~
直接将ws2812dat脚接esp8266一个IO口,esp8266sdk编程sntp获取时间,根据时间输出ws2812要亮的内容就可以了 硬件电路就很简单了

led用ws2812的情况下是不存在用74hc595的~ 直接IO口就可以驱动了


程序中,定时器1是为了串口,定时器0启动了 但是没有使用,可以直接删除定时器0初始化部分
离线shjine

发帖
573
M币
228
专家
0
粉丝
9
只看该作者 37楼 发表于: 01-06
热心助人奖励:+1 M币
没看清楚你的电路图,不过 ULN2003 只能灌电流,要注意使用方向
离线13815080809

发帖
1786
M币
736
专家
1
粉丝
9
只看该作者 38楼 发表于: 01-08
建议楼主找单片机专家 杜洋先生
离线chw321401

发帖
764
M币
608
专家
3
粉丝
61
只看该作者 39楼 发表于: 01-13
热心助人奖励:+1 M币
原595输出低电平点亮数码管   加了ULN2003 反向了   要595输出高电平2003才输出低电平才可以点亮数码管   只要595数据取反就可以显示正常了