教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx

上传人:b****1 文档编号:2124468 上传时间:2023-05-02 格式:DOCX 页数:24 大小:1.92MB
下载 相关 举报
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第1页
第1页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第2页
第2页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第3页
第3页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第4页
第4页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第5页
第5页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第6页
第6页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第7页
第7页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第8页
第8页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第9页
第9页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第10页
第10页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第11页
第11页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第12页
第12页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第13页
第13页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第14页
第14页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第15页
第15页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第16页
第16页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第17页
第17页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第18页
第18页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第19页
第19页 / 共24页
教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx

《教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx》由会员分享,可在线阅读,更多相关《教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx(24页珍藏版)》请在冰点文库上搜索。

教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码.docx

教你做用热转印法做PCB板以51单片机和时钟芯片DS12C887做的时钟为例附代码

教你做用热转印法做PCB板(以51单片机和时钟芯片DS12C887做的时钟为例,附代码)

一、用电脑设计出原理图

二、画好PCB

三、将画好的PCB图打印到热转印纸上

 

四、将热转印纸上的墨转印到覆铜板上(可用热转印机或熨斗)

 

来张细节图

 

注:

对应一些打印缺点墨的,要用记号笔(油性笔)修补,不可用签字笔或钢笔,

五、准备腐蚀了

 

六、整个腐蚀过程非常清晰

 

 

 

 

 

腐蚀完效果非常好

 

七、用清水洗净

 

八、来一张效果图

 

九、用细砂纸打磨掉板上的墨迹(或用天拿水擦拭)

 

十、钻孔

 

十一、焊上元件

 

十二、焊好后的样子

 

十二、加电试运行,非常成功

 

附代码(原理图上设计有闹钟蜂鸣器等,但程序中无涉及,可自行增添相关程序)

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitlcden=P1^2;//1602液晶的使能信号引脚

sbitlcdrs=P1^0;//1602液晶的数据/命令选择引脚

sbitlcdrw=P1^1;//1602液晶的读写选择引脚

sbitdsds=P2^3;//DS12C887的DS引脚

sbitdsrw=P2^2;//DS12C887的R/W引脚

sbitdsas=P2^1;//DS12C887的AS引脚

sbitdscs=P2^0;//DS12C887的CS引脚

sbits1=P1^4;//第一个按键

sbits2=P1^5;//第二个按键

sbits3=P1^6;//第三个按键

ucharstr_time[]="00:

00:

00";

ucharstr_date[]="2000-00-00";

charshi,fen,miao,nian,yue,ri,week,flag=0,num=0;//时、分、秒、年、月、日、星期、(后两个用于按键的)

voiddelay(uintz)//延时函数

