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);
}
回复
我要赚赏金打赏帖 |
|
|---|---|
| 片外存储Flash使用方法(Arduino IDE环境)被打赏¥22元 | |
| 三分钟快速上手ESP-NOW(ArduinoIDE环境)被打赏¥23元 | |
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
| 基于WT9932C61-TINY的环境构建及OLED屏驱动测试被打赏¥20元 | |
| 【S32K3XX】Core-to-Core 中断使用被打赏¥21元 | |
| 「AI编程记录--含源码」用一晚上的时间写一个esp32的示波器被打赏¥19元 | |
| STM32C0116DK开发探索记(3)被打赏¥30元 | |
| STM32C0116DK开发探索记(2)被打赏¥24元 | |
| STM32C0116DK开发探索记(1)被打赏¥29元 | |

我要赚赏金
