48路流水灯374扩展流水灯电路仿真,求C怎么控制

2020-02-02 09:34发布

有谁写过这个电路的硬件程序,原来的程序是汇编,我看不懂汇编哪位大哥帮帮忙指导一下这个C程序的流水灯程序怎么写,只需要正传15圈后然后反转15圈,可以按扭调流水灯快慢!带仿真和汇编在里面,大家可以仿真一下,这个我是在其它东风找的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
SengChuary
1楼-- · 2020-02-03 09:00
devcang 发表于 2012-10-31 21:43
你按 hy1() 修改一下,差不多了。


程序改了一下,下面不知道该怎么改了,改的有点不对,也不知道哪里不对:
  1. #include<reg51.h>

  2. #define uchar unsigned char
  3. #define uint  unsigned int
  4. sbit EN=P3^6;

  5. void delay5ms();
  6. void delay400ms();

  7. void main()
  8.   {       
  9.    delay400ms();
  10.         EN=0;
  11.                  while(1)
  12.                  {
  13.         uint i;
  14.   uchar temp,a,p;
  15.   P0=temp;
  16.         for(p=0; p<0x10; p++)
  17.                 {
  18.            for(a=0; a<=6; a++)
  19.                         {
  20.                            P2=a;
  21.               if( (p % 2)==0)
  22.                                  {
  23.                                     temp=0x01;
  24.                 for(i=0;i<8;i++)
  25.                    {
  26.                         P0=~temp;
  27.                        delay400ms();
  28.                       //  temp<<=1;
  29.                                  }
  30.                 }  
  31.                                 }
  32.         }
  33.          }
  34. }

  35. void delay5ms(){ //;延时子程序(5MS)
  36.         uchar i,j;
  37.         for(i=25;i>0;i--){
  38.                 for(j=100; j>0; j--){
  39.                         ;
  40.                 }
  41.         }
  42. }

  43. //;==============延时400毫秒
  44. void delay400ms(){  //;延时子程序(400MS)
  45.         uchar i,j,k;

  46.         for(i=20;i>0;i--){
  47.                 for(j=100; j>0; j--){
  48.                         for(k=100; k>0; k--){
  49.                                 ;
  50.                         }
  51.                 }
  52.         }
  53. }
复制代码
devcang
2楼-- · 2020-02-03 12:48
你还是按 hy1() 修改一下好了,其实,就是使每一个374的灯,从0x1到0xff、延时,再从0xff-(1<<n)  (0<n<8)

一周热门 更多>