{

uintx,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

 

voidwrite_com(uintcom)//往1602液晶中写一个指令

{

lcdrs=0;

lcden=0;

P0=com;

delay

(1);

lcden=1;

delay

(1);

lcden=0;

}

voidwrite_dat(uintdat)//往1602液晶中写一个数据

{

lcdrs=1;

lcden=0;

P0=dat;

delay

(1);

lcden=1;

delay

(1);

lcden=0;

}

voidwrite_sfm(ucharadd,uchardate)//将时、分、秒写到1602液晶对应的位置

{

ucharge,shi;

ge=date%10;

shi=date/10;

write_com(0x80+0x40+add);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

voidwrite_nyr(ucharadd,uchardate)//将年、月、日写到1602液晶对应的位置

{

ucharge,shi;

ge=date%10;

shi=date/10;

write_com(0x80+add);

write_dat(0x30+shi);

write_dat(0x30+ge);

}

ucharread_ds(ucharadd)//从DS12C887中读一个数据

{

uchards_dat;

dscs=0;

dsds=1;

dsrw=1;

dsas=1;

P3=add;

dsas=0;

P3=0xff;

dsds=0;

ds_dat=P3;

dsds=1;

dsas=1;

dscs=1;

returnds_dat;

}

voidwrite_ds(ucharadd,uchardate)//往DS12C887中写一个数据

{

dscs=0;

dsrw=1;

dsds=1;

dsas=1;

P3=add;

dsas=0;

P3=date;

dsrw=0;

delay

(1);

dsrw=1;

dsas=1;

dscs=1;

}

voidinit()//初始化函数

{

uchartemp;

lcdrw=0;

write_com(0x38);

write_com(0x0c);

write_com(0x06);

write_com(0x01);

write_com(0x80);

write_com(0x01);

for(temp=0;temp<10;temp++)

{

write_dat(str_date[temp]);

}

write_com(0x80+0x40+4);

for(temp=0;temp<8;temp++)

{

write_dat(str_time[temp]);

}

write_ds(0x0a,0x20);

write_ds(0x0b,0x26);

}

voiddisplay()//显示函数

{//从DS12C887中读出秒

miao=read_ds(0);//将秒的数据送到1602液晶显示(下面几个同理)

write_sfm(10,miao);

fen=read_ds

(2);

write_sfm(7,fen);

shi=read_ds(4);

write_sfm(4,shi);

nian=read_ds(9);

write_nyr(2,nian);

yue=read_ds(8);

write_nyr(5,yue);

ri=read_ds(7);

write_nyr(8,ri);

week=read_ds(6);

write_com(0x80+12);

switch(week)

{

case1:

write_dat('M');

write_dat('o');

write_dat('n');

write_dat('');

case2:

write_dat('T');

write_dat('u');

write_dat('e');

write_dat('s');

case3:

write_dat('W');

write_dat('e');

write_dat('d');

write_dat('');

case4:

write_dat('T');

write_dat('h');

write_dat('u');

write_dat('r');

case5:

write_dat('F');

write_dat('r');

write_dat('I');

write_dat('');

case6:

write_dat('s');

write_dat('a');

write_dat('t');

write_dat('');

case7:

write_dat('S');

write_dat('u');

write_dat('n');

write_dat('');

}

}

voidkeyscanf()//键盘扫描函数

{

if(s1==0)

{

delay(3);

if(s1==0)

{

while(!

s1);

delay(5);

while(!

s1);

flag=1;

num++;

if(num==1)

{

write_com(0x0f);

write_com(0x80+0x40+11);

}

if(num==2)

{

write_com(0x80+0x40+8);

}

if(num==3)

{

write_com(0x80+0x40+5);

}

if(num==4)

{

write_com(0x80+9);

}

if(num==5)

{

write_com(0x80+6);

}

if(num==6)

{

write_com(0x80+3);

}

if(num==7)

{

write_com(0x0c);

write_ds(0,miao);

write_ds(2,fen);

write_ds(4,shi);

write_ds(7,ri);

write_ds(8,yue);

write_ds(9,nian);

num=0;

flag=0;

}

}

}

if(num!

=0)

{

if(s2==0)

{

delay(3);

if(s2==0)

{

while(!

s2);

delay(3);

while(!

s2);

switch(num)

{

case1:

miao++;

if(miao==60)miao=0;

write_sfm(10,miao);

write_com(0x80+0x40+11);

break;

case2:

fen++;

if(fen==60)fen=0;

write_sfm(7,fen);

write_com(0x80+0x40+8);

break;

case3:

shi++;

if(shi==24)shi=0;

write_sfm(4,shi);

write_com(0x80+0x40+5);

break;

case4:

ri++;

if(ri==32)ri=0;

write_nyr(8,ri);

write_com(0x80+9);

break;

case5:

yue++;

if(yue==13)yue=0;

write_nyr(5,yue);

write_com(0x80+6);

break;

case6:

nian++;

if(nian==100)nian=0;

write_nyr(2,nian);

write_com(0x80+3);

break;

}

}

}

if(s3==0)

{

delay(3);

if(s3==0)

{

while(!

s3);

delay(3);

while(!

s3);

switch(num)

{

case1:

miao--;

if(miao<0)miao=59;

write_sfm(10,miao);

write_com(0x80+0x40+11);

break;

case2:

fen--;

if(fen<0)fen=59;

write_sfm(7,fen);

write_com(0x80+0x40+8);

break;

case3:

shi--;

if(shi<0)shi=23;

write_sfm(4,shi);

write_com(0x80+0x40+5);

break;

case4:

ri--;

if(ri<1)ri=31;

write_nyr(8,ri);

write_com(0x80+9);

break;

case5:

yue--;

if(yue<1)yue=12;

write_nyr(5,yue);

write_com(0x80+6);

break;

case6:

nian--;

if(nian<0)nian=99;

write_nyr(2,nian);

write_com(0x80+3);

break;

}

}

}

}

}

 

voidmain()

{

init();

while

(1)

{

display();

keyscanf();

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2