Proteus 里面的max038 没有怎么办

2019-07-18 12:41发布

做函数信号发生器用的MAX038 芯片proteus里面找不到怎么办?
是需要更新Proteus库吗?谁有Proteus库下载地址啊?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
电子世界1
2019-07-18 21:47
#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char

sbit rs=P2^6;
sbit rw=P2^5;
sbit ep=P2^7;
uchar code dis1[]={"NVLI FANKAI "};
uchar code dis2[]={"JIAYOU NIWO"};
void delay(uchar k )
{
        uchar m,n;
        for(m=0;m<k;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)
        {;}
}

一周热门 更多>