wwwxxx国产_337p日本欧洲亚洲大胆张筱雨_免费在线看成人av_日本黄色不卡视频_国产精品成熟老女人_99视频一区_亚洲精品97久久中文字幕_免费精品视频在线_亚洲色图欧美视频_欧美一区二三区

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 7524|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

MSP430單片機(jī)驅(qū)動(dòng)LCM240128液晶顯示漢字和字符數(shù)字

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:51773 發(fā)表于 2013-7-19 02:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. //器件:LCM2401282ZK
  2. //控制器:T6963C
  3. //日期:2009.06.15

  4. #include <MSP430x14x.h>
  5. #include "LCM2401282ZK.h"

  6. //============================控制線定義========================================
  7. #define WR1   BIT3           // WR1 = P5.3
  8. #define RD1   BIT2           // RD1 = P5.2
  9. #define CE    BIT1           // CE  = P5.1
  10. #define CD    BIT6           // CD  = P3.6
  11. #define FS    BIT0           // FS  = P5.0
  12. #define RST   BIT7           // RST = P3.7  正常情況下,5個(gè)低電平信號(hào)實(shí)現(xiàn)復(fù)位,然后高電平進(jìn)入正常工作狀態(tài)

  13. #define WR1_0  P5OUT &= ~WR1
  14. #define WR1_1  P5OUT |= WR1
  15. #define RD1_0  P5OUT &= ~RD1
  16. #define RD1_1  P5OUT |= RD1
  17. #define CE_0   P5OUT &= ~CE
  18. #define CE_1   P5OUT |= CE
  19. #define CD_0   P3OUT &= ~CD
  20. #define CD_1   P3OUT |= CD
  21. #define FS_0   P5OUT &= ~FS
  22. #define FS_1   P5OUT |= FS
  23. #define RST_0  P3OUT &= ~RST
  24. #define RST_1  P3OUT |= RST  // 控制線輸出高、低電平定義

  25. unsigned char cradd1,cradd2,dat2,dat0,com,ctrlcode;
  26. unsigned char urow,ucol,h;
  27. unsigned char STA;          //用于存放p4口的狀態(tài)

  28. //==============================================================================
  29. //                        定義的漢字字庫(kù)
  30. //==============================================================================
  31. const unsigned char hztab_bzj[175][32]={                        

  32.            };// 這里自己定義字庫(kù)


  33. //==============================小延時(shí)==========================================

  34. void short_delay(unsigned int i)
  35. {
  36.   unsigned int j;
  37.   for(j=0;j<=i;j++);
  38. }

  39. //==============================延時(shí)ms級(jí)========================================

  40. void delayms(unsigned char tickms)
  41. {
  42.   unsigned int count,i;
  43.        _NOP();
  44.        _NOP();
  45.        _NOP();

  46.        for(i=tickms;i>0;i--)
  47.          { for(count=0;count<4000;count++) {;}
  48.            _NOP();
  49.          }
  50. }

  51. //==============================寫顯示數(shù)據(jù)子程序(左)==========================

  52. void wrdata(unsigned char dat0)                    
  53.     {
  54.       unsigned char cradd1;
  55.       CD_1;
  56.       CE_0;
  57.       do
  58.       {
  59.         P4DIR=0xff;             //P4口設(shè)置為輸出
  60.         P4OUT=0xff;
  61.         RD1_0;
  62.         P4DIR=0x00;             //P4口設(shè)置為輸入
  63.         cradd1=P4IN;
  64.         RD1_1;
  65.       }
  66.       while((cradd1&0x03)==0) ;
  67.       P4DIR=0xff;               //P4口設(shè)置為輸出
  68.       P4OUT=0xff;
  69.       CD_0;
  70.       
  71.       P4OUT=dat0;
  72.       WR1_0;
  73.       WR1_1;
  74.      }

  75. //==============================/* 寫指令代碼子程序(左)*/=====================

  76. void wrctrl0(unsigned char com)                     
  77.     {
  78.       unsigned char cradd1;
  79.       CD_1;
  80.       CE_0;
  81.       do
  82.         {
  83.           P4DIR=0xff;           //P4口設(shè)置為輸出
  84.           P4OUT=0xff;
  85.           RD1_0;
  86.           P4DIR=0x00;           //P4口設(shè)置為輸入
  87.           cradd1=P4IN;
  88.           RD1_1;
  89.         }
  90.       while((cradd1&0x03)==0);
  91.       P4DIR=0xff;               //P4口設(shè)置為輸出
  92.       P4OUT=0xff;
  93.       CD_1;
  94.       
  95.       P4OUT=com;
  96.       WR1_0;
  97.      
  98.       WR1_1;
  99.      
  100.     }

  101. void wrctrl(unsigned char dat1,unsigned char dat2,unsigned char ctrlcode)
  102.      {
  103.        wrdata(dat1);
  104.        _NOP();
  105.        _NOP();
  106.        _NOP();
  107.        wrdata(dat2);
  108.        _NOP();
  109.        _NOP();
  110.        _NOP();
  111.        wrctrl0(ctrlcode);
  112.       }
  113. //==============================清屏============================================

  114. void clrc(void)
  115.      { unsigned char i,j;
  116.       
  117.            wrctrl(0x00,0x00,0x24);
  118.            wrctrl0(0xb0);
  119.            for(i=0;i<64;i++)
  120.               {
  121.            for(j=0;j<30;j++)
  122.              {
  123.                wrdata(0x10);
  124.              }
  125.           }
  126.       }

  127. //==============================清寄存器========================================

  128. void clrg(void)
  129.      { unsigned char i,j;
  130.           wrctrl(0x00,0x08,0x42);
  131.           wrctrl(0x1e,0x00,0x43);
  132.           wrctrl(0x00,0x08,0x24);
  133.           wrctrl0(0xb0);
  134.            for(i=0;i<128;i++)
  135.               {
  136.            for(j=0;j<30;j++)
  137.              {
  138.                wrdata(0x00);
  139.              }
  140.           }
  141.            wrctrl0(0xb2);
  142.       }

  143. //==============================================================================

  144. void allon(void)
  145.         { unsigned char i,j;
  146.           wrctrl(0x00,0x08,0x42);
  147.           wrctrl(0x1e,0x00,0x43);
  148.           wrctrl(0x00,0x08,0x24);
  149.           wrctrl0(0xb0);
  150.            for(i=0;i<64;i++)
  151.               {
  152.            for(j=0;j<30;j++)
  153.              {
  154.                wrdata(0xff);
  155.             
  156.              }
  157.           }
  158.            wrctrl0(0xb2);
  159.       }

  160. //==============================================================================

  161. void stripe(void)
  162.        { unsigned char i,j;
  163.           wrctrl(0x00,0x08,0x42);
  164.           wrctrl(0x1e,0x00,0x43);
  165.           wrctrl(0x00,0x08,0x24);
  166.           wrctrl0(0xb0);
  167.            for(i=0;i<64;i++)
  168.               {
  169.            for(j=0;j<30;j++)
  170.              {
  171.                wrdata(0xaa);
  172.              }
  173.           }
  174.            wrctrl0(0xb2);
  175.       }

  176. //==============================================================================

  177. void stripe1(void)
  178.      { unsigned char i,j;
  179.           wrctrl(0x00,0x08,0x42);
  180.           wrctrl(0x1e,0x00,0x43);
  181.           wrctrl(0x00,0x08,0x24);
  182.           wrctrl0(0xb0);
  183.            for(i=0;i<64;i++)
  184.            {
  185.            for(j=0;j<30;j++)
  186.              {
  187.                wrdata(0x55);
  188.              }
  189.            }
  190.             wrctrl0(0xb2);
  191.       }

  192. //==============================/* 設(shè)置當(dāng)前地址*/===============================

  193. void fnSetPos(unsigned char urow, unsigned char ucol)
  194. {
  195.         unsigned int  iPos;

  196.         iPos = urow * 30 + ucol;
  197.         wrctrl(iPos & 0xFF,iPos / 256+0x08,0x24);
  198.        
  199.        
  200. }   

  201. //==============================/*寫漢字子程序*/================================

  202. void wrhz_lcd(unsigned char h,unsigned char urow,unsigned char ucol)
  203.      { unsigned char dat10;
  204.        unsigned int i,j,k;
  205.        wrctrl(0x00,0x08,0x42);
  206.        wrctrl(0x1e,0x00,0x43);
  207.        wrctrl(0x00,0x08,0x24);
  208.        fnSetPos(urow, ucol);
  209.        k=0;      
  210.        for(i=0;i<16;i++)
  211.           { wrctrl0(0xb0);
  212.         for(j=0;j<2;j++)      
  213.             {            
  214.             dat10= hztab_bzj[h][k];
  215.             wrdata(dat10);     
  216.              k++;
  217.              }  
  218.            wrctrl0(0xb2);
  219.            fnSetPos(urow+(i+1), ucol);
  220.           }
  221.       }



  222. //2009.07.06 evening
  223. //==============================================================================


  224. //==============================讀液晶狀態(tài)字到STA===============================1

  225. //功能:用于往液晶寫數(shù)據(jù)或命令之前判斷忙閑
  226. void read_sta(void)
  227. {
  228.   P4DIR=0x00; //P4數(shù)據(jù)輸入,由液晶到430,不需要電平的轉(zhuǎn)換,因?yàn)槭?.3V的液晶模塊
  229.   CD_1;       //命令方式
  230.   RD1_0;       //read
  231.   STA=P4IN;   //讀回狀態(tài)
  232.   RD1_1;       //cancel read
  233.   P4DIR=0xff; //P4口設(shè)置為數(shù)據(jù)輸出模式,由430到液晶  
  234. }

  235. //==============================判斷位S1,S0函數(shù)(讀寫指令和讀寫數(shù)據(jù)狀態(tài))=======2

  236. void ST1(void)
  237. {
  238.   do
  239.   {
  240.     read_sta();   
  241.   }
  242.   while((STA&0x03)!=0x03); //0000 0011---忙:1  閑:0
  243. }

  244. //==============================判斷位S2函數(shù)(數(shù)據(jù)自動(dòng)讀狀態(tài))==================3

  245. void ST2(void)
  246. {
  247.   do
  248.   {
  249.     read_sta();
  250.   }
  251.   while((STA&0x04)!=0x04);  //0000 0100---忙:1  閑:0
  252. }

  253. //==============================判斷位S3函數(shù)(數(shù)據(jù)自動(dòng)寫狀態(tài))==================4

  254. void ST3(void)
  255. {
  256.   do
  257.   {
  258.     read_sta();
  259.   }
  260.   while((STA&0x08)!=0x08);   //0000 1000---忙:1  閑:0
  261. }

  262. //==============================/*寫入數(shù)據(jù)字節(jié) */ ==============================5
  263. //one byte

  264. void write_data(unsigned char Byte )
  265. {
  266.          ST1(); //讀完?duì)顟B(tài)后,設(shè)置為輸出模式---這里是正確的
  267.          P4OUT = Byte;
  268.          CD_0;        //數(shù)據(jù)方式
  269.          WR1_0;       // write
  270.          WR1_1;     
  271. }

  272. //==============================/*自動(dòng)寫入數(shù)據(jù)字節(jié) */ ==========================6
  273. //不用判斷狀態(tài)標(biāo)志位

  274. void autowrite_data(unsigned char Byte )
  275. {
  276.          P4OUT = Byte;
  277.          CD_0;         //數(shù)據(jù)方式
  278.          WR1_0;        // write
  279.          WR1_1;     
  280. }

  281. //==============================/*寫入命令字 */ ================================7

  282. void write_cmd(unsigned char cmd )
  283. {
  284.          ST1();
  285.          P4OUT = cmd ;
  286.          CD_1;       //命令方式
  287.          WR1_0;      // write
  288.          WR1_1;     
  289. }

  290. //==============================/*寫只有一個(gè)參數(shù)的命令  */ =====================8

  291. void write_onepara(unsigned char dat1,unsigned char command )
  292. {
  293.   write_data(dat1);
  294.   write_cmd(command);
  295. }

  296. //==============================/*寫含有二個(gè)參數(shù)的命令  */ =====================9

  297. void write_doublepara(unsigned char dat1,unsigned char dat2,unsigned char command )
  298. {
  299.   write_data(dat1);
  300.   write_data(dat2);
  301.   write_cmd(command);
  302. }

  303. //==============================/*清顯示緩沖的函數(shù)   */ ========================10

  304. void CLEAR_RAM( void )
  305.      {
  306.      int i;
  307.      write_doublepara(0x00,0x00,0x24);          /* 設(shè)置顯示RAM 首地址 */
  308.      
  309.      //24H Address Pointer Set D1:Low ADRS  D2:High ADRS
  310.      //the address pointer se command is used to indicate the start address for writing(or reading) to external RAM.
  311.    
  312.      write_cmd(0xb0);                           /* 設(shè)置自動(dòng)寫方式 */
  313.      
  314.      //b0H Data auto write set
  315.      //Note:Status check for auto mode(STA2,STA3)should be checked between each data.
  316.      

  317.      for(i=0;i<8192;i++)                        /* 清8K=8192存儲(chǔ)器 */
  318.         {         
  319.           ST3();                                /* 判狀態(tài)位S3 */
  320.           write_data(0x00);                     /* 寫入數(shù)據(jù) */            
  321.          }
  322.       write_cmd(0xb2);                          /* 設(shè)置自動(dòng)寫結(jié)束指令 */
  323.      
  324.      //b2H Auto reset
  325.      //     Auto reset should be performed after checking STA3=1(STA2=1).
  326.         
  327.      }

  328. //==============================/*對(duì)液晶屏的一些初始設(shè)置函數(shù)   */ ==============11

  329. void LcdIni( void )
  330.      {
  331.         write_doublepara(0x00,0x00,0x40);        /*設(shè)文本顯示區(qū)域首地址*/
  332.         
  333.         //40H Text home address set   D1:Low address  D2:High address
  334.         //The starting address of external display RAM for Text display is defined by this command.
  335.         //The text home address shows the left end and most upper position.
  336.         
  337.         write_doublepara(0x20,0x00,0x41);        /*設(shè)文本顯示區(qū)域?qū)挾?/
  338.         
  339.         //顯示區(qū)域?qū)挾葹?2.。需要說(shuō)明的是為了計(jì)算地址的方便,設(shè)置顯示區(qū)域的寬度為20H
  340.         //41H Text area set   D1:Columns(列)  D2:00H
  341.         //---------------------------寬度根據(jù)實(shí)際情況來(lái)改變吧!!2009.07.06
  342.         
  343.         /*
  344.         ------------------------------------------------------------------------
  345.         TH          |                     | TH+CL
  346.         ------------------------------------------------------------------------
  347.         TH+TA       |                     | TH+TA+CL
  348.         ------------------------------------------------------------------------
  349.         (TH+TA)+TA  |                     | TH+2TA+CL
  350.         ------------------------------------------------------------------------
  351.         TH:Text home address
  352.         TA:Text area number(columns)
  353.         CL:Columns are fixed by hardware.(pin-programmable)
  354.         */  
  355.         
  356.         //write_doublepara(0x03,0x00,0x22);        /* 設(shè)置CGRAM偏置地址 */
  357.         
  358.         //22H Function:Offset Register Set  D1:Data   D2:00H
  359.         //The offset register is used to determine external character generator RAM area.
  360.         
  361.         //The upper 5bit(ad15-ad11)are determined by offset register.

  362.         write_doublepara(0x00,0x08,0x42);        /*設(shè)圖形顯示區(qū)域首地址*/
  363.         
  364.         //42H Graphic home address set D1:Low address  D2:High address
  365.         write_doublepara(0x20,0x00,0x43);        /*設(shè)圖形顯示區(qū)域?qū)挾?/
  366.                
  367.         //0x1e-ox20
  368.         //43H Graphic area set  D1:Columns  D2:00H
  369.                 /*
  370.         ------------------------------------------------------------------------
  371.         GH          |                     | GH+CL
  372.         ------------------------------------------------------------------------
  373.         GH+GA       |                     | GH+GA+CL
  374.         ------------------------------------------------------------------------
  375.         (GH+GA)+GA  |                     | GH+2GA+CL
  376.         ------------------------------------------------------------------------
  377.         GH:Graphic home address
  378.         GA:Graphic area number(columns)
  379.         CL:Columns are fixed by hardware.(pin-programmable)  
  380.         */
  381.         
  382.         
  383.         write_cmd(0xa0);                         /*光標(biāo)形狀設(shè)置*/
  384.         write_doublepara(0x00,0x00,0x21);        /* 設(shè)置光標(biāo)位置*/
  385.         
  386.         /*
  387.         1010 0000           |  1 line  cursor
  388.         1010 0001           |  2 line  cursor
  389.         ……                |  ……
  390.         10100111            |  8 lines cursor,選擇為最大的光標(biāo)
  391.         
  392.         when cursor display is ON,this command selects the cursor pattern form 1
  393.         line to 8 lines.the cursor address is defined by cursor pointer set command.
  394.         */
  395.         
  396.         
  397.         //write_doublepara(0x08,0x08,0x21);        /* 設(shè)置光標(biāo) 位置*/
  398.         
  399.         //21H Cursor Pointer Set  X ADRS   Y ADRS
  400.         //X ADRS----=00H~4FH (Lower 7bits are valid)
  401.         //Y ADRS----=00H~1FH (Lower 5bits are valid)
  402.         //The cursor position is moved only by this command.
  403.         
  404.         
  405.         write_cmd(0x80);        /*顯示方式設(shè)置邏輯"或"合成, 內(nèi)部字符發(fā)生器有效*/
  406.         
  407.         /* Mode Set
  408.         ------------------------------------------------------------------------
  409.         Code              |  Function                 
  410.         1000x000          |  "OR" Mode
  411.         1000x001          |  "EXOR" Mode
  412.         1000x011          |  "AND" Mode
  413.         1000x100          |  "TEXT ATTRIBUTE" Mode
  414.         10000xxx          |  Internal Charater Generator Mode
  415.         10001xxx          |  External ……
  416.         ------------------------------------------------------------------------
  417.             When internal character generator mode is selected,character code 00
  418.         -7FH are selected from built-in character generator ROM.The character code
  419.         80H-FFH are automatically selected external character generator RAM.
  420.         */
  421.         
  422.         //write_cmd(0x9c);                  /*顯示開(kāi)關(guān)設(shè)置---開(kāi)本和開(kāi)圖形顯示*/
  423.         write_cmd(0x9f);
  424.         /* Display Set
  425.         ------------------------------------------------------------------------
  426.         Code              |  Function                 
  427.         10010000          |  Display off
  428.         1001xx10          |  Cursor on,blink off
  429.         1001xx11          |  Cursor on,blink on
  430.         100101xx          |  Text on,graphic off
  431.         100110xx          |  Text off,graphic on
  432.         100111xx          |  Text on,graphic on
  433.         ------------------------------------------------------------------------
  434.         1 0 0 1 d3 d2 d1 d0
  435.         |d0:Cursor  blink    on:1,off:0
  436.         |d1:Cursor  display  on:1,off:0
  437.         |d2:Text    display  on:1,off:0
  438.         |d3:Graphic display  on:1,off:0
  439.         
  440.         Note:It is necessary to turn on "Text display" and "Graphic display" in
  441.              following case.
  442.         1)Combination of text/graphic display;
  443.         2)Attribute function;
  444.         */     
  445.         
  446.         /*初始化完成后,開(kāi)文本和圖形顯示。此時(shí)調(diào)整對(duì)比度電壓,顯示屏上將因顯示存
  447.         儲(chǔ)器上電時(shí)的隨機(jī)數(shù)據(jù)而顯示出隨機(jī)的圖形和字符。以此可以驗(yàn)證接口電路和驅(qū)動(dòng)
  448.           程序的正確性。*/        
  449.         //CLEAR_RAM();
  450.      }

  451. //==============================西文字符寫入函數(shù)================================
  452. //x_asx:0~29; y_asc:0~15

  453. void write_asc(unsigned char x_asc,unsigned char y_asc,unsigned char code_asc)
  454. {
  455.   unsigned int address;
  456.   address=y_asc*32+x_asc;
  457.   write_doublepara((unsigned char)(address),(unsigned char)(address>>8),0x24);
  458.   //設(shè)置顯示存儲(chǔ)器地址
  459.   write_onepara(code_asc,0xc4);
  460.   //裝入字符代碼,寫入數(shù)據(jù),地址不變
  461. }

  462. //==============================漢字寫入函數(shù)(正顯)============================
  463. //x_hz:0-29; y_hz:0-127

  464. void write_hz1(unsigned char x_hz,unsigned char y_hz,unsigned char code_hz)
  465. {
  466.   unsigned char i_hz;
  467.   unsigned int address,addr_hz;
  468.   address=y_hz*32+x_hz+0x0800;      //計(jì)算顯示存儲(chǔ)器的地址
  469.   //addr_hz=code_hz*32;             //計(jì)算漢字字模地址(cctab的下標(biāo))由32改為16
  470.   addr_hz=0;
  471.   for(i_hz=0;i_hz<16;i_hz++)        //計(jì)數(shù)值16
  472.   {
  473.       write_doublepara((unsigned char)(address),(unsigned char)(address>>8),0x24);
  474.                                    //設(shè)置顯示存儲(chǔ)器地址
  475.       write_onepara(hztab_bzj[code_hz][addr_hz],0xc0);     //寫入漢字字模左部
  476.       write_onepara(hztab_bzj[code_hz][16+addr_hz++],0xc0);//寫入漢字字模右部
  477.       address+=32;//修改顯示存儲(chǔ)器地址,顯示下一列(共16列)
  478.   }
  479. }
  480. //==============================漢字寫入函數(shù)(反顯)============================

  481. void write_hz2(unsigned char x_hz,unsigned char y_hz,unsigned char code_hz)
  482. {
  483.   unsigned char i_hz;
  484.   unsigned int address,addr_hz;
  485.   address=y_hz*32+x_hz+0x0800;   //計(jì)算顯示存儲(chǔ)器的地址
  486.   //addr_hz=code_hz*32;             //計(jì)算漢字字模地址(cctab的下標(biāo))由32改為16
  487.   addr_hz=0;
  488.   for(i_hz=0;i_hz<16;i_hz++)    //計(jì)數(shù)值16
  489.   {
  490.       write_doublepara((unsigned char)(address),(unsigned char)(address>>8),0x24);
  491.   //設(shè)置顯示存儲(chǔ)器地址
  492.         write_onepara((255-hztab_bzj[code_hz][addr_hz]),0xc0);//寫入漢字字模左部
  493.           write_onepara((255-hztab_bzj[code_hz][16+addr_hz++]),0xc0);//寫入漢字字模右部
  494.           address+=32;//修改顯示存儲(chǔ)器地址,顯示下一列(共16列)
  495.   }
  496. }

  497. //================================顯示一個(gè)點(diǎn)函數(shù)================================
  498. //x:0-239;   y:0-127(消除點(diǎn)) 128-255(顯示點(diǎn))

  499. void write_point(unsigned char x,unsigned char y)
  500. {
  501.   unsigned char x_pt,y_pt;
  502.   unsigned int address;
  503.   x_pt=x;
  504.   y_pt=y;
  505.   address=(y_pt&0x7f)*32+x_pt/8+0x0800;//計(jì)算顯示存儲(chǔ)器地址
  506.    write_doublepara((unsigned char)(address),(unsigned char)(address>>8),0x24);
  507.   //設(shè)置顯示存儲(chǔ)器地址
  508.    x_pt=(~(x_pt%8))&0x07;
  509.    y_pt=((y_pt&0x80)>>4)|0xf0;
  510.    write_cmd(x_pt|y_pt);//寫入數(shù)據(jù)
  511. }

  512. //===================================顯示矩形框=================================
  513. //x:0-239,y:0-127

  514. void rectangle(unsigned char xstar,unsigned char xend,unsigned char ystar,unsigned char yend)
  515. {
  516.   unsigned char i;
  517.   ystar+=128;
  518.   yend+=128;                   //顯示點(diǎn)
  519.   for(i=xstar;i<=xend;i++)
  520.   {
  521.     write_point(i,ystar);
  522.     write_point(i,yend);
  523.   }
  524.     for(i=ystar;i<=yend;i++)
  525.   {
  526.     write_point(xstar,i);
  527.     write_point(xend,i);
  528.   }
  529. }

  530. //========================================擦除矩形框============================


  531. void clr_rectangle(unsigned char xstar,unsigned char xend,unsigned char ystar,unsigned char yend)
  532. {
  533.   unsigned char i;
  534.   for(i=xstar;i<=xend;i++)
  535.   {
  536.     write_point(i,ystar);
  537.     write_point(i,yend);
  538.   }
  539.     for(i=ystar;i<=yend;i++)
  540.   {
  541.     write_point(xstar,i);
  542.     write_point(xend,i);
  543.   }
  544. }
  545. //==============================================================================1400

