一乐电子

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

QQ登录

只需一步,快速开始

微信扫码登录

搜索
楼主: ylwwp

[51单片机] 有了解仿真的吗?问个DAC转换问题

[复制链接]
 楼主| 发表于 2015-3-17 12:55 | 显示全部楼层
本帖最后由 ylwwp 于 2015-3-17 12:56 编辑
sln.1550 发表于 2015-3-16 23:13
仿真程序的逻辑可能要求更严格点

严格按资料时序依然仿真不了,而C51板子可以运行设计,如下面是我用DAC8032防的呼吸灯,板子上的LED可随时间发生明暗变化

#include<reg52.h>
#define uint unsigned int  
#define uchar unsigned char

sbit csda=P3^2;   
sbit wr=P3^6;

void delay_50us(uint t);

void main(void)
{
csda=0;
P0=0x00;
wr=0;
while(1)  
{
  uint y;  
     for(y=0;y<256;y++)
  {   
   P0=P0+1;
   delay_50us(200);  
  }
     for(y=0;y<256;y++)
  {   
   P0=P0-1;
   delay_50us(200);
  }
}
}

void delay_50us(uint t)    //常数为20时 1ms
{
uchar j;   
for(;t>0;t--)   
  for(j=19;j>0;j--);  
}


回复

使用道具 举报

发表于 2015-3-17 14:00 | 显示全部楼层
csda=1;
wr=1;
delay_50us(200)

csda=0;
P0=0x7f;  //不要用0xff,
wr=0;
delay_50us(10);
wr=1;
while (1) ;
----------------------------------------------------
你的程序,也不是按时序走的, 按上述试试
  
回复

使用道具 举报

 楼主| 发表于 2015-3-17 14:15 | 显示全部楼层
aa7812 发表于 2015-3-17 14:00
csda=1;
wr=1;
delay_50us(200)

试过了,仿真不出效果。顺便问下,0x7f和0xff就是差不多一半电压的关系吧?(与0x80差不多)难道各位机器都没装Proteus?
回复

使用道具 举报

发表于 2015-3-17 14:34 | 显示全部楼层
0x7f=127, 0xff=255, 不在于是多是少, oxff 有可能与开机复位的电平相同, 需要避开。
在一些单片机网站, 厂家代表,基本上建议不要用仿真软件,毕竟器件IC性能千差万别,仿真软件不可能面面俱到,模拟电路的仿真效果不错,单片机效果会差一些, 我不用仿真软件, 直接烧单片机测试, 比什么仿真软件都 "真实".
回复

使用道具 举报

发表于 2015-3-19 17:49 | 显示全部楼层
烧片吧,反正我不信
回复

使用道具 举报

本版积分规则

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

GMT+8, 2025-8-19 03:06 , Processed in 0.029433 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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