找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2264|回复: 0
收起左侧

51单片机六路抢答器程序(1602显示)

[复制链接]
ID:747099 发表于 2020-9-25 19:47 | 显示全部楼层 |阅读模式
#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

仿真图

仿真图

LCD1602.rar

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

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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