Ðề tài: CCS C for PIC16F877A
View Single Post
Old 03-06-2006, 07:22 PM   #51
nhh
Đệ tử 9 túi
 
nhh's Avatar
 
Tham gia ngày: Feb 2006
Bài gửi: 174
:
Send a message via Yahoo to nhh
Thêm một ví dụ khác, chương trình hiển thị dòng "HELLO PICVIETNAM!".
Code:
/*-----------------------------------------------------------------------------
* Author  	: nhh
* Date    	: 05/04/06
* Hardware	: PIC16F877A
* Compiler  	: CCS C 3.249
* Description   : Hien thi LCD
*=============================================================================*/
#include <16F877A.h>
#include <DEFS_16F877A.h>
#fuses XT,NOWDT,NOPROTECT,NOLVP
#use delay(clock=4000000)
#define RS  RD0
#define RW  RD1
#define E   RD2
#define LCD PORTB

const unsigned char key[]="HELLOPICVIETNAM!";
int i = 0;

/*Ham yeu cau goi lenh dieu khien LCD*/
void comnwrt(void)
{
 RS = 0;
 RW = 0;
 E  = 1;
 E  = 0;
 delay_ms(1);
}
/*Ham yeu cau goi du lieu hien thi len LCD*/
void datawrt(void)
{
 RS = 1;
 RW = 0;
 E  = 1;
 E  = 0;
 delay_ms(1);
}
/*Ham main*/
void main(void)
{
 set_tris_B(0);
 set_tris_D(0);
 delay_ms(100);   //   Tao tre 100ms cho LCD khoi dong

 LCD = 0x38;      //   Hai hang, ma tran dot 5*7, 8 bit interface
 comnwrt();
 LCD = 0x0C;      //   Bat hien thi, tat con tro
 comnwrt();
 LCD = 0x86;      //   Vi tri hang 1,cot 7
 comnwrt();
 while(true)
   {
       LCD = key[i];
       datawrt();
       delay_ms(100);
       i++;
       if(i==5)               //   Hien thi xong HELLO
         {
            LCD = 0xC3;       //   Vi tri hang 2,cot 4
            comnwrt();
            delay_ms(100);
         }
       if(i==16)              //   Hien thi xong PICVIETNAM!
         {
            delay_ms(1100);
            LCD = 0x01;       //   Xoa man hinh hien thi
            comnwrt();
            delay_ms(500);
            LCD = 0x86;       //   Vi tri hang 1,cot 7
            comnwrt();
            i = 0;
         }
   }
}
Hình Kèm Theo
File Type: bmp LCD_PVN.bmp (124.5 KB, 727 lần tải)
File Kèm Theo
File Type: rar lcd_pvn.rar (16.9 KB, 1426 lần tải)

thay đổi nội dung bởi: nhh, 07-07-2007 lúc 10:35 AM. Lý do: Update
nhh vẫn chưa có mặt trong diễn đàn