復(fù)制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:51773 發(fā)表于 2013-7-19 02:03 | 只看該作者
頭文件:LCM2401282ZK.H
  1. //液晶函數(shù)定義
  2. //2009.06.15

  3. void short_delay(unsigned int i);
  4. void delayms(unsigned char tickms);
  5. void wrdata(unsigned char dat0);
  6. void wrctrl0(unsigned char com);
  7. void wrctrl(unsigned char dat1,unsigned char dat2,unsigned char ctrlcode);
  8. void clrc(void);
  9. void clrg(void);
  10. void allon(void);
  11. void stripe(void);
  12. void stripe1(void);
  13. void fnSetPos(unsigned char urow, unsigned char ucol);
  14. void wrhz(unsigned char h,unsigned char urow,unsigned char ucol);
  15. void miaodian(void);

  16. void read_sta(void);
  17. void ST1(void);
  18. void ST2(void);
  19. void ST3(void);
  20. void write_data(unsigned char Byte );
  21. void autowrite_data(unsigned char Byte );
  22. void write_cmd(unsigned char cmd );
  23. void write_onepara(unsigned char dat1,unsigned char command );
  24. void write_doublepara(unsigned char dat1,unsigned char dat2,unsigned char command );
  25. void CLEAR_RAM( void );
  26. void LcdIni( void );
  27. void disp_hz(unsigned char posx,unsigned char posy,unsigned char ccode,unsigned char fan);


  28. void write_asc(unsigned char x_asc,unsigned char y_asc,unsigned char code_asc);
  29. void write_point(unsigned char x,unsigned char y);
  30. void rectangle(unsigned char xstar,unsigned char xend,unsigned char ystar,unsigned char yend);
  31. void clr_rectangle(unsigned char xstar,unsigned char xend,unsigned char ystar,unsigned char yend);
  32. void write_hz1(unsigned char x_hz,unsigned char y_hz,unsigned char code_hz);
  33. void write_hz2(unsigned char x_hz,unsigned char y_hz,unsigned char code_hz);
  34. void miaodian(void);
