这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 照片、代码、视频 流水灯、测温、 cm33 MCU DIY进程帖

共20条 1/2 1 2 跳转至

照片、代码、视频 流水灯、测温、 cm33 MCU DIY进程帖

助工
2011-11-08 10:35:05     打赏
照片、代码、视频 流水灯、测温、EEPROM



关键词: 照片     代码     视频     流水     测温     进程    

助工
2011-11-08 10:35:57     打赏
2楼

收到PCB,装上必要的撑脚之类。


助工
2011-11-09 17:59:03     打赏
3楼

反面


助工
2011-11-15 09:05:26     打赏
4楼

焊接部分零件之后


助工
2011-11-22 11:28:22     打赏
5楼

准备用于显示内容的3.5吋彩色液晶屏


助工
2011-11-22 12:52:47     打赏
6楼

流水灯的程序

//流水灯控制 之 wlsd.c
//用 Keil C 来编译成可执行程序

#include <reg51.h>
#include <intrins.h>

#define uchr   unsigned char
#define uint   unsigned int

// -----------------------------------------------------------------------------------------

void main( void ); //主程序
void cshc( void ); //初始化处理

void yshm( uint m ); //延时

// -----------------------------------------------------------------------------------------

void cshc( void ) //初始化处理
{
  SCON=0; //SCON串行口控制:方式0,不允许串行接收
}

void main( void ) //主程序
{
  uchr i,k;
  cshc(); //初始化处理
  k=1;
  while(1) //主循环
  {
    P1=~k;
    for(i=0;i<10;i++) yshm(100);
    k<<=1;
    if(k==0) k=1;
  }
}

//=============================================================

void yshm( uint m ) //延时
{
  uint i,n;
  n=m*70;
  for(i=0;i<n;i++) { _nop_(); _nop_(); }
}

//=============================================================


助工
2011-11-28 10:34:47     打赏
7楼

开始流水灯


助工
2011-11-28 10:45:45     打赏
8楼
看看流水灯的视频

v.youku.com/v_show/id_XMzM4MTI0Njk2.html

不知道为什么上传后只有前15秒是好的,将就看看吧:)

助工
2011-12-02 11:45:56     打赏
9楼
试了试,直接看视频没有成功



助工
2011-12-30 13:08:55     打赏
10楼

18B20测温的程序部分

 
//ep1820.uv2 DS18B20之温度测试 w1820.c
//用 Keil C 来编译成可执行程序

#include <reg51.h>
#include <intrins.h>  // _nop_()

#define uchr   unsigned char
#define uint   unsigned int

// -----------------------------------------------------------------------------------------

sbit KDQ = P1^3;

// -----------------------------------------------------------------------------------------

void main( void );
void cshc( void );

void yshm( uchr m );
void ysys( uchr s );
void ysus( void );
uchr wcsh( void );
uchr wdzj( void );
void wxzj( uchr x );

uchr wdwa( void );
uchr wdwb( void );

// -----------------------------------------------------------------------------------------

void cshc( void )
{
  SCON=0;
  wcsh()
}

void main( void )
{
  uchr k;
  cshc();
  while(1)
  {
    wdwa();
    for(i=0;i<10;i++) yshm(100);
    wdwb();
    xscl();
    for(i=0;i<10;i++) yshm(200);
  }
}

//=============================================================

void ysys( uchr s )
{
  uchr i;
  for(i=0;i<s;i++) rrr=i%256;
}

void ysus( void )
{
  _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();
}

void yshm( uchr m )
{
  uint i,n;
  n=m*200;
  for(i=0;i<n;i++) { _nop_(); _nop_(); }
}

void xscl( void )
{
 ......
}

uchr wcsh( void )
{
  uchr x;
  KDQ=1;
  ysus();
  KDQ=0;
  ysys(40);
  KDQ=1;
  ysus(); ysus(); ysus(); ysus(); ysus(); ysus();
  x=KDQ;
  ysys(40);
  return(x);
}

uchr wdzj( void )
{
  uchr i,k;
  k=0;
  for(i=0;i<8;i++)
  {
    KDQ=0;
    k>>=1;
    ysus();
    KDQ=1;
    _nop_(); _nop_();
    if(KDQ) k|=0x80;
    ysys(6);
  }
  return(k);
}

void wxzj( uchr x )
{
  uchr i,k;
  k=x;
  for(i=8;i>0;i--)
  {
    KDQ=0;
    ysus();
    KDQ=k&0x01;
    ysys(5);
    KDQ=1;
    k>>=1;
    ysys(6);
  }
  ysys(6);
}

uchr wdwa( void )
{
  uchr a;
  a=wcsh(); if(a!=0) { return(0); }
  wxzj(0xCC);
  wxzj(0x44);
  return(1);
}

uchr wdwb( void )
{
  uchr a,b; uint t=0; float tt;
  a=wcsh(); if(a!=0) { return(0); }
  wxzj(0xCC);
  wxzj(0xBE);
  a=wdzj();
  b=wdzj();
  t=b;
  t<<=8;
  t=t|a;
  tt=t*0.0625;
  t=tt*10+0.5;
  return(t);
}


共20条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]