C51PG12864fproteus仿真

上传人:cn****1 文档编号:514048074 上传时间:2024-01-30 格式:DOC 页数:6 大小:296KB
返回 下载 相关 举报
C51PG12864fproteus仿真_第1页
第1页 / 共6页
C51PG12864fproteus仿真_第2页
第2页 / 共6页
C51PG12864fproteus仿真_第3页
第3页 / 共6页
C51PG12864fproteus仿真_第4页
第4页 / 共6页
C51PG12864fproteus仿真_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《C51PG12864fproteus仿真》由会员分享,可在线阅读,更多相关《C51PG12864fproteus仿真(6页珍藏版)》请在金锄头文库上搜索。

1、这个别人就是用AVR单片机仿的,我只会C51就把它的仿真图与 程序改了下,调试了可以显示。因为我也没有PG12864f的液晶资料,不过大家可以对着程序理解下,其实原理与1206有点类似。仿真总图:LI1XTAL2FSI|曲eKFKF冲 e j r5Ir-Ol33期:Kg36D3I 35兰:一Fw / U2Ui pi nr*n- MM M i 间的OH pgPO侦口 何3叱PO阿用 PC ”0lCD1W1:ft IFKLkc-34 SJ2.J ZKWU 91 Yi Iheaz 8Hxh xtH 76 V 5 Mctu 6Fuf vrfu WELeGire STdti TJCS cs$c 2ER

2、t r4T IP wFciF? Q - & A J HNlrli e 二寺 -石 J ?$母顺 P21W3 P2 L-A1 - P2J1 I P24JS1 P75Jftf3 曲AJA個 P? F.A15pinpi jPSjajfiMEi PB.inm F SH INTO : INIPMHBP3 5JT1Pdb畑PS7竝旳:;irnkl单片机接线图12864液晶接线:#inelude #defi ne uchar un sig ned char#defi ne uint un sig ned intsbit wr=P2A0;sbit rd=P2Al;sbit ce=P2A2;sbit cd=P2

3、A3;sbit rst=P2A4;void delay( uint t);void in it_12864();void write_data(uchar dat);void write_cmd1(uchar cmd);void write_cmd2(uchar dat,uchar cmd);void write_cmd3(uchar data1,uchar data2,uchar cmd); uchar read_status();void check_status();void clear_scree n();void display_char(uchar x,uchar y,uchar

4、ch);int mai n()uchar i,j=0;init_12864();for(i=0;i128;i+)display_char(i/16,i%16,0+i);clear_screen();/处在 x y 处显示 chvoid display_char(uchar x,uchar y,uchar ch)/x 0-7y 0-15write_cmd3(x*2)4)+y),0x00,0x24);/ 地址指针位置 write_cmd2(ch-32,0xc0);/t6963c 字符表与 ASCII 差 32 void delay(uint t)uint i,j;for(i=0;it;i+)for

5、(j=0;j114;j+);void init_12864()P2=0Xff;P1=0Xff;rst=1;delay(10);rst=0;wr=1;rd=1;ce=1;cd=1;rst=1;check_status(); write_cmd3(0x01,0x00,0x21);/ 光标指针设置check_status();write_cmd3(0x00,0x00,0x40);/ 文本区首地址check_status();write_cmd1(0x80);/ 显示方式设置 ,正常显示check_status();write_cmd1(0x94);/ 。显示状态设置 1 0 1 0 N3 N2 N1

6、 N0文本显示 ,光标不显示 ,不闪烁/write_cmd1(0x98);/ 图形方式显示 , 不显示字母 ,只打点check_status();write_cmd1(0xa1);/ 光标形状设置 1 0 1 0 0 N2 N1 N0void clear_screen()uint i;write_cmd3(0x00,0x00,0x24);/ 地址指针设置 check_status();write_cmd1(0xb0);/ 数据自动写 ,每写一次 ,地址指针自动加一 check_status();for(i=0;i8192;i+)check_status();write_data(0X00);c

7、heck_status();write_cmd1(0xb2);/ 数据自动写结束void write_data(uchar dat)rd=1;cd=0;ce=0;wr=0;P0=dat;delay(10);wr=1;ce=1;cd=1;void write_cmd1(uchar cmd)rd=1;cd=1;ce=0;wr=0;P0=cmd;delay(10);wr=1;ce=1;cd=0;/先送参数 ,再送指令void write_cmd2(uchar dat,uchar cmd)check_status(); write_data(dat); check_status();write_cmd

8、1(cmd);void write_cmd3(uchar data1,uchar data2,uchar cmd) check_status(); write_data(data1);check_status(); write_data(data2);check_status(); write_cmd1(cmd);uchar read_status()uchar status;P0=0;端口 b置为输入rd=0;wr=1;ce=0;cd=1;status=P1;return status;void check_status()uchar s;P0=0Xff;/ 端口 b 置为输出while(s&0x03)!=0x03)s=read_status();等待位1,2置为。命令读写准备好。数据读写准备好

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号