这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 开发板DIY赛进程

共16条 1/2 1 2 跳转至

开发板DIY赛进程

菜鸟
2011-12-02 20:42:53     打赏
  板子星期二已经拿到手,质量看起来不错,只是有点缺陷。

上个星期买的零器件,今天才发货,现在还没到手,所以到现在还没有焊接。
只能先写程序,用仿真软件做测试。因为是初学者,所以进程会比较慢,望见谅。



关键词: 开发     进程    

院士
2011-12-05 17:05:54     打赏
2楼

谅解~~~

现在进程如何?


菜鸟
2011-12-12 13:11:34     打赏
3楼
 

现在我将近来发的帖子集合到这张帖子来,如有不足希望大家多多指教!

2011-12-02 20:42:53
很抱歉,因为前段时间忙一些自己的事所以耽误了进程,在此道歉一下!
现在板子已经焊接好了,程序也正在编写中。我会争取尽早完成这次活动,这是一个难得的锻炼平台,因为是初学者所以请大家多多指教。
板子的焊接情况如下:













2011-12-23 13:24:31
板子已经实现了两个功能,在这里,我先把我前段时间拍摄流水灯的照片上传!希望大家多多指点!还有就是视频应该怎么上传?帮个忙告诉我,谢谢!(拍摄时因为没关掉数码管,所以数码管会显示乱码,还有一个就是板子的问题,第一个LED灯常亮)










2011-12-26 20:08:31
流水灯视频



2011-12-26 20:24:45

流水灯程序如下:
ORG 0
START: MOV R2,#8
MOV A,#0FEH
SETB C
LOOP: MOV P1,A
LCALL DELAY
RLC A
DJNZ R2,LOOP
MOV R2,#8
LOOP1: MOV P1,A
LCALL DELAY
RRC A
DJNZ R2,LOOP1
LJMP START
DELAY: MOV R5,#20 ;
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
END

如有不足希望大家多多指教!


2011-12-27 10:48:50
九位计时





2011-12-28 13:13:42
数字温度计

数字温度计的程序如下:

#include <reg52.h>
#include<intrins.h>
#define DQ P1_3 //定义DS18B20数据端口DQ
#define dis_data P0 //定义数码管段码输入管脚
#define dis_E P3_7 //定义74HC573使能管脚LE
#define dis_bit P2 //定义74HC138输入管脚A0 A1 A2
/****P3.2和P3.3为调整温度报警增加键和减少键******/
signed char shangxian=38; //上限报警温度,默认值为38
uchar code LEDData[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x39,0x63,0x40,0x00};
//0 1 2 3 4 5 6 7 8 9 C 口 - 关
/*****延时子程序*****/
void Delay(uint i)
{
while( i-- );
}
/*****初始化DS18B20*****/
void Init_DS18B20(void)
{
unsigned char x=0;

DQ=1;
Delay(8); //稍做延时
DQ=0; //单片机将DQ拉低
Delay(80); //精确延时,大于480us
DQ=1; //拉高总线
Delay(14);
x=DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败
Delay(20);
}

/*****读一个字节*****/
unsigned char ReadOneChar(void)
{
unsigned char i=0;
unsigned char dat=0;
for (i=8;i>0;i--)
{
DQ=0; // 给脉冲信号
dat>>=1;
DQ=1; // 给脉冲信号
if(DQ)
dat|=0x80;
Delay(4);
}
return(dat);
}

/*****写一个字节*****/
void WriteOneChar(unsigned char dat)
{
unsigned char i=0;
for (i=8; i>0; i--)
{
DQ=0;
DQ=dat&0x01;
Delay(5);
DQ=1;
dat>>=1;
}
}
void Tmpchange(void) //发送温度转换命令
{
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0x44); //启动温度转换
}
/*****读取温度*****/
unsigned int ReadTemperature(void)
{
unsigned char a=0;
unsigned char b=0;
unsigned int t=0;
float tt=0;
Tmpchange();
Init_DS18B20();
WriteOneChar(0xCC); //跳过读序号列号的操作
WriteOneChar(0xBE); //读取温度寄存器
a=ReadOneChar(); //读低8位
b=ReadOneChar(); //读高8位






************************************
/*****显示开机初始化等待画面*****/
Disp_init()
{
。。

。。
。。。
}

/*****显示温度子程序*****/
Disp_Temperature() //显示温度
{
。。
。。





。。
。。。。

。。。;(注:再这里可精确到小数点后四位,我的显示只是整数,碍于时间关系还未精确进去)
}

 

/*****外部中断0服务程序*****/
void int0(void) interrupt 0
{

EX0=0; //关外部中断0
sign=1;
if(SET==1) shangxian++;
else xiaxian++;
Delay(500);
EX0=1;
}

/*****外部中断1服务程序*****/
void int1(void) interrupt 2
{

EX1=0; //关外部中断0
sign=1;
if(SET==1) shangxian--;
else xiaxian--;
Delay(500);
EX1=1;
}

/*****主函数*****/
void main(void)
{
uint z;
IT0=1;
IT1=1;
EX0=1;
EX1=1;
EA=1;
ReadTemperature();
LING=0;
for(z=0;z<100;z++)
{
Disp_init();
}
while(1)
{
Disp_Temperature();
if(sign==1)
{
for(z=0;z<300;z++)
disptiaozheng();
sign=0;
}
}
}

现在期末考到了,这个视频作为今年最后一个视频,其中省略若干步,有兴趣的可以自己改编!。DIY制作学习到此告一段落!这个寒假我还会继续做下去,希望大家能够多多支持!


院士
2011-12-12 13:24:18     打赏
4楼
嗯,有进展总是好的

菜鸟
2011-12-12 21:05:23     打赏
5楼
就是现在要考试了,时间很紧啊明天就要考CADL了。。。
我怕我到时候会耽误到提交。。。不过我会努力加油的!

菜鸟
2011-12-12 21:23:21     打赏
6楼

不的元器件也是还没有到啊跟我一样哦


菜鸟
2011-12-12 21:23:35     打赏
7楼

不的元器件也是还没有到啊跟我一样哦


菜鸟
2011-12-14 13:02:51     打赏
8楼
是啊,就差几个元器件,不过现在差不多都有了。

助工
2011-12-15 19:37:23     打赏
9楼
考试优先

菜鸟
2011-12-15 21:34:14     打赏
10楼
 先考试。。

共16条 1/2 1 2 跳转至

回复

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