guodiqing MCU DIY进程贴
第1楼,开始焊接板子。
第6楼,板子已经焊接好,准备写程序调试了。
第7楼,经过学习写了一个跑马灯的程序。
第8楼是跑马灯的视频。
第9楼是跑马灯的原程序。
第11楼为LCD 1602液晶显示屏程序。
第18楼是LCD 1602液晶显示屏视频。
昨天去杭州电子市场将一些元器件买好,加班将它其焊好,有一部分由于时间关系没有买好。
先上图:
1.明天抽个时间去将其它缺少的元器件买好,争取在3号之前将其都焊好好写程序调试。
2.蜂鸣器原来有几个的,以为不用买了,但回来后封装不对,两个管脚的间距不对,不过电路板蜂鸣器的正负极确实标反了。大家要注意一下哟。
3.原来只有12V的继电器,没有5V的,明天也要去买来。
4.还有PCF8591芯片问了好几家都没有,明天再去其它家问问看,争取能买全所有的元器件。
加油。。。
guodiqing MCU DIY进程贴 之 LCD 1602液晶显示屏 改好的视频上来啦!
关键词: guodiqing 进程 液晶 显示屏 好的 视频
我的元器件都是去电子市场买的,有些没有买到,还要去找找看。
详细的元器件清单可以查看http://forum.eepw.com.cn/forum/main。里面说的很详细。
跑马灯原程序如下:
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar i,j,k,a,temp;
void delay(uint z);
void main()
{
P1=0x00;
delay(2000);
while(1)
{
P1=0xfe;
delay(2000);
temp=0xfe;
for(k=0;k<2;k++)
{
for(i=0;i<7;i++)
{
temp=_crol_(temp,1);//左移一位
P1=temp;
delay(2000);
}
for(j=0;j<7;j++)
{
temp=_cror_(temp,1);//右移一位
P1=temp;
delay(2000);
}
}
P1=0xff;
delay(2000);
for(a=0;a<5;a++)
{
P1=0X00;
delay(3000);
P1=0xFF;
delay(3000);
}
}
}
void delay(uint z)//延时函数
{
uint x,y;
for(x=114;x>0;x--)
for(y=z;y>0;y--);
}
由于没有使用定时器,延时函数的时间精准度一般,这个星期将用定时器再做个更精准的。
LCD 1602液晶显示屏程序原代码如下:
/************************************/
/*程序:LCD 1602显示屏
/*日期: 2011-12-08
/*作者:guodiqing
/************************************/
#include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LIKE MCU!";
uchar code table1[]="WWW.EEPW.COM.CN";
uchar code table2[]="welcome to";
uchar code table3[]="guodiqing MCUDIY";
sbit lcdrs=P2^4;
sbit lcdrw=P2^5;
sbit lcden=P2^6;
uchar num;
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
void write_com(uchar com)
{
lcdrs=0;
lcdrw=0;
P0=com;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void write_data(uchar dat)
{
lcdrs=1;
lcdrw=0;
P0=dat;
delay(5);
lcden=1;
delay(5);
lcden=0;
}
void init()
{
delay(50);
lcden=0;
write_com(0x38);
write_com(0x0c);
write_com(0x06);
write_com(0x01);
write_com(0x80);
}
void main()
{
init();
for(num=0;num<11;num++)
{
write_data(table[num]);
delay(200);
}
write_com(0x80+0x40);
for(num=0;num<15;num++)
{
write_data(table1[num]);
delay(200);
}
delay(10000);
init();
// delay(10000);
write_com(0x80+0x10);
for(num=0;num<10;num++)
{
write_data(table2[num]);
delay(200);
}
write_com(0x80+0x50);
for(num=0;num<16;num++)
{
write_data(table3[num]);
delay(200);
}
for(num=0;num<16;num++)
{
write_com(0x18);
delay(1000);
}
delay(10000);
}
回复
我要赚赏金打赏帖 |
|
|---|---|
| 28BYJ-48机械臂实现人脸跟随被打赏¥24元 | |
| 基于RK3506B的片温识读功能的实现被打赏¥25元 | |
| 【瑞萨RA8D1测评】基于FreeRTOS的lvgl移植教程被打赏¥29元 | |
| 电子价签墨水屏开发被打赏¥35元 | |
| 【Ozone】RTT 打印终端使用被打赏¥29元 | |
| BMS保护板绝缘检测功能-不平衡电桥技术绝缘电阻检测设计与实现被打赏¥34元 | |
| 给28BYJ-48三自由度机械臂加一个网页控制台被打赏¥32元 | |
| 用28BYJ-48电机从零搭一台三自由度机械臂被打赏¥33元 | |
| 【英飞凌开发经验】ModusToolbox配置EdgeTalk外设被打赏¥27元 | |
| 基于BQ76952PFBR的BMS保护板热插拔损坏的原因和处理措施被打赏¥32元 | |

我要赚赏金
