做个15路输出的彩灯

发布者:灵感驿站最新更新时间:2018-05-08 来源: eefocus关键字:15路  彩灯 手机看文章 扫描二维码
随时随地手机看文章

//想做个15路输出的彩灯,使用P0.0~P0.7和P2.0~P2.6端口输出;预置数为15个1(10进制32767)。
//设置+1(P3.3)和-1(P3.4)两个按钮。
//可以减到十进制32047,到32047后如果继续按-1按钮,可以回到32767重新进行减法。
//加法也一样,加到32767后,再按+1按钮可以到32047重新+1.
//再设置一个按钮(P2.7),当P2.7接地时,在当前显示的数字上减去十进制数1712进行显示。
//求单片机彩灯程序。

最佳答案:
//============================
#include
sbit K_1 = P3^3;       //+
sbit K_2 = P3^4;       //-
sbit D_1 = P2^7;       //显示方式选择
//----------------------------
void delay_ms(unsigned int n)
{
    unsigned char j;
    while(n--)  for(j = 0; j < 230; j++); //230是实验测试所得!
}

void main()
{
    unsigned int m;
    m = 32767;
    while(1) {
      if (D_1 == 1) {
        P2 = ~(m / 256); 
        P0 = ~(m % 256);
      }
      else {
        P2 = ~((m - 1712) / 256);       
        P0 = ~((m - 1712) % 256);
      }
      if (K_1 == 0) {
        delay_ms(10);
        if (K_1 == 0) {
          m++;
          if (m > 32767)  m = 32047;
          while(K_1 == 0);
      } }
      if (K_2 == 0) {
        delay_ms(10);
        if (K_2 == 0) {
          m--;
          if (m < 32047)  m = 32767;
          while(K_2 == 0);
    } } }
}
//============================ 
本程序用PROTEUS仿真画面如下: 做个15路输出的彩灯 - 非著名博主 - 电子信息角落


关键字:15路  彩灯 引用地址:做个15路输出的彩灯

上一篇:关于单片机测量信号频率的精度问题
下一篇:单片机按键按下的先后顺序判断

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved