一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: 酷爱diy

[其他综合] 我该怎么学单片机啊,都郁闷死我了

 火... [复制链接]
发表于 2012-6-25 16:54 | 显示全部楼层
本帖最后由 aa7812 于 2012-6-25 16:56 编辑
你要总是在这里砍大山,而不是讨论实际的,你是永远也学不会的.我已经不止一次的让你把你的需求写上来,从不见 ...
cosine 发表于 2012-6-25 09:05 https://www.yleee.com.cn/images/common/back.gif



同意熊的观点,不过大家可能有些冤枉楼主了,楼主想写程序,可是写什么呢?  没目标啊,写复杂的,难,写基础的,可楼主不知道什么是基础的,
让楼主写需求,恐怕楼主提不出需求,  倒不如 网友出些 基础的题目,让楼主实践一把。
     楼主要多动手,谁也不是天生就会的。
回复

使用道具 举报

发表于 2012-6-25 17:15 | 显示全部楼层
同意熊的观点,不过大家可能有些冤枉楼主了,楼主想写程序,可是写什么呢?  没目标啊,写复杂的,难 ...
aa7812 发表于 2012-6-25 16:54 https://www.yleee.com.cn/images/common/back.gif



    一点没冤枉他,目标告诉过他了(作一个简单的时钟),需求也几次说了帮他写,可每次真到实际的东西了就顾左右而言他了,然后接着发新贴抱怨学不会.这次总算说了一点需求,在另一个贴里,我也回了,还没见回复.看看这次如何吧.

https://www.yleee.com.cn/thread-16233-1-1.html
回复

使用道具 举报

发表于 2012-6-25 20:46 | 显示全部楼层
时钟对初学者,好像不算很简单的,有中断,有进位, 有显示,
  我也出一个题目:
   硬件:      二个IO脚,设定为输出,  每个脚 用 2K电阻 串联 发光二级管 到 到地.
    软件要求:  一个二级管亮一秒, 然后息灭,  另一个二级管亮二秒,息灭,  重复这个过程
回复

使用道具 举报

发表于 2012-6-25 20:53 | 显示全部楼层
lz年龄多少?
回复

使用道具 举报

发表于 2012-6-25 21:10 | 显示全部楼层
时钟对初学者,好像不算很简单的,有中断,有进位, 有显示,
  我也出一个题目:
   硬件:      二个IO脚 ...
aa7812 发表于 2012-6-25 20:46 https://www.yleee.com.cn/images/common/back.gif



    我很担心楼主看不上你的题目,你翻翻老贴就知道,楼主一直想搞机器人来的.所以没有一定难度的题目可能看不上,呵呵.
回复

使用道具 举报

发表于 2012-6-25 21:16 | 显示全部楼层
楼主,给你一个简单的目标,做8个呼吸灯吧,每个单独控制。把你的方案放上来,包括硬件软件思路都说说看,首先得硬件搞清楚吧,然后想想看以你的知识怎么解决?说说看吧,大家一起讨论下。
回复

使用道具 举报

发表于 2012-6-26 00:41 | 显示全部楼层
兄弟:看你还真是没压力呀!前两天有个中考生要动手了哦……楼主得抓紧时间哦
回复

使用道具 举报

发表于 2012-6-26 08:01 | 显示全部楼层
其实楼主写下LED流水灯类的程序已经没问题了,
上次跟他聊时,他发了一段代码过来,写得不非常不错,

#include <reg52.h>
typedef unsigned char uint8 ;
typedef unsigned int  uint16;

void delay(uint16 a)
{
        uint16 i,j;
        for(i=0;i<a;i++)
                for(j=0;j<275;j++);
}

void led_1(void)
{
                uint8 k,temp;
                P1=0xff;
                  temp=0x01;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x03;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x07;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x0f;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x1f;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x3f;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0x7f;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
                temp=0xff;
                for(k=0;k<8;k++)
                {
                        P1=~temp;
                        delay(300);
                        temp<<=1;
                }
}

void led_2(void)
{
        uint8 m,n,dd;
               
        for(m=0;m<3;m++)
                {
                        P1=0xaa;
                        delay(300);
                        P1=0x55;
                        delay(300);
                }
        for(n=0;n<3;n++)
                {
                        for(m=0;m<8;m++)
                        {
                                P1=~(1<<m);
                                delay(300);
                        }       
                        for(m=8;m>0;m--)
                        {
                                P1=~(1<<m-1);
                                delay(300);
                               
                        }
       
                }
               
        for(n=0;n<3;n++)
                {       
                        dd=0x81;
                        for(m=0;m<4;m++)
                        {       
                                P1=~dd;
                                delay(300);
                                dd=(dd|(dd<<1))|(dd|(dd>>1));
                        }
                                       
                }
                 
        for(n=0;n<3;n++)
                {       
                        dd=0x18;
                        for(m=0;m<4;m++)
                        {       
                                P1=~dd;
                                delay(300);
                                dd=(dd|(dd>>1))|(dd|(dd<<1));
                        }
                                       
                }
               
                for(n=0;n<4;n++)
                {
                        P1=0;
                        delay(300);
                        P1=0xff;
                        delay(300);
                }
                       
                while(1);
}

void main()
{
        while(1)
        {
                led_1();
                led_2();
        }       
                       
}
回复

使用道具 举报

发表于 2012-6-26 08:03 | 显示全部楼层
不过就是没有一个注释,看程序比较费劲
回复

使用道具 举报

发表于 2012-6-26 09:18 | 显示全部楼层
不过就是没有一个注释,看程序比较费劲
356053261 发表于 2012-6-26 08:03 https://www.yleee.com.cn/images/common/back.gif



    能写出来就不错,虽说有点啰嗦,但还是值得鼓励的。
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-18 16:25 , Processed in 0.036635 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表