标题:AT89C51
只看楼主
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
得分:0 
回复 10楼 lianyicq
现在不知丢哪了。08年买的,上面从led灯到步进电机到串并口到液晶显示的都有,我好像只做了跑马灯和步进电机控制实验就丢一边没玩了。

能编个毛线衣吗?
2015-05-26 17:12
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
都忘了08年有没有淘宝。有了淘宝就便宜了。

大开眼界
2015-05-26 17:22
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:0 
见过51的板,写过跑马灯,写过 8 位数码管,用过了那个 4 X 4 的键盘。但都忘掉了,必竞没学过 C 来。

授人于鱼,不如授人于渔
早已停用QQ了
2015-05-26 17:45
lianyicq
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:26
帖 子:735
专家分:3478
注 册:2013-1-26
得分:0 
回复 楼主 huhangbin011
看了看单片机论坛,人气不旺。
P1接8个共阴极发光管,P3.7接按钮再到地,P2口接2个74ls48。P3.7按下开始倒计时,计时到,发光管开始走马。
一门课程完结远不至这点应用,应该还有改进和练手的地方。自己多琢磨。
我就抛块砖,给你一点信心,自己多学学。
程序代码:
#include <mcs51reg.h>
#include <stdbool.h>
void delay(unsigned int interval)//Delay function,unit is ms
  { unsigned int i;
     for(;interval>0;interval--)
     {for(i=0;i<124;i++)
         {;}}
  }

 
unsigned char shift(unsigned char i,unsigned char j,bool direction)//loop shift function,j is bits
  { 
     if (direction==true) return (i>>(8-j)|(i<<j));
     else return (i<<(8-j)|(i>>j));
  }
unsigned char dis(unsigned char i)
  { unsigned char num[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
    return num[i];}


 unsigned char bcd(unsigned char i)//8bits convert to 2*4bits BCD.Example 79(0100 1111) to 0111 1001
  {return(((i/10)<<4)&0xf0 |(i%10));}
   

 void main(void)

 {   //bool a=false;
     unsigned i;
     P1=0x00;
     i=30;
     while (P3_7)
     {;}
     for(;i>0;i--)
     { P2=bcd(i);
       delay(1000);}
       P2=bcd(0);
       P1=0x01;
    while(1)
    {   
       P1=shift(P1,1,true);
       delay(200); }
   

 }



大开眼界
2015-05-28 11:14



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-445791-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.198440 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved