标题: 51单片机六路抢答器程序(1602显示) [打印本页]

作者: 孙文超    时间: 2020-9-25 19:47
标题: 51单片机六路抢答器程序(1602显示)
#include "lcd.h"
void Lcd1602_Delay1ms(uint c)   
{
    uchar a,b;
        for (c=0; c>0; c--)
        {
                 for (b=199;b>0;b--)
                 {
                          for(a=1;a>0;a--);
                 }      
        }
            
}


#ifndef         LCD1602_4PINS         
void LcdWriteCom(uchar com)         
{
        LCD1602_E = 0;   
        LCD1602_RS = 0;           
        LCD1602_RW = 0;           
        
        LCD1602_DATAPINS = com;   
        Lcd1602_Delay1ms(1);               

        LCD1602_E = 1;                  
        Lcd1602_Delay1ms(5);        
        LCD1602_E = 0;
}
#else
void LcdWriteCom(uchar com)         
{
        LCD1602_E = 0;        
        LCD1602_RS = 0;         
        LCD1602_RW = 0;         

        LCD1602_DATAPINS = com;        
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;         
        Lcd1602_Delay1ms(5);
        LCD1602_E = 0;

        LCD1602_DATAPINS = com << 4;
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;         
        Lcd1602_Delay1ms(5);
        LCD1602_E = 0;
}
#endif

#ifndef         LCD1602_4PINS                  
void LcdWriteData(uchar dat)                        
{
        LCD1602_E = 0;        
        LCD1602_RS = 1;        
        LCD1602_RW = 0;        

        LCD1602_DATAPINS = dat;
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;  
        Lcd1602_Delay1ms(5);  
        LCD1602_E = 0;
}
#else
void LcdWriteData(uchar dat)                        
{
        LCD1602_E = 0;         
        LCD1602_RS = 1;        
        LCD1602_RW = 0;         

        LCD1602_DATAPINS = dat;        
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;         
        Lcd1602_Delay1ms(5);
        LCD1602_E = 0;

        LCD1602_DATAPINS = dat << 4;
        Lcd1602_Delay1ms(1);

        LCD1602_E = 1;         
        Lcd1602_Delay1ms(5);
        LCD1602_E = 0;
}
#endif           
#ifndef                LCD1602_4PINS
void LcdInit()                                                
{
         LcdWriteCom(0x38);  
        LcdWriteCom(0x0c);  
        LcdWriteCom(0x06);
        LcdWriteCom(0x01);  
        LcdWriteCom(0x80);
}
#else
void LcdInit()                                                
{
        LcdWriteCom(0x32);         
        LcdWriteCom(0x28);         
        LcdWriteCom(0x0c);
        LcdWriteCom(0x06);  
        LcdWriteCom(0x01);
        LcdWriteCom(0x80);  
}
#endif

`LIA8]ZMJJ0S}9@H6%F02CU.png (66.13 KB, 下载次数: 45)

仿真图

仿真图

LCD1602.rar

49.85 KB, 下载次数: 32, 下载积分: 黑币 -5






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1