求教pic

2019-03-25 19:33发布

本人刚接触pic单片机,现在是想用pic18f6520芯片,在LCD12864上显示几个汉字,急求可以直接调试的c语言程序,不甚感谢.... 一下是我的程序,求指导错误之处: #include <PIC18FXX20.H>#define uint unsigned int #define uchar unsigned char #define CS RA4 #define SID RC0 #define CLK RC1 void write_comm(char cmd_dat) { uint i,j,k; CS=1;SID=1; for(i=0;i&lt;5;i++) { CLK=0;CLK=1; } CLK=0;SID=0;CLK=1; CLK=0;SID=0;CLK=1; CLK=0;SID=0;CLK=1; for(j=7;j&gt;3;j--) { CLK=0;SID=cmd_dat^j;CLK=1; } CLK=0;SID=0;CLK=1; for(i=0;i&lt;3;i++) { CLK=0;CLK=1; } for(j=3;j&gt;=0;j--) { CLK=0;SID=cmd_dat^j;CLK=1; } CLK=0;SID=0;CLK=1; for(i=0;i&lt;3;i++) { CLK=0;CLK=1; } CLK=0;CS=0; delay(); } void write_dat(char dat_dat) { uint i,j,k; CS=1;SID=1; for(i=0;i&lt;5;i++) { CLK=0;CLK=1; } CLK=0;SID=0;CLK=1; CLK=0;SID=1;CLK=1; CLK=0;SID=0;CLK=1; for(j=7;j&gt;3;j--) { CLK=0;SID=dat_dat^j;CLK=1; } CLK=0;SID=0;CLK=1; for(i=0;i&lt;3;i++) { CLK=0;CLK=1; } for(j=3;j&gt;=0;j--) { CLK=0;SID=dat_dat^j;CLK=1; } CLK=0;SID=0;CLK=1; for(i=0;i&lt;3;i++) { CLK=0;CLK=1; } CLK=0;CS=0; delay(); } int delay() { uint i,j,k; for(i=0;i&lt;10000;i++); for(j=0;j&lt;10000;j++); } void main() { uint i,j,k; TRISA=0x10; TRISC=0x03; ADCON0=0x01; ADCON1=0x0f; ADCON2=0x8f; ADON=1; delay(); delay(); write_comm(0x30); write_comm(0x30); delay(); write_comm(0x0c); delay(); write_comm(0x01); delay(); write_comm(0x06); delay(); write_comm(0x84); write_dat(0xD6); write_dat(0xE12); write_comm(0x36); for(j=0;j&lt;32;j++) { write_comm(0x80+j); write_comm(0x80); } while(1); } 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
huaping0357
1楼-- · 2019-03-26 00:40
 精彩回答 2  元偷偷看……
shipsong
2楼-- · 2019-03-26 04:39
#include
#define uint unsigned int
#define uchar unsigned char
#define CS RA4
#define SID RC0
#define CLK RC1

void write_comm(char cmd_dat)
{ uint i,j,k;
CS=1;
SID=1;
for(i=0;i<5;i++) { CLK=0;CLK=1; }
CLK=0;SID=0;CLK=1;
CLK=0;SID=0;CLK=1;
CLK=0;SID=0;CLK=1;
for(j=7;j>3;j--){ CLK=0;SID=cmd_dat^j;CLK=1; }
CLK=0;SID=0;CLK=1;
for(i=0;i<3;i++) { CLK=0;CLK=1; }
for(j=3;j>=0;j--) { CLK=0;SID=cmd_dat^j;CLK=1; }
CLK=0;SID=0;CLK=1;
for(i=0;i<3;i++) { CLK=0;CLK=1; }
CLK=0;CS=0;
delay();
}

void write_dat(char dat_dat)
{ uint i,j,k;
CS=1;SID=1;
for(i=0;i<5;i++) { CLK=0;CLK=1; }
CLK=0;SID=0;CLK=1;
CLK=0;SID=1;CLK=1;
CLK=0;SID=0;CLK=1;
for(j=7;j>3;j--) { CLK=0;SID=dat_dat^j;CLK=1; }
CLK=0;SID=0;CLK=1;
for(i=0;i<3;i++) { CLK=0;CLK=1; }
for(j=3;j>=0;j--) { CLK=0;SID=dat_dat^j;CLK=1; }
CLK=0;SID=0;CLK=1;
for(i=0;i<3;i++) { CLK=0;CLK=1; }
CLK=0;CS=0; delay();
}

int delay()
{ uint i,j,k;
for(i=0;i<10000;i++);
for(j=0;j<10000;j++);
}

void main()
{ uint i,j,k;
TRISA=0x10; TRISC=0x03;
ADCON0=0x01; ADCON1=0x0f; ADCON2=0x8f; ADON=1;
delay();
delay();
write_comm(0x30);
write_comm(0x30);
delay();
write_comm(0x0c);
delay();
write_comm(0x01);
delay();
write_comm(0x06);
delay();
write_comm(0x84);
write_dat(0xD6);
write_dat(0xE12);
write_comm(0x36);
for(j=0;j<32;j++){ write_comm(0x80+j); write_comm(0x80); }

while(1);

}

一周热门 更多>