1602×Ô¶¨Òå×Ö·ûÏÔʾÉãÊ϶ȷûºÅ ÏÂÔØ±¾ÎÄ

ÄÚÈÝ·¢²¼¸üÐÂʱ¼ä : 2026/5/9 5:14:07ÐÇÆÚÒ» ÏÂÃæÊÇÎÄÕµÄÈ«²¿ÄÚÈÝÇëÈÏÕæÔĶÁ¡£

1602 ×Ô¶¨Òå×Ö·ûÏÔʾÉãÊ϶ȷûºÅ

LCD1602 µÄÊý¾ÝдÈë¼° CGRAM µÄʹÓà 1.µ±Ê¹ÄÜ¶Ë E ÓÉ 1 ±äΪ 0 ʱ£¬Ö´ ÐÐдָÁÊý¾Ý±»Ð´Èë¡£ÀýÈ磬ÓûдÈëÊý¾Ý i µ½ DDRAM£ºvoid WDR(uchar i){ CheckBusy();//¼ìæ

LCD_RS=1;

LCD_RW=0; Delay();

LCD_EN=0; LCD_EN=1;

Delay(); Delay();

LCD_DATA=i;//Êý¾ÝÊä³öµ½¶¨Òå¶Ë¿Ú

LCD_EN=0;//ÕâÒ»²½²Å¿ªÊ¼Ð´Èëµ½ LCD Delay();}2.CGRAM1602 ÄÜ´æ´¢ 8 ¸ö×Ô ¶¨Òå×Ö·û£¬Õâ 8 ¸ö×Ô¶¨Òå×Ö·û´æ´¢¿Õ¼äµÄÊ×µØÖ··Ö±ðÊÇ£º

0X40,0X48,0X50,0X58,0X60,0X68,0X70,0X78¡£ÒÔ 0x40 À´Ëµ£¬ËüµÄ´æ´¢¿Õ¼äÈç ͼËùʾ£ºÈç¹ûʹÓà 5*7 ×Ö·ûµÄ»°£¬ÄÇô×î×ó 3 λºÍ×îºóÒ»ÐеÄÊý¾Ýʵ¼ÊÉÏÊÇû Óõģ¬Í¨³£Öà 0¡£Èç¹ûÒª×Ô¶¨ÒåÒ»¸ö¡æ·ûºÅ£¬ÄÇôÏÈÌî¿ò£¬Èçͼ£¨ºì 1 °× 0£©£º ÕâÑùÎÒÃǾ͵õ½Ã¿¸öµØÖ·ÐèҪдÈëµÄÊý¾Ý£ºµØÖ·£ºÊý¾Ý

0x40:0x160x41:0x090x42:0x08 ÆäËûÀàÍÆ¡£½«Õâ 8 ¸öÊý¾ÝдÈëµ½¶ÔÓ¦µØÖ·¼´¿É¡£ ʹÓÃʱ£¬ÏÈÈ·¶¨ÏÔʾµÄλÖã¬ÀýÈç 0X80£¬È»ºóÏò DDRAM дÈë×Ô¶¨Òå×Ö·ûµÄ ʹÓôúÂë¡£0X40-0X78 ¶ÔӦΪ 0X00-0X07¡£±¾ÀýÖУ¬ÏÈдÈëÖ¸Áî¼Ä´æÆ÷ 0X80 È·¶¨ÏÔʾλÖÃΪµÚÒ»ÐеÚÒ»¸ö£¬È»ºóдÈëÊý¾Ý¼Ä´æÆ÷ 0X00£¬ÕâÑù¾Í»áÔÚµÚÒ» ÐеÚÒ»¸öλÖÃÏÔʾ³ö¡æ·ûºÅ¡£ÒÔÏÂÊÇÔ´³ÌÐòÈç¹ûÍøÒ³¸ñʽµ¼Ö²¿·Ö×Ö·û¶ªÊ§Çë ÏÂÔØ c ³ÌÐòÔ´Îļþ£º51hei/f/avr1602c.rar#include #include #define u8 uchar unsigned char#define u16 uchar unsigned int#define uchar unsigned char#define uint

unsigned intuchar zi[]={0x16,0x09,0x08,0x08,0x08,0x09,0x06,0x00}; //×Ô¶¨Òå×Ö·û ÉãÊ϶È#include¡±1602.h¡±#include¡±18b20.h¡±void

port_init(){

PORTA=0xff;

DDRA=0xff; PORTB=0xff; DDRB=0xff; PORTC=0xff; DDRC=0xff; PORTD=0xff; DDRD=0x00;}void setzi() //°ÑÉ趨×Ö´æÈë CGRAM{ uchar i; writecmd(0x40); //Éè ÖõÚÒ»¸ö×ֵįðʼµØÖ· for(i=0;i<8;i++) { writedata(zi[i]); }}void show_temp(uint

k){ displayonechar(1,1,(k/100)+48); displayonechar(2,1,(k0/10)+48);

displayonechar(3,1,.); displayonechar(4,1,(k)+48);}void main(){uint TT; //ÏÔʾ µÄζÈÖµ port_init();delay(1000);init1602();displaychar(0,0,¡±Set zi Test¡±);setzi(); displayonechar(5,1,0x00); //0x00 ±íʾ 0x40 µØÖ·µÄÖµ while(1){TT=read_temper(); show_temp(TT);}}//---------------1602.h----------------#define

RS

PORTB_Bit0#define RW PORTB_Bit1#define EN PORTB_Bit2#define DATA PORTA#define

busy

0x80void

delay(uint

k){uint

i,j;for(i=0;i

__no_operation();

__no_operation();

EN=1;

__no_operation();

__no_operation(); DDRA=0x00; val=PINA; while(val&busy) { val=PINA; } EN=0; DDRA=0xff;}tips:¸Ðл´ó¼ÒµÄÔĶÁ£¬±¾ÎÄÓÉÎÒ˾ÊÕ¼¯Õû±à¡£½ö¹©²ÎÔÄ£¡