復(fù)制代碼
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
亚洲免费观看视频| 欧美xxxx做受欧美.88| 蜜桃91丨九色丨蝌蚪91桃色| 国产精品一区二区三区www| 视频在线91| 久久日.com| 亚洲熟女综合色一区二区三区| 久久人人爽av| 中国人体摄影一区二区三区| 国产高清在线不卡| 日韩久久午夜影院| 欧美日韩激情美女| 91美女视频网站| 国产精品综合| av一区二区在线播放| 亚洲成人va| 97电影在线| sm一区二区三区| 欧美人善zozσ性伦交| 一级特黄aaaaaa大片| www欧美com| 成人欧美精品一区二区| 青青青免费在线| 欧美在线视频二区| 91精品久久久久久久久久另类 | 国产美女视频免费| 99热国产免费| 日韩av免费一区| 日韩视频免费在线| 亚洲国产女人aaa毛片在线| 精品人伦一区二区三区蜜桃免费| 91色在线porny| 免费看黄色91| aa亚洲婷婷| 日韩免费av| 卡通动漫精品一区二区三区| 88xx成人网| 国产精品一二三产区| 日本中文字幕电影在线免费观看| 麻豆影视在线观看| 国产91白丝在线播放| 香蕉视频网站在线播放| 四虎精品影院在线观看视频| 黄频网站在线观看| 中文字幕在线播放不卡| 五月婷婷中文字幕| 日本污视频在线观看| 极品魔鬼身材女神啪啪精品| 国产成人福利在线| 欧美大喷水吹潮合集在线观看| 日韩va在线观看| 亚洲人成无码www久久久| 日韩在线观看a| 日本免费黄色小视频| 婷婷五月色综合| 欧美一区二区福利| 日韩成人在线资源| 久久福利电影| 精品国产aⅴ麻豆| 国产日韩欧美综合精品| 99中文字幕| 国产精品自拍首页| 精品乱色一区二区中文字幕| 国语精品中文字幕| 久久久www免费人成黑人精品| 国产精品成人一区二区三区| 99国产超薄丝袜足j在线观看| 国产日韩精品电影| 91美女福利视频高清| 97人人模人人爽人人少妇| 91丨九色丨国产| 精品视频免费观看| 欧美日韩亚洲一区二区三区四区| 欧美日韩电影一区二区| 日韩精品伦理第一区| 亚洲国产精品www| 日本久久高清视频| 欧美深夜福利视频| 欧美美女一级片| 伊人影院在线观看视频| 一二三区视频在线观看| 菠萝菠萝蜜网站| 亚洲欧美卡通动漫| 国产大片中文字幕| 午夜精品久久久久久久蜜桃| 国产美女裸体无遮挡免费视频| 国产精品视频在线观看免费| 六月丁香色婷婷| 国产女人18毛片水真多| 精品国产999久久久免费| 黄色a在线观看| 天天射天天操天天干| 香蕉久久国产av一区二区| 少妇高潮一区二区三区69| 区二区三区在线| 日韩一级免费视频| 国产精品臀控福利在线观看| 免费在线观看h| 97影院在线观看| av小片在线| 大胆人体一区二区| 午夜免费欧美电影| 婷婷激情图片久久| 奇米精品一区二区三区在线观看| 成人av综合一区| 夜夜嗨av一区二区三区| 欧美精品一二三| 伊人青青综合网站| 国产成人综合亚洲| 欧美一区二区在线| 日韩精品一区二区三区色欲av| 精产国品一区二区三区| 天天做夜夜爱爱爱| 亚洲一区中文字幕在线| 综合久久一本| 初尝黑人巨炮波多野结衣电影| 高清中文字幕一区二区三区| 日韩国产网站| 久久密一区二区三区| 人禽交欧美网站| 国产精品久久久久久福利一牛影视| 狠狠色狠狠色综合日日小说| 精品一区二区电影| 国产精品成人v| 亚洲一区二区精品在线| 一区二区久久精品| 欧美精品一区二区蜜桃| 蜜臀av中文字幕| 亚洲jjzzjjzz在线观看| www在线视频| 精品久久97| 日本怡春院一区二区| 国产精品国模大尺度视频| 91精品国产综合久久国产大片| 久久精品国产免费观看| 成人看片在线| 日本va中文字幕| 美国黄色小视频| 性感美女福利视频| 如如影视在线观看经典| 欧美123区| 午夜日韩av| 91蝌蚪porny| 69久久夜色精品国产69蝌蚪网| 欧美高跟鞋交xxxxxhd| 任我爽在线视频精品一| 潘金莲一级淫片aaaaa| 亚洲欧美综合另类| 手机在线观看你懂的| 麻豆视频在线| 国产一区二区三区网| 狠狠色丁香久久婷婷综合_中| 亚洲国产日韩在线一区模特| 国产偷亚洲偷欧美偷精品| 亚洲japanese制服美女| 久章草在线视频| 久久无码精品丰满人妻| 日韩精品免费一区二区| 在线免费av网站| 日本午夜精品| 国产不卡视频在线播放| 色综合婷婷久久| 久久露脸国产精品| 久久综合久久久久| 国产高潮流白浆| 欧美高清3dfreexxxx性| 免费av网站在线看| 人人狠狠综合久久亚洲婷婷 | 欧美xxxx14xxxxx性爽| 免费一区二区三区在在线视频| 久久久精品视频国产| 国产又大又长又粗| 高清免费观看在线| 亚洲一区二区三区四区电影| 韩国欧美国产1区| 欧美日韩国产综合久久| 国产精品自产拍在线观看中文| 免费黄色特级片| 日韩一级在线视频| 黄色av免费| 一区二区三区四区高清视频| 懂色av一区二区三区蜜臀| 日韩欧美中文字幕精品| 国产精品v欧美精品∨日韩| 久久性爱视频网站| 亚洲最大色图| a视频在线免费看| 欧美久久成人| 欧美午夜丰满在线18影院| 人妖精品videosex性欧美| 少妇高清精品毛片在线视频 | 中国特级黄色片| 国产成人无码www免费视频播放| 日韩欧美在线观看一区二区| 女人丝袜激情亚洲| 中文字幕一区二区视频| 色中色综合影院手机版在线观看| 国产二区视频在线| 91丨九色丨海角社区| 天堂a√中文在线| 久久裸体网站| 欧美日韩免费在线观看| 国产精品入口福利| 亚洲天堂资源在线| 性欧美极品另类| av有声小说一区二区三区| 精品一区中文字幕| 亚洲男人av电影| 日韩欧美视频免费在线观看| 潘金莲一级淫片aaaaaa播放| 在线午夜视频| 欧美激情日韩| 欧美日韩精品久久久| ts人妖另类在线| 免费看的黄色录像| 奇米777影视成人四色| 欧美韩一区二区| 一级精品视频在线观看宜春院 | 亚洲综合网在线| 国产黄视频网站| 成人av国产| 91极品视觉盛宴| 精品久久蜜桃| 成年人午夜视频| 欧美孕妇孕交| 国产视频一区三区| 亚洲第一级黄色片| 9色porny| 日韩一区二区三区不卡| 极品美女一区| 久久精品在这里| 91成人在线播放| 中国极品少妇videossexhd| 在线观看免费电影| 亚洲另类春色校园小说| 疯狂做受xxxx高潮欧美日本| 国产成人精品福利一区二区三区 | 久cao在线| 久久99精品国产.久久久久久| 一区二区三区视频观看| 无码少妇一区二区三区芒果| 91精品国自产在线偷拍蜜桃| 国产成人精品一区二区三区视频| 欧美激情一区二区三区蜜桃视频| 国产精品高精视频免费| gv天堂gv无码男同在线观看| 狠狠干在线视频| 国产亚洲在线| 国产亚洲精品一区二555| 国产成人美女视频| 日本三级电影免费观看| 色爱综合网欧美| 日韩女优av电影| 欧美日韩中文在线视频| 国内精品久久久久久影院老狼| 波多野结衣欧美| 在线影视一区二区三区| 只有这里有精品| 亚洲一级免费毛片| www.亚洲一二| 欧美午夜精品久久久久久超碰| 99久久久无码国产精品性色戒| 色婷婷在线视频| 日韩免费一级| 91久久精品一区二区三| 蜜桃视频一区二区在线观看| 久久综合图区亚洲综合图区| 香蕉视频一区| 日韩一区二区高清| 国产精品igao| eeuss草民免费| 国产欧美在线| 久久久久久久久网站| 美国精品一区二区| 日本在线免费| 欧美激情一区在线| 免费99视频| 成人午夜福利视频| 国内露脸中年夫妇交换精品| 一本一本久久a久久精品综合麻豆| 在线精品日韩| 手机看片国产1024| 欧美成人基地| 日韩欧美aaaaaa| 91女神在线观看| www.青草| 免费成人性网站| 欧美亚洲另类在线| 久久高清免费视频| 1234区中文字幕在线观看| 最新欧美精品一区二区三区| 日本一区视频在线播放| 香蕉人妻av久久久久天天| 成人动漫免费在线观看| 亚洲精品一区二区三区99| 免费黄频在线观看| 二区视频在线| 国产综合色视频| 日韩免费精品视频| 天天插天天操天天干| 日本午夜免费一区二区| 在线欧美日韩国产| 日本久久久久久久久久久久| 先锋影音av资源网| 国产一区二区三区在线观看免费视频| 国产精品久久久久久久久久久久久| 欧美三级网站在线观看| 国产色99精品9i| 日韩午夜在线观看视频| 一本加勒比波多野结衣| 91.xxx.高清在线| 最新日韩av在线| 免费看又黄又无码的网站| 女人色在线免费视频| 久久成人精品| 91在线观看免费观看| 国产sm主人调教女m视频| 欧美男同视频网| 欧美成人中文字幕在线| 日韩精品久久久久久久| 成人搞黄视频| 亚洲色无码播放| 999精品在线视频| 成人午夜亚洲| 91精品国产综合久久久久| aaaaaaaa毛片| 免费黄网在线观看| 一区二区三区在线观看视频| 日韩久久不卡| 国产一卡2卡3卡4卡网站免费| 最新亚洲激情| 国产精品美女在线观看| 精品人妻无码一区二区| 日韩精品欧美| 午夜精品一区二区三区在线视| 成人h动漫精品一区二区下载| 日韩精品一级| 久久精品国产91精品亚洲| 在线观看亚洲天堂| 日本在线一区二区三区| 亚洲天堂av在线播放| 麻豆changesxxx国产| 国产95亚洲| 日韩小视频在线| 久久久久久久久久久久久av| 精品国产乱子伦一区二区| 久久久精品视频成人| av网站中文字幕| 欧美美女在线直播| 免费av一区二区| 这里只有久久精品视频| 欧美激情黄色片| 国产精品成人v| 亚洲欧美日韩成人在线| 天堂va蜜桃一区二区三区| 国产精品二区在线观看| 天堂网.www在线资源| 久久蜜臀中文字幕| 日日橹狠狠爱欧美超碰| 国产区av在线| 欧洲精品在线观看| 亚洲av无码国产精品久久| 欧洲精品久久久久毛片完整版| 亚洲人精品午夜在线观看| 国产成人亚洲欧洲在线| 日韩综合精品| 91精品在线一区| 天堂免费视频| 国产精品热久久久久夜色精品三区| 欧美精品无码一区二区三区| 久久不射影院| 亚洲国产精品女人久久久| 国产午夜精品无码一区二区| 四虎国产精品免费观看| 成人黄色午夜影院| 国产超级av| 最新国产成人在线观看| 无码国产精品一区二区免费式直播 | 97视频热人人精品免费| 国产视频999| 日日日日影院| 一区二区三区精品在线观看| www.com日本| 99久久久国产| 高清欧美性猛交xxxx黑人猛交| 涩涩视频免费看| av欧美精品.com| 91av在线免费播放| 色爱综合区网| 日韩在线免费av| 六月丁香色婷婷| 91女人视频在线观看| 手机av在线免费| 亚洲成人va| 国产精品99导航| 免费吸乳羞羞网站视频| 午夜激情一区二区三区| 美国美女黄色片| 亚洲精品aaaaa| 国内精品一区二区|