| LCD1602ï@ʾ•r£¬¿‚ÊÇÇ°Ãæ¿ÕËĸñ£¬†ÎÔ~égµÄ¿Õ¸ñ•þ׃³É$£¬×Öĸ¡°A¡±•þ׃³É"E".·ÂÕæß\ÐЕr›]†–î}¡£ÄÄλÄÜŽÍæ½â›QÒ»ÏÂ#defin Ö÷³ÌÐòÖУº uchar disp[16]={"Number: "};//ï@ʾ”µ½M LCD_Init();//LCD³õʼ»¯ WriteChar(1,0,16,"No one Calls.... ");//µÚÒ»ÐÐï@ʾ¡°No one Calls.... ¡± Õ{ÓóÌÐò£º #include"delay.h" //Ìí¼ÓÑÓ•rº¯”µî^Îļþ #define LCD_PINDATA P0 //”µ“þ¶Ë¿Ú¶¨Áx P2 sbit RS = P1^4; //RS P0^7 sbit RW = P1^5; //RW P0^6 sbit E = P1^6; //E P0^5 /************************************************ ** º¯”µÃû·Q £º WriteCOMDATA(uchar LCD_DATA,uchar N) ** º¯”µ¹¦ÄÜ £º LCD1602Œ‘Ö¸Áî¡¢”µ“þº¯”µ ** Ý” Èë £º LCD_DATA:Ö¸Áî»òÕß”µ“þ N£ºÖ¸Áʽ߀ÊÇ”µ“þ·½Ê½ N=0•r£¬LCD_DATAžéÖ¸ÁN=1•r£¬LCD_DATAžé”µ“þ ** Ý” ³ö £º Ÿo ** Õf Ã÷ £º ************************************************/ void WriteCOMDATA(uchar LCD_DATA,uchar N) { Delay(10); E=1; RW=0; RS=N; LCD_PINDATA=LCD_DATA; E=0; } /************************************************ ** º¯”µÃû·Q £º void LCD_init(void) ** º¯”µ¹¦ÄÜ £º LCD1602³õʼ»¯²Ù×÷ ** Ý” Èë £º Ÿo ** Ý” ³ö £º Ÿo ** Õf Ã÷ £º ************************************************/ void LCD_Init(void) { WriteCOMDATA(0x01,0); Delay(500); WriteCOMDATA(0x38,0); Delay(10); WriteCOMDATA(0x06,0); Delay(10); WriteCOMDATA(0x0c,0); Delay(10); } /************************************************ ** º¯”µÃû·Q £ºvoid WriteChar(uchar Row,uchar Col,uchar Num,uchar *pBuffer) ** º¯”µ¹¦ÄÜ £ºÔÚÈÎÒâλÖÃŒ‘Ö¸¶¨‚€×Ö·û ** Ý” Èë £ºRow : ÒªŒ‘µÄ×Ö·ûËùÔÚµÄÐУ¬Ö»ÄÜžé1»ò2£» Col : ÒªŒ‘µÄ×Ö·ûËùÔÚµÄÁУ¬Ö»ÄÜžé0---15 Num : ÒªŒ‘×Ö·ûµÄ‚€”µ pbuffer : ÒªŒ‘×Ö·ûµÄÊ×µØÖ· ** Ý” ³ö £ºŸo ** Õf Ã÷ £º ************************************************/ void WriteChar(uchar Row,uchar Col,uchar Num,uchar *pBuffer) { uchar i; if(Row==1)Row=0x80+Col; else Row=0xC0+Col; WriteCOMDATA(Row,0); for(i=Num;i!=0;i--) { WriteCOMDATA(*pBuffer,1); pBuffer++; } } #endif |
| šgÓ¹âÅR (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |