標(biāo)題: ATMEL8051 temperature control PROTEUS [打印本頁]

作者: cesartronik    時(shí)間: 2020-11-12 03:40
標(biāo)題: ATMEL8051 temperature control PROTEUS
LCD16X2 , ADC and L293D to ATMEL8051
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下:
#include <reg51.h>

sbit E=P1^0;
sbit RW=P1^1;
sbit RS=P1^2;
sbit DB7=P1^7;
sbit DB6=P1^6;
sbit DB5=P1^5;
sbit DB4=P1^4;
unsigned int i,j,k;

void enviar(void);
void LCD_ini (void);
void DEDIFICACION(char num);
void Delay_PRO(unsigned int p,unsigned int q);

void main()
{
        RW=0;
        LCD_ini();
        RS=1;
/*        DB7=0;DB6=1;DB5=0;DB4=0;
        enviar();
        DB7=0;DB6=1;DB5=0;DB4=0;
        enviar();  */       
        for(j=0;j<10;j++){
        Delay_PRO(60000,1);
        DEDIFICACION(j);
        }
        Delay_PRO(60000,1);
        RS=0;
        DB7=0;DB6=0;DB5=0;DB4=0;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=1;
        enviar();
//        RS=1;


}

void enviar(void){       
        E=1;
        for(i=0;i<2500;i++);
        E=0;
}

void LCD_ini (void){
        RS=0;
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=0;DB5=1;DB4=0;
        enviar();
        DB7=0;DB6=0;DB5=1;DB4=0;
        enviar();
        DB7=1;DB6=0;DB5=0;DB4=0;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=0;
        enviar();
        DB7=1;DB6=1;DB5=0;DB4=0;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=0;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=1;
        enviar();       
}

void DEDIFICACION(unsigned char num){
        if (num==0){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=0;
        enviar();       
        }
        if (num==1){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=0;DB5=0;DB4=1;
        enviar();
        }
        if (num==2){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=0;DB5=1;DB4=0;
        enviar();
        }
        if (num==3){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();       
        }
        if (num==4){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=1;DB5=0;DB4=0;
        enviar();               
        }
        if (num==5){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=1;DB5=0;DB4=1;
        enviar();
        }
        if (num==6){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=1;DB5=1;DB4=0;
        enviar();
        }
        if (num==7){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=0;DB6=1;DB5=1;DB4=1;
        enviar();
        }
        if (num==8){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=1;DB6=0;DB5=0;DB4=0;
        enviar();
        }
        if (num==9){
        DB7=0;DB6=0;DB5=1;DB4=1;
        enviar();
        DB7=1;DB6=0;DB5=0;DB4=1;
        enviar();       
        }
}

void Delay_PRO(unsigned int p,unsigned int q){       
        for(i=0;i<p;i++){
                 for(k=0;k<q;k++);
        }
}

所有資料51hei提供下載:
KEIL.rar (23.4 KB, 下載次數(shù): 4)
FULL.rar (90 KB, 下載次數(shù): 3)







歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1