久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2620|回復: 3
打印 上一主題 下一主題
收起左側

有關GH1621的MCU驅動程序問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:438796 發表于 2021-3-31 11:24 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
20黑幣
我現在用GN1621驅動液晶屏,不能單獨操作SEG口,我想給SEG9一個0xf0,液晶屏全亮了。有有大佬知道問題嗎?
單片機源程序如下:
#define  unchar     unsigned char #define  unint      unsigned int
#define  unlong     unsigned long

#define CS                RC0                                        //片選端
//#define        RD                RC1                                        //讀數據時鐘
#define WR                RC1                                        //寫數據時鐘               
#define DATA        RC4                                        //串行數據端
void DelayUs(unsigned char Time)
{
        unsigned char a;
        for(a=0;a<Time;a++)
        {
                CLRWDT();
        }
}      
void delay(void)
{
        unchar i;
        for(i=0;i<200;i++);
}
void delay_ms(unsigned char Time)
{
        unsigned char a,b;
        for(a=0;a<Time;a++)
        {
                for(b=0;b<5;b++)
                {
                         DelayUs(197);                   //快1%
                }
        }
}
void write_byte(unchar byte,unchar length)
{
        unchar i;
        for(i=0;i<length;i++)
        {
                WR = 0;
                delay();        
                if(byte & 0X80)
                {
                        DATA = 1;                        //高位先傳        
                }
                else
                {
                        DATA = 0;
                }        
                byte <<= 1;
                WR = 1;                                                                        //WR上升沿鎖存
                delay();
        }
}
void Write_dat(unchar dat)                //寫數據
{
        unchar i;
        CS = 1;
        delay();
        CS = 0;                                                                                //片選低電平使能
        write_byte(0XA0,3);                                //傳3位命令碼101
        write_byte(0X09,6);                                //傳6位地址碼,起始地址00H
        for(i=0;i<32;i++)
        {
                write_byte(dat,4);                //傳4位數據。高位先傳
        }
}
void Write_dat1(unchar Addr,unchar dat)                //寫數據
{
        unchar i;
        CS = 1;
        delay();
        CS = 0;                                                                //片選低電平使能
        write_byte(0XA0,3);                                //傳3位命令碼101
        write_byte(Addr,6);                                //傳6位地址碼,起始地址00H
        for(i=0;i<8;i++)
        {
                write_byte(dat,4);                //傳4位數據。高位先傳
        }
}

void Write_cmd(unchar cmd)                //寫指令
{
        CS = 1;
        delay();
        CS = 0;
        write_byte(0X80,3);                                //傳3位命令碼100
        write_byte(cmd,9);                                //傳9位指令
}
void lcd_init(void)
{
        delay_ms(100);
        Write_cmd(0x01);                                        //開啟系統時鐘
        Write_cmd(0X18);                                        //內部RC震蕩
//  Write_cmd(0X14);                                        //晶體振蕩
////        Write_cmd(0X07);          //允許WDT暫停標志輸出
////        Write_cmd(0X88);          //允許IRQ輸出
////        Write_cmd(0X60);          //蜂鳴頻率:2KHz
        Write_cmd(0x29);                                        //1/3偏置,4COM
        Write_dat(0x00);                                        //RAM清零
        Write_cmd(0x03);                                        //開顯示
}
/*-------------------------------------------------
*  函數名:POWER_INITIAL
*        功能:  上電系統初始化
*  輸入:  無
*  輸出:  無
--------------------------------------------------*/        
void POWER_INITIAL (void)
{
        OSCCON = 0B01110001;        //WDT 32KHZ IRCF=111=16MHZ/2=8MHZ,0.125US/T
                                                         //Bit0=1,系統時鐘為內部振蕩器
                                                         //Bit0=0,時鐘源由FOSC<2:0>決定即編譯選項時選擇

        INTCON = 0;                          //暫禁止所有中斷
        PORTA = 0B00000000;               
        TRISA = 0B00000000;                //PA輸入輸出 0-輸出 1-輸入
                                                        //PA3->輸出                                       
        PORTC = 0B00000000;         
        TRISC = 0B00000000;                //PC輸入輸出 0-輸出 1-輸入  
                                                               
        WPUA = 0B00000000;             //PA端口上拉控制 1-開上拉 0-關上拉
        WPUC = 0B00000000;             //PC端口上拉控制 1-開上拉 0-關上拉

        OPTION = 0B00001000;        //Bit3=1 WDT MODE,PS=000=1:1 WDT RATE
                                                         //Bit7(PAPU)=0 ENABLED PULL UP PA
        MSCKCON = 0B00000000;        //Bit6->0,禁止PA4,PC5穩壓輸出
                                                          //Bit5->0,TIMER2時鐘為Fosc
                                                          //Bit4->0,禁止LVR      
        CMCON0 = 0B00000111;         //關閉比較器,CxIN為數字IO口
}

