proteuswilliam hill官网 |仿真william hill官网
直播中

樊哈哈

10年用户 31经验值
擅长:连接器 接口/总线/驱动 控制/MCU
私信 关注
[问答]

Proteus 里面的max038 没有怎么办

做函数信号发生器用的MAX038 芯片在proteus里面找不到怎么办?
是需要更新Proteus库吗?谁有Proteus库下载地址啊?

回帖(7)

武力戡乱

2014-7-30 08:16:43
可以用一些da转换的芯片代替吧。这个我不太懂,只是看到过有用da芯片做的
举报

樊哈哈

2014-7-31 17:07:18
#include
#include
#define uint unsigned int
#define uchar unsigned char

***it rs=P2^6;
***it rw=P2^5;
***it ep=P2^7;
uchar code dis1[]={"NVLI FANKAI "};
uchar code dis2[]={"JIAYOU NIWO"};
void delay(uchar k )
{
        uchar m,n;
        for(m=0;m         {
                for(n=0;n<120;n++);
        }
}
void delay1(uchar b)
{
        for(b=0;b<4;b--)
        {
                _nop_();               
        }
}         
uchar Busy_Check()
{
        uchar LCD_Status;
        rs=0;
        rw=1;                 //读写选择端为一为读  读status位置 也就是bf 端口值
        ep=1;                //使能端
        delay1(4);
        LCD_Status=P0&0x80;                  ///检测D7位是否为1 ,
        ep=0;
        return LCD_Status;
}
void lcd_wcmd(uchar cmd)
{
        while(Busy_Check());
        rs=0;
        rw=0;
        ep=0;
        _nop_();
        _nop_();
        P0=cmd;
        delay1(4);
        ep=1;
        delay1(4);
        ep=0;
               
}
void lcd_pos(uchar pos)                                         //可以放在LCD-pos函数中
{
        lcd_wcmd(pos|0x80);
}
void lcd_wdat(uchar dat)
{
        while(Busy_Check());
        rs=1;//选择数据位
        rw=0;//xie shu ju
        ep=0;//shi neng duan guan bi
        P0=dat;
        delay1(4);
        ep=1;
        delay1(4);
        ep=0;
}
void LCD_disp()
{
        uchar i;
        lcd_pos(1);
        i=0;
        while(dis1[i]!='')                          // 在di si jian ce bu wei ling si xun huan
        {
                lcd_wdat(dis1[i]);
                i++;
        }
        lcd_pos(0x41);
        i=0;
        while(dis2[i]!='')
        {
                lcd_wdat(dis2[i]);
                i++;
        }

}
void lcd_init(void)
{
        lcd_wcmd(0x38);
        delay(1);
        lcd_wcmd(0x0f);
        delay(1);
        lcd_wcmd(0x06);
        delay(1);
        lcd_wcmd(0x01);
        delay(1);
}
void mian(void)
{
        lcd_init();                                  
        delay(10);
        LCD_disp();                                  
        while(1)
        {;}
}
举报

樊哈哈

2014-7-31 17:08:11
帮忙看一下这这LCD显示程序哪里出了问题啊?怎么就是不行啊
举报

樊哈哈

2014-7-31 17:08:46
谢谢
举报

樊哈哈

2014-7-31 17:10:10
引用: 电子世界1 发表于 2014-7-31 17:08
帮忙看一下这这LCD显示程序哪里出了问题啊?怎么就是不行啊

@武力戡乱   谢谢

举报

武力戡乱

2014-7-31 21:58:32
引用: 电子世界1 发表于 2014-7-31 17:08
帮忙看一下这这LCD显示程序哪里出了问题啊?怎么就是不行啊

这个是1602吧
你先这样改
把mian改成main
不行再来找我好吧
举报

樊哈哈

2014-8-1 10:35:18
引用: 武力戡乱 发表于 2014-7-31 21:58
这个是1602吧
你先这样改
把mian改成main

恩恩,就是main写错了!嘿嘿!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分