查看: 59|回复: 0

[讨论] [每日一帖] 之8__色彩变换的程序实现

[复制链接]

54

主题

1

好友

1492

积分

进士

Rank: 5Rank: 5

  • TA的每日心情
    奋斗
    昨天 09:55
  • 签到天数: 197 天

    [LV.7]常住居民III

    爱板会员勋章 活跃会员勋章

    发表于 2016-8-15 09:03:12 |显示全部楼层
    在色彩时钟的DIY过程中,主要涉及的问题有:
    1RGB_LED的电路搭建
    2RGB_LED的色彩调配
    3)串行数据收发
    在进行色彩变换测试前,我们先要搭建RGB_LED的电路。处于方便的原因,我是将RGB_LED3个限流电阻固定在一块硬纸板上,然后配上了一个4引脚的插座以便以单片机连接。
    在保证RGB_LED的电路正确情况下,需要确定单片机的I/O口驱动能力,经测试单片机的P1口完全可以驱动RGB_LED
    在测试色彩调配时,可以下面的程序体验色彩的魅力。
    1. /******************************************************
    2. *  程序名称:main.c
    3. *  程序功能:主控程序,实现色彩切换显示,每按一下K1键就换一种色彩。
    4. *  设计:JINGLIXIXI
    5. *  编写时间:2016-7-26
    6. *  程序版本:V1.0
    7. *****************************************************/
    8. /* 头文件 */
    9. #include "reg51.h"
    10. //#include "delay.h"
    11. sbit RC = P1^0;
    12. sbit GC = P1^1;
    13. sbit BC = P1^2;
    14. sbit K1 = P3^2;
    15. sbit K2 = P3^3;
    16. unsigned int j=0;
    17. unsigned int rtc=0;   //秒计数器
    18. /******************************************************
    19. *  函数名称:main()
    20. *  函数功能:主函数
    21. *  入口参数:
    22. *  出口参数:
    23. *****************************************************/
    24. int main()
    25. {
    26. unsigned int k=0;
    27. unsigned char hh=0;    //  时
    28. unsigned char mm=0;   //  分
    29.         K1 = 1;
    30.         K2 = 1;
    31.             TimeInit();
    32.             RC = 0;
    33.             GC = 0;
    34.             BC = 0;
    35.                 //  白色测试
    36.                 RC = 1;
    37.             GC = 1;
    38.             BC = 1;
    39.                 while(K1);
    40.                 RC = 0;
    41.             GC = 0;
    42.             BC = 0;
    43.         k=0;
    44.             while(1)
    45.         {       
    46.                 if(k==0)
    47.                 {
    48.                 RC = 1;
    49.             GC = 0;
    50.             BC = 0;
    51.         }
    52.                 if(k==1)
    53.                 {
    54.                 RC = 1;
    55.             GC = 1;
    56.             BC = 0;
    57.         }
    58.                 if(k==2)
    59.                 {
    60.                 RC = 0;
    61.             GC = 1;
    62.             BC = 0;
    63.         }       
    64.                 if(k==3)
    65.                 {
    66.                 RC = 0;
    67.             GC = 1;
    68.             BC = 1;
    69.         }               
    70.                 if(k==4)
    71.                 {
    72.                 RC = 0;
    73.             GC = 0;
    74.             BC = 1;
    75.         }       
    76.                 if(k==5)
    77.                 {
    78.                 RC = 1;
    79.             GC = 0;
    80.             BC = 1;
    81.         }       
    82.                 while(K1);
    83.             k++;
    84.                 if(k==6) k=0;
    85.             }
    86.         return 0;
    87. }
    复制代码
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /6 下一条


    手机版|爱板网 |网站地图  

    GMT+8, 2016-12-6 02:35 , Processed in 0.131713 second(s), 10 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部