我相信有很多男同胞们是看见这个标题点进来的,当然标题也不是忽悠你,今天教你一种含蓄的表达方法向你暗恋对象表白。

女神级邻家女孩
在单片机这一领域,稍微接触点的朋友可能对它的使用方法有所了解,今天我们就把我们所学的知识运用起来,可以说稍微接触点51单片机就能做出来,何不自己做一个产品向你心爱的女神表白?
俗话说:师傅领进门,修行在个人。对电子领域来说男生是比较多的,像我大学的时候我们班里男女比例就为4:1,可以说大部分女生对电子领域都是不了解的,而女生对自己不了解的领域又特别有好奇心,再加上在一定年龄的女生一般都是容易感动,特别是你亲手为她做的,所以稍微动动脑子动动手就可能就会感动她,多做几个就有可能追到你的Ta。
如果想做表白类的产品可以说有很多选择像流水灯,摇摇棒,光立方,音乐*放播**器,智能风扇(快到夏天了抓紧机会)等等这些制作起来比较简单,但是效果相比起来还是比较好的。

图片来源于网络

图片来源于网络

图片来源于网络
PS:图片均从网上找的,不是为其做广告。
内向的男生可能遇到喜欢的女生就会脸红,有些话会说不出来,不要怕学好单片机分分钟钟可以对女神表达出你的想法,今天我们就是用1602显示屏显示出想对你女神说的话,话不多说,直接上效果图。


当然显示屏显示的内容是可以更改的,只要在开头定义的时候把变量改一下就可以直接改显示内容,1602液晶显示器简单易操作,对于初学者来说是个福利,当然你如果有足够的能力你可以做个更好的。
如果直接送给女神这个,可能在外观上看起来不是特别好看,你也可以再发挥一下做个包装盒,在盒子外面加上LED灯,盒子里面放个MP3模块,录下你想说的话,都可以,只要你用心去做,总有一天女神会被你感动。
话不多说把程序送给大家,*载下**到51单片机板上就可直接使用,如果IO口不匹配的话,可以改下IO口。
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit rs=P1^0;
sbit rw=P1^1;
sbit lcden=P2^5;
sbit dula=P2^6;
sbit wela=P2^7;
uchar table1[]=" I LOVE YOU";//这写下你想说的话
uchar table3[]=" name ";//在这里可以修改姓名
uchar table2[]="Will you marry ";
uchar table4[]=" me ";//嫁给我好吗
void delay(uint x)//延时函数
{
uint a,b;
for(a=x;a>0;a--)
for(b=10;b>0;b--);
}
void delay1(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=100;b>0;b--);
}
void write_com(uchar com)
{
P0=com;
rs=0;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void write_date(uchar date)
{
P0=date;
rs=1;
lcden=0;
delay(10);
lcden=1;
delay(10);
lcden=0;
}
void init()//1602初始化
{
rw=0;
dula=0;
wela=0;
write_com(0x38);
delay(20);
write_com(0x0f);
delay(20);
write_com(0x06);
delay(20);
write_com(0x01);
delay(20);
}
void main()
{
uchar a;
init();
write_com(0x80+17);
delay(20);
for(a=0;a<11;a++)
{
write_date(table1[a]);
delay(20);
}
write_com(0xc0+17);
delay(50);
for(a=0;a<13;a++)
{
write_date(table3[a]);
delay(40);
}
for(a=0;a<16;a++)
{
write_com(0x18);
delay1(600);
}
write_com(0x01);
write_com(0x80+17);
delay(1000);
for(a=0;a<15;a++)
{
write_date(table2[a]);
delay(20);
}
write_com(0xc0+17);
delay(50);
for(a=0;a<11;a++)
{
write_date(table4[a]);
delay(40);
}
for(a=0;a<16;a++)
{
write_com(0x18);
delay1(600);
}
while(1);
}