/*-------------------------------------------------
*  函數名: main
*        功能:  主函數
*  輸入:  無
*  輸出:  無
--------------------------------------------------*/
void main()
{  
        POWER_INITIAL();                        //系統初始化
    lcd_init();

        while(1)
        {


//Write_dat1(0x16,0x00);  
//Write_dat1(0x15,0x00);
//Write_dat1(0x14,0x00);
//Write_dat1(0x13,0x00);
//Write_dat1(0x12,0x00);
//Write_dat1(0x11,0x00);
//Write_dat1(0x10,0x00);
//Write_dat1(0x0F,0x00);
//Write_dat1(0x0E,0x00);
//Write_dat1(0x0D,0x00);   
//Write_dat1(0x0C,0x00);
//Write_dat1(0x0B,0x00);
//Write_dat1(0x0A,0x00);


Write_dat1(0x09,0xf0);

               
        }
}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:584814 發表于 2021-3-31 20:26 | 只看該作者
1621驅動液晶屏可以任意點亮任意字段的
回復

使用道具 舉報

板凳
ID:438796 發表于 2021-4-30 13:49 | 只看該作者
本帖最后由 林哈哈 于 2021-4-30 14:20 編輯

void Write_dat1(unchar Addr,unchar dat)                //寫數據
{
//        unchar i;
        CS = 1;
        delay();
        CS = 0;                                                                //片選低電平使能
        write_byte(0XA0,3);                                //傳3位命令碼101
        write_byte(Addr<<2,6);                                //傳6位地址碼,起始地址00H
        write_byte(dat,4);                //傳4位數據。高位先傳
}這樣就可以了

回復

使用道具 舉報

地板
ID:357396 發表于 2022-3-27 15:17 | 只看該作者
如下
  1. void Write_dat1(unchar Addr,unchar dat)                //寫數據
  2. {
  3. //        unchar i;
  4.         CS = 1;
  5.         delay();
  6.         CS = 0;                                                                //片選低電平使能
  7.         write_byte(0XA0,3);                                //傳3位命令碼101
  8.         write_byte(Addr<<2,6);                                //傳6位地址碼,起始地址00H
  9.         write_byte(dat,4);                //傳4位數據。高位先傳
  10. }這樣就可以了
復制代碼
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久久久久久妞妞 | 日韩色综合 | 日韩视频在线免费观看 | 二区在线观看 | 国产精品久久久久久中文字 | 成人久久久 | 日韩精品一区二区三区高清免费 | av一级| 欧美精品一级 | 夜夜骑首页 | 人妖一区 | 精品一区二区三区中文字幕 | 国产乱肥老妇国产一区二 | 精品国产亚洲一区二区三区大结局 | 超碰在线播| 日韩免费一区 | 亚洲国产看片 | 精品蜜桃一区二区三区 | 午夜网站视频 | 欧美精品综合在线 | 久久99国产精一区二区三区 | 黄网站免费在线看 | 日韩成人免费av | 国产成人av在线 | 国产福利视频导航 | 中文字幕第十五页 | 中文字幕一区二区三区日韩精品 | 亚洲国产成人精品女人久久久 | 亚洲www啪成人一区二区麻豆 | 成人久草| 日韩在线观看一区 | 国产精品特级毛片一区二区三区 | 亚洲一卡二卡 | 久久成人综合 | 欧美日韩大陆 | 久久国产精品精品国产色婷婷 | www.久久99| 影视先锋av资源噜噜 | 九九精品热 | 中文字幕日韩欧美一区二区三区 | 午夜精品视频在线观看 |