找回密码
 立即注册

QQ登录

只需一步,快速开始

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

一个用HT1623驱动的段码程序

[复制链接]
ID:1164736 发表于 2026-1-15 09:22 | 显示全部楼层 |阅读模式
#include <reg51.h>
#include <intrins.h>

#define unchar   unsigned char
#define unint    unsigned int
//sbit cspin = P3^4;
//sbit clkpin = P3^1;
//sbit dipin = P3^2;
//sbit RDpin = P3^0;
//sbit CS1pin = P3^3;
//LCD转接板IO口
sbit cspin = P2^0;
sbit clkpin = P2^1;
sbit dipin = P2^3;
unchar buf,dat;
void lcdnop()
{
        _nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
/*------------数据传送函数------------*/
void lcdtran()
{
clkpin=0;lcdnop();
clkpin=1;lcdnop();
}
/*------------写命令函数------------*/
void lcdwc(unint n)
        {
                int i;
                cspin=0;
                lcdnop();
                dipin=1;
                lcdnop();
                lcdtran();
                dipin=0;
lcdnop();
lcdtran();
dipin=0;
lcdnop();
lcdtran();
for(i=0;i<8;i++)
{
dipin=n&0x80;
lcdtran();
n<<=1;
}
dipin=0;
lcdtran();
cspin=1;
        }
        /*------------写数据函数------------*/
        void lcdwd(buf,dat)
                {
                        int i,j;
                        cspin=0;lcdnop();
                        dipin=1;lcdnop();
                        lcdtran();
                        dipin=0;lcdnop();
                        lcdtran();
                        dipin=1;lcdnop();
                        lcdtran();
                        buf<<=1;
                        for(i=0;i<7;i++)
                        {
                                //buf<<=2;
                                dipin=buf&0x80;
lcdtran();
                                buf<<=1;
                        }
                        for(j=0;j<8;j++)
{
dipin=dat&0X01;
lcdtran();
dat>>=1;
}
cspin=1 ; //lcddelay();
}
//                void lcdwr(unchar buff,unchar datt)
//                        {
//                                int i,j;
//                                cspin=0;lcdnop();
//                                dipin=1;lcdnop();
//                                lcdtran();
//                                dipin=0;lcdnop();
//                                lcdtran();
//                                dipin=1;lcdnop();
//                                lcdtran();
//                                buff<<=1;
//                                for(i=0;i<7;i++)
//                                { //buf<<=2;
//                                        dipin=buff&0x80;
//          lcdtran();
//                                        buff<<=1;
//} for(j=0;j<4;j++)
//{
//dipin=datt&0X01;
//lcdtran();
// datt>>=1;
// }
//cspin=1 ;
// // lcddelay();
// }
/*------------液晶延时函数------------*/
void lcddelay(ms)
{
int i, j;
for(i=0;i<ms;i++)
{ for(j=0;j<300;j++)
{
;
}
}
}
/*------------全屏写数据函数------------*/
void lcdwdd(dat)
        {
                unchar i; //buf=0;
                for(i=0;i<48;i++)
                {
                        buf=2*i;
                        lcdwd(buf,dat);
}
}
//void segskan(unchar _dat)
//{
//unchar m;
//for(m=0;m<96;m++)
//{
//lcdwr(m,_dat);
//lcddelay(500);
//lcdwdd(0);
//}
//}
/*------------初始化函数------------*/
void lcdinital()
        {
lcdwc(0x00);_nop_();
lcdwc(0x02);_nop_();
lcdwc(0x18);_nop_();
lcdwc(0x01);_nop_();
lcdwc(0x03);_nop_();
lcdwc(0x52);_nop_();
lcdwdd(0x00);_nop_();
        }
        /*------------显示主函数------------*/
        void main(void)
                {  
                        lcdinital();
        while(1)
                {
                                lcdwdd(0xff);
                                        lcddelay(1000);
                                        lcddelay(1000);
                                        lcddelay(1000); //1
//                                        lcdwdd(0);
//                                        lcddelay(1000); //0
//                                        lcddelay(1000); //0
//                                        lcdwdd(0x01);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM1
//                                        lcdwdd(0x02);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM2
//                                        lcdwdd(0x04);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM3
//                                        lcdwdd(0x08);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM4
//                                        lcdwdd(0x10);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM5
//                                        lcdwdd(0x20);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM6
//                                        lcdwdd(0x40);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM7
//                                        lcdwdd(0x80);
//                                        lcddelay(1000);
//                                        lcddelay(1000);
//                                        lcddelay(1000); //COM8
//                                        lcdwdd(0);
//                                        lcddelay(1000); //0
                                
//                                        segskan(0xff);
//                                lcddelay(1000);  
}
                                 
                        }
HT1623.jpg
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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