一乐电子

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: 384065902

[51单片机] 福利:带编写51单片机程序(自己没事干了)

  [复制链接]
 楼主| 发表于 2013-11-27 12:54 | 显示全部楼层
fwj59 发表于 2013-11-27 12:16
12位的,芯片我也不知道要用什么,手上只有AD7541的芯片

。。。。。。。。。。。。。一个并行dac要啥程序 唬我。12条并行总线接逻辑0或1,最多可以调节出2^12个电压
大哥我错了   这个真调不了程序

要是弄的话你就发俩dac芯片过来,我在洞洞板上给你焊漂亮的在发回去引出12个数字端和电源和模拟输出
回复

使用道具 举报

发表于 2013-11-27 13:57 | 显示全部楼层
楼主不好意思,我对单片机基础比较弱,目前只会逻辑(通断)关系,对DA(数模)不懂,如果是8位的还好控制,因为单片机刚好8个IO口,但现在是12位的要怎么取IO口?还有数字如何转换,如单片机设置5V ,IO口是要通几个,或者用串行的芯片不知道会不会在硬件上更简单呢?
回复

使用道具 举报

 楼主| 发表于 2013-11-27 15:37 | 显示全部楼层
sbit B12=P1^3;
sbit B11=P1^2;
sbit B10=P1^1;
sbit B9=P1^0;
#define BLOW P0

void Dac_12b(unsigned int da)
{
B12=da%4096/2048;
B11=da%2048/1024;
B10=da%1024/512;
B9=da%512/256;
BLOW=da%256;
}
回复

使用道具 举报

发表于 2013-11-27 15:57 | 显示全部楼层
慢慢 不急的
回复

使用道具 举报

发表于 2013-11-27 16:39 | 显示全部楼层
本帖最后由 myangel 于 2013-11-27 16:44 编辑

才看见这个帖子,手上有个带驱动芯片vfd自己试着都没点亮,没搞清楚时序问题,我参照资料最后的图片搭了电路,楼主能否带写个测试程序点亮(带字库的,全亮或者测试显示一些字符即可),用的是stc的,
vff.jpg
驱动芯片链接
http://html.alldatasheet.com/html-pdf/11083/OKI/MSC7128-XX/49/1/MSC7128-XX.html
谢谢楼主!

回复

使用道具 举报

发表于 2013-11-27 16:39 | 显示全部楼层
384065902 发表于 2013-11-27 15:37
sbit B12=P1^3;
sbit B11=P1^2;
sbit B10=P1^1;

谢谢楼主指点,现在一点点头绪。
回复

使用道具 举报

 楼主| 发表于 2013-11-27 18:43 | 显示全部楼层
myangel 发表于 2013-11-27 16:39
才看见这个帖子,手上有个带驱动芯片vfd自己试着都没点亮,没搞清楚时序问题,我参照资料最后的图片搭了电 ...

#include<reg52.h>

sbit clk=P3^2;
sbit din=P3^3;
sbit en=P3^4;


void dt (unsigned char t)
{char ii;
for(;t>0;t--)
{for(ii=12;ii>0;ii--);
}
}


void sendone(unsigned char dat)//------------------------发送数据底层协议
{char i;bit j;
{for(i=0;i<8;i++)
{
clk=0;
j=dat%2;
din=j;
dt(4);
clk=1;
dat>>=1;
dt(4);
}
}
}
void sendchar(char com,char *p)
{unsigned char buf;
en=0;
dt(4);
sendone(0x80);
dt(127);
sendone(com);
dt(127);
sendone(0x90);
dt(127);
while(*p>0)
{
if((*p)>='0'&(*p)<='9')buf=(*p)-'0';
if((*p)>='A'&(*p)<='Z')buf=(*p)-'A'+10;
if((*p)>='a'&(*p)<='z')buf=(*p)-'a'+36;
if((*p)=='.')buf=62;
if((*p)==',')buf=63;
if((*p)=='`')buf=120;
if((*p)=='!')buf=123;
if((*p)=='?')buf=124;
if((*p)=='-')buf=125;
if((*p)==' ')buf=126;
sendone(buf);
p++;
dt(127);

}
en=1;
}

main()
{
sendchar(0,"Hello !");
}

点评

坑爹呢吗!字库不是ASCII的,日 里面一大堆日文乱库  发表于 2013-11-27 18:45
回复

使用道具 举报

发表于 2013-11-27 19:35 | 显示全部楼层
384065902 发表于 2013-11-27 18:43
#include

sbit clk=P3^2;

谢谢楼主了!

我再弄个电路试试看,前段时间见一直没点亮又把电路给撤了。
呵呵,这个芯片是日本的,我看了里边是有日文的字库,我是想能成功点亮的话再看能不能拿来diy个时钟
自学的51还太菜了,隔三岔五看一点点,点亮了才有动力
回复

使用道具 举报

发表于 2013-11-27 20:13 | 显示全部楼层
回头看帖才发现楼主就是vfd1601翻页钟的制作者,
vfd1601翻页钟做得真好,这个正是我想要的效果
回复

使用道具 举报

 楼主| 发表于 2013-11-27 22:22 | 显示全部楼层
myangel 发表于 2013-11-27 20:13
回头看帖才发现楼主就是vfd1601翻页钟的制作者,
vfd1601翻页钟做得真好,这个正是我想要的效果

见笑了啊,1601里面那个ds1302太好,把所有一堆显示做完就放那了。日一天慢3分钟想死吗不是?你那个屏通信速度太慢,而且只有固定字库,简单做个吧。显示不出再改改延时看看,估计差不多
回复

使用道具 举报

本版积分规则

QQ|一淘宝店|手机版|商店|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2025-8-19 02:27 , Processed in 0.039629 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表