色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 串行2_pin 12864液晶移植到s12

          串行2_pin 12864液晶移植到s12

          作者: 時間:2016-11-28 來源:網(wǎng)絡 收藏
          Createdon:2012-10-17

          Author:zhangbin

          本文引用地址:http://cafeforensic.com/article/201611/322855.htm

          學習筆記

          forMC9S12XS128lcd12864ser_2_pin

          redesignedbyzhangbin

          2012-10-17

          versions:V-0.1

          AllRightsReserved

          Ser_12864.h文件如下注釋的比較詳細:

          #ifndefSER_12864_H_

          #defineSER_12864_H_

          //設定wr為PA0

          //設定en為PA1

          //在main()中開輸出

          /

          #include"derivative.h"

          /

          //2空函數(shù)

          #definenop()_NOP();

          //3*數(shù)據(jù)輸入口給各個口加了定義可以直接從位的引腳讀出0/1的狀態(tài)

          #defineip10(P1IN&0x01)/0x01

          #defineip11(P1IN&0x02)/0x02

          #defineip12(P1IN&0x04)/0x04

          #defineip13(P1IN&0x08)/0x08

          #defineip14(P1IN&0x10)/0x10

          #defineip15(P1IN&0x20)/0x20

          #defineip16(P1IN&0x40)/0x40

          #defineip17(P1IN&0x80)/0x80

          #defineip20(P2IN&0x01)/0x01

          #defineip21(P2IN&0x02)/0x02

          #defineip22(P2IN&0x04)/0x04

          #defineip23(P2IN&0x08)/0x08

          #defineip24(P2IN&0x10)/0x10

          #defineip25(P2IN&0x20)/0x20

          #defineip26(P2IN&0x40)/0x40

          #defineip27(P2IN&0x80)/0x80

          /

          voiddelay_us(intdelaytime)

          {//軟件延時,16M總線頻率時延時時間約為10us

          //系統(tǒng)的晶振為16M的,沒有使用PLL倍頻

          inti;unsignedcharj;

          for(i=0;i

          for(j=0;j<16;j++)

          ;

          }

          voiddelay_ms(intdelaytime)

          {//軟件延時,16M總線頻率時延時時間約為1ms

          inti;

          for(i=0;i

          delay_us(100);

          }

          voidinit_lcd(void)/

          //--------position為任一位置的起始地址--*/

          //--length為長度,取值為1-64---/若只清一行最大為16//

          voidclr_lcd(ucharx,uchary0,ucharlength)//

          {//要寫的數(shù)據(jù)

          uchara,i,j;

          delay_us(50);

          a=content;

          LCD_SCLK0;//en=0;

          LCD_SID1;//wr=1

          for(i=0;i<5;i++)//數(shù)據(jù)時序*****************8

          {

          LCD_SCLK1;

          LCD_SCLK0;

          }

          LCD_SID0;//wr=0

          LCD_SCLK1;//en=1

          LCD_SCLK0;//en=0

          if(dat_comm)LCD_SID1;

          elseLCD_SID0;

          LCD_SCLK1;

          LCD_SCLK0;

          LCD_SID0;

          LCD_SCLK1;

          LCD_SCLK0;

          for(j=0;j<2;j++)//

          {

          ucharpos=0;

          switch(y0)

          {

          case0:pos=0x80+x;break;

          case1:pos=0x90+x;break;

          case2:pos=0x88+x;break;

          case3:pos=0x98+x;break;

          default:break;

          }

          wr_lcd(comm,pos);

          }

          //

          {

          ucharpos=0;

          switch(y0)

          {

          case0:pos=0x80+x;break;

          case1:pos=0x90+x;break;

          case2:pos=0x88+x;break;

          case3:pos=0x98+x;break;

          default:break;

          }

          wr_lcd(comm,pos);//comm為零。函數(shù)意思是移動光標到此

          wr_lcd(dat,data);//寫入這個數(shù)據(jù)dat和comm是1,0的標志

          }

          ////

          {

          ucharpos=0;//初始化

          ucharcnt=0;//傳遞過來的是指針,cnt為偏移量,然后一個字符一個字符的寫入。

          switch(y0)

          {

          case0:pos=0x80+x;break;

          case1:pos=0x90+x;break;

          case2:pos=0x88+x;break;

          case3:pos=0x98+x;break;

          default:break;

          }

          wr_lcd(comm,pos);//寫地址

          while(*(p+cnt)!=