找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3573|回复: 13
打印 上一主题 下一主题
收起左侧

跪求,用不带字库12864写时钟程序!

  [复制链接]
跳转到指定楼层
楼主
ID:61311 发表于 2014-5-7 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
群里的几个例子都是带字库的,手上没有带字库的屏,请高指点,CS1和CS2怎么用,跟1602用法有区别吗?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:60839 发表于 2014-5-15 11:13 | 只看该作者
性质差不多、、、但是也有很多不同的地方

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:61311 发表于 2014-5-15 21:57 | 只看该作者
求硬件是路图?
回复

使用道具 举报

地板
ID:61165 发表于 2014-5-18 16:30 | 只看该作者
#define Lcm P1  sbit p_csl=P2^4; sbit p_csr=P2^3; sbit p_di=P2^2; sbit p_rw=P2^1; sbit p_e=P2^0; sbit p_rst=P2^7;   void delay(unsigned int k)         {                 unsigned int i;     for(;k>0;k--)                 for(i=0;i<124;i++); }  //Lcm忙判断 void lcd_busy(void) {        p_di=0;     p_rw=1;    /*Lcm=0xff;     while(1)      {  p_e=1;         if(Lcm<0x80)          break;         p_e=0;      }     p_e=0; */ } //写指令到Lcm void wcode(unsigned char c,unsigned char csl,unsigned char csr) {        p_csl=csl;     p_csr=csr;     lcd_busy();     p_di=0;     p_rw=0;     Lcm=c;//将变量C赋予Lcm     p_e=1;     p_e=0;  } //写数据到Lcm子函数 void wdata(unsigned char c,unsigned char csl,unsigned char csr) {        p_csl=csl;     p_csr=csr;     lcd_busy();     p_di=1;     p_rw=0;                //写     Lcm=c;     //将变量C赋予Lcm     p_e=1;           //下降沿     p_e=0; } //设定起始行 void set_startline(unsigned char i) {        i=0xc0+i;     wcode(i,1,1); }  //定位X方向,Y方向 void set_xy(unsigned char x,unsigned char y) {        x=x+0x40;     y=y+0xb8;     wcode(x,1,1);     wcode(y,1,1); }  //屏幕开启、关闭 void dison_off(unsigned char o) {        o=o+0x3e;  //o为1为开,为0是关     wcode(o,1,1); }  //复位子函数 void reset() {            p_rst=0;     delay(20);     p_rst=1;    delay(20); }  //Lcm初始化 void lcd_init(void) {        unsigned char x,y;     reset();          dison_off(0);     for(y=0;y<8;y++)       { for(x=0;x<128;x++)          lw(x,y,0);       }     dison_off(1);    set_startline(0); }  //写数据到Lcm void lw(unsigned char x,unsigned char y,unsigned char dd)           //dd代码 {        if(x>=64)      { set_xy(x-64,y);        wdata(dd,0,1);       }      else           { set_xy(x,y);             wdata(dd,1,0);           } }  /*===============================================================================================     功能:显示汉字函数         说明:1. xx是字显示的列数,共8列               2.yy显示的页(共8页,只给四列就行),只要给一个页的地址与yy相邻的下一页就会自动显示               3.n是要显示第几个字                   4.纵向取模下高位,数据排列:从上到下从左到右 ================================================================================================*/ #include"HZ.H"                   void display_Hz(unsigned char xx,unsigned char yy,unsigned char g[2])  //xx是列,yy是页 {     unsigned char i,j,dx;         for(j = 0;j < 3;j++)         if ((GB16[j].Index[0]==g[0])&&(GB16[j].Index[1]==g[1])) //判断第k个汉字的编码是否与输入汉字g[2]相等          {             for(i=0;i<16;i++)             {dx=GB16[j].Msk[2*i];      //2*i为选择偶数行,因其为列扫描              lw(xx+i,yy,dx);                   dx = GB16[j].Msk[(2*i+1)];  //(2*i+1)为选择奇数行,因其为列扫描                  lw(xx+i,yy+1,dx);                         }           }           } /*=============================================================================================     功能:显示数字或英语函数         说明:1. xx是字显示的列数,共16列               2.yy显示的页(共8页,只给四列就行行),只要给一个页的地址与yy相邻的下一页就会自动显示               3.n是要显示第几个字                   4.纵向取模下高位,数据排列:从上到下从左到右 ===============================================================================================*/ #include"ASCII.H" void display_Ez(unsigned char xx,unsigned char yy,unsigned char Ascii_Char)   //显示数字或英语 {  unsigned char i,dx;      for(i=0;i<16;i++)      {                         dx=Font8x16[(Ascii_Char-0x20)*16+i];  //提取c字符的第i个字节以,c减去0x20是由于Ascii码库中的0~1f被去掉                 if(i<8)                 lw(xx+i,yy,dx);                 else                 lw(xx+i-8,yy+1,dx);           }

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:61165 发表于 2014-5-18 16:32 | 只看该作者
实践真是程序没有问题 ,就是不知道怎么发的工整点

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

6#
ID:62064 发表于 2014-6-17 19:24 | 只看该作者
真的蛮好的哦
回复

使用道具 举报

7#
ID:63365 发表于 2014-6-27 16:51 | 只看该作者
不好说
回复

使用道具 举报

8#
ID:63365 发表于 2014-6-27 16:56 | 只看该作者
性质差不多、、、
回复

使用道具 举报

9#
ID:61311 发表于 2014-11-28 14:40 | 只看该作者
还是谢了!
回复

使用道具 举报

10#
ID:78901 发表于 2015-6-26 20:33 | 只看该作者
看不懂
回复

使用道具 举报

11#
ID:82588 发表于 2015-6-29 19:32 | 只看该作者
刚开始我也遇到你同样的问题,但不知道你用的哪种芯片的单片机,这个程序是有区别了,我是AVR 正在写
12864的 时钟 万年历 温度  有设置代码,还没最后完成   有空交流下

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

12#
ID:84759 发表于 2015-7-4 16:30 | 只看该作者
按时序图来写就可以了

评分

参与人数 1黑币 +35 收起 理由
admin + 35 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

13#
ID:146910 发表于 2016-11-21 22:43 | 只看该作者
看看这个有用吗

Lcd12864大时钟万年历 农历生肖温度.rar

43.27 KB, 下载次数: 15

回复

使用道具 举报

14#
ID:111634 发表于 2016-11-22 11:07 | 只看该作者
14年5月的帖子!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表