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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

這段單片機代碼,為什么SelectScreen()只在清屏函數里調用過,還會影響顯示?

[復制鏈接]
跳轉到指定樓層
樓主
ID:230742 發表于 2021-4-22 15:58 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
在整個工程里,SelectScreen()只在清屏函數里調用了,為什么也會影響后面的顯示?
請各位老師幫我看看。

單片機源程序如下:
#ifndef __19264KS0107_H_
#define __19264KS0107_H_
#define uchar unsigned char  //宏定義無符號字符形數據類型進行聲明定義 定義名稱uchar 所占位數8位 范圍0~255
#define uint unsigned int    //宏定義無符號整形數據類型進行聲明定義 定義名稱uint 所占位數16位 范圍0~65535
/*定義19264液晶屏數據線—————————————————————————————————————————*/
#define Bus_Port P0    // 數據D0~D7
sbit LCD_RS  = P2^6;          // 數據=高,指令=低
sbit LCD_RW  = P2^5;          // 讀=高,寫=低
sbit LCD_EN  = P2^4;          // 讀\寫使能
sbit LCD_CS1 = P2^3;          // 片選1
sbit LCD_RST = P2^2;         // 液晶復位,低電平復位
sbit LCD_CS2 = P2^1;          // 片選2
sbit LCD_CS3 = P2^0;          // 片選3
/*寫數據————————————————————————————————————————————————————*/
void Write19264_data(uchar dat)
{
        LCD_RS=1;
        LCD_RW=0;
        Bus_Port=dat;
        LCD_EN=1;
        LCD_EN=0;
}
/*寫指令———————————————————————————————————————————————*/
void Write19264_com(uchar com)
{                 
        LCD_RS=0;
        LCD_RW=0;  
        Bus_Port=com;
        LCD_EN=1;
        LCD_EN=0;
}
/*選擇屏幕,screen: =0左屏;=1中屏;—————————————————————————————————————*/
void SelectScreen(uchar screen)
{
        switch(screen)
        {   
                case 0: LCD_CS1=0; LCD_CS2=1; LCD_CS3=1; break;                 //左屏
                 case 1: LCD_CS1=1; LCD_CS2=0; LCD_CS3=1; break;                 //中屏
            case 2: LCD_CS1=1; LCD_CS2=1; LCD_CS3=0; break;                 //右屏        
        }
}
/*設定行地址(頁面)--X=0-7———————————————————————————————————————————————*/
void SetLine(uchar Line)
{
        Line=Line & 0x07;           //0<=line<=7
        Line=Line | 0xb8;           //1011 1xxx
        Write19264_com(Line);                //向LCD發送命令
}
/*清屏函數,screen: =0左屏;=1中屏;=2右屏——————————————————————————————————————————————————————*/
void ClearScreen(uchar screen)
{
        uchar i,j;
        SelectScreen(screen);
        for(i=0;i<8;i++)
        {
                SetLine(i);
                for(j=0;j<64;j++)
                {
                        Write19264_data(0x00);
                }
        }        
}
/********************液晶片選并返回列地址***************************/
uchar LCD19264_PX(uchar add)
{
         uchar ZZY;  //ZZY代表左中右意思
         ZZY = add/64;
         if(ZZY==0){LCD_CS1=0;} else LCD_CS1=1;//片選左屏
         if(ZZY==1){LCD_CS2=0;} else LCD_CS2=1;//片選中屏
         if(ZZY==2){LCD_CS3=0;} else LCD_CS3=1;//片選左屏
         return(add-ZZY*64);                   //返回在哪片小屏上的列開始寫               
}
/*初始化LCD函數———————————————————————————————————————————————————*/
void Init19264LCD(void)
{
        uchar i;
        LCD_RST=0;                                    //液晶復位
        Delay_ms(10);
        LCD_RST=1;
        for (i=0;i<3;i++)
        {
                LCD19264_PX(i);            //選擇左中右屏
                ClearScreen(i);                  //清除左中右屏顯示
        }
        Write19264_com(0x3f);        //操作完畢開顯示
}
/***********************************************************************
函數功能:指定位置顯示8*16的字符               
colcol列0~23,page行0~3   fb帶表反白顯示,fb=非0是反白顯示,fb=0正常顯示
************************************************************************/
void Disp_8x16(uchar col,uchar page,uchar fb,uchar code *cn)
        {                             
                uchar i,j,xpcol,page1;     
                xpcol =LCD19264_PX(col*8); //求出在哪片小屏上的列開始寫        
                page1=page*2;         
                for(i=0;i<2;i++)
                        {
                                Write19264_com(0xb8+page1+i);        
                                Write19264_com(0x40+xpcol);
                                for(j=0;j<8;j++)
                                        {
                                                        if(fb)  //如果f非0,則反白顯示。
                                                        {
                                                                Write19264_data(~(cn[i*8+j]));
                                                        }
                                                        else   //否則正常顯示
                                                        {
                                                                Write19264_data(cn[i*8+j]);
                                                        }
                                        }        
                        }                        
         }
void main()

{
        Init19264LCD(); //19264屏初始化LCD函數
  while(1)
{
         /************說明*********************/
         /*例如:Disp_8x16(0,0,1,ZM_8x16[0]);
           括號第1個數指那一列開始
           括號第2個數指那一行開始
           括號第3個數指 0不反色顯示 1反色顯示
           括號第4個數指 字庫要顯示的字或符號*/
         
         Disp_8x16(0,0,1,ZM_8x16[0]); //0
         Disp_8x16(1,0,1,ZM_8x16[1]); //1
     Disp_8x16(2,0,1,ZM_8x16[2]); //2
         Disp_8x16(3,0,1,ZM_8x16[3]); //3
         Disp_8x16(4,0,1,ZM_8x16[4]); //4
         Disp_8x16(5,0,1,ZM_8x16[5]); //5
         Disp_8x16(6,0,1,ZM_8x16[6]); //6
         Disp_8x16(7,0,1,ZM_8x16[7]); //7
         
         Disp_8x16(20,0,1,ZM_8x16[8]); //8
         Disp_8x16(21,0,1,ZM_8x16[9]); //9

}}
主函數只有最后兩行在右屏有顯示。

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区在线观看视频 | 视频一区中文字幕 | 视频一区二区三区中文字幕 | 看毛片的网站 | 欧美一级精品片在线看 | av在线播放国产 | 午夜免费av | 中文字幕亚洲在线 | 天天干天天玩天天操 | 欧美精品一区二区在线观看 | 午夜日韩 | 九九视频网 | 日韩高清国产一区在线 | 久久精品成人 | 国产精品一区免费 | 久久久久国产精品一区二区 | 欧美精品一区二区三区蜜臀 | 国产三级网站 | 日韩欧美视频在线 | 国产小视频自拍 | 亚洲国产视频一区二区 | 日韩高清一区 | 伊人久久综合 | 欧美一级免费看 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 久久久久久免费毛片精品 | 国产欧美一区二区三区在线看 | 99精品久久 | 亚洲精品久久久一区二区三区 | 日日拍夜夜| 亚洲一区二区久久 | 精品国产精品三级精品av网址 | 久热免费 | 中文字幕久久精品 | 99久久久国产精品 | 国产精品久久久久久吹潮 | 亚洲免费精品 | 日本精品一区二区 | 国产目拍亚洲精品99久久精品 | 在线免费黄色小视频 | 久久99精品久久久久久 |