标题: LCD12864A.dll Proteus中文字库元件下载(ST7920)单片机控制DS18B20温度传感器 [打印本页]

作者: MJY_998    时间: 2019-1-3 08:44
标题: LCD12864A.dll Proteus中文字库元件下载(ST7920)单片机控制DS18B20温度传感器
使用51单片机控制DS18B20温度传感器检测热水器水温,并将水温值显示在八段数码管显示模块上,当温度处于35-45度之间时绿灯亮,否则红灯亮,并且蜂鸣器发出报警声。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


        之前在网上瞎逛突然看到一个帖子是在proteus中添加我们实物中常用的12864液晶。
1.解压附件,打开LCDTEST 仿真文件         2.
         3.直接确认

        4.复制压缩包内文件LCD12864A.dll到protues安装目录里面\Labcenter Electronics\Proteus 7 Professional\MODELS

        完成,可以仿真了!

单片机源程序如下:
  1. #include <config.h>

  2. //#include <1602.h>
  3. //#include <12864.h>
  4. #include <shumaguan.h>
  5. //#include <uart.h>
  6. #include <ds18b20.h>

  7. sbit beep=P2^3;        //蜂鸣器引脚
  8. sbit RL=P2^0;

  9. #define        N 20
  10. u8 print[N];//输出缓冲区
  11. u8 print2[N];//输出缓冲区


  12. void delay_ms(u16 x)//毫秒延时函数
  13. {u16 i,j;
  14. for(i=0;i<x;i++)
  15.     for(j=0;j<115;j++);
  16. }



  17. void main()
  18. {
  19. float n;
  20. u8 i,j;
  21. beep=1;
  22. //Init_COM(); //串口初始化
  23. //LCD1602_Init(); //1602初始化
  24. //LCD12864_Init();//12864初始化
  25. while(1)
  26. {   
  27.       Ds18b20_Tempchg();        //启动温度变换
  28.       n=Ds18b20_Gettemp();  //读取温度

  29.           for(i=50;i>0;i--)          Print_float_LED(n,2);        //输出到数码管
  30.               if(n>25||n<23)
  31.                   {
  32.                                   RL=0;
  33.                               beep=~beep;
  34.                   }
  35.                   else
  36.                   {
  37.                                   RL=1;
  38.                                 beep=1;
  39.                   }
  40.   
  41. //          sprintf(print,"Temp: %.1f",n);Print_str_COM(print);delay_ms(800);//输出到串口

  42. //          sprintf(print,"Temp: %.1f",n); LCD1602_disstr(print,0,0); delay_ms(800); //输出到1602
  43.       
  44. //    sprintf(print,"温度:%.1f",n);
  45. //          i=0;while(i<6){print2[i]=print[i];i++;}
  46. //          j=6;while(print[i]){print2[j]=0xa3;j++;print2[j]=print[i]+0x80;i++;j++;} print2[j]='\0';         //半角转全角
  47. //          LCD12864_disstr(print2,0,0); delay_ms(800);   //输出到12864

  48. }
  49. }
  50.         
复制代码

所有资料51hei提供下载:
http://www.51hei.com/bbs/dpj-50055-1.html
ds18b20.rar (315.67 KB, 下载次数: 967)



作者: vistayi    时间: 2019-3-14 22:57
可以的。。。好资料,51黑有你更精彩!!!
作者: hxw123    时间: 2019-4-23 10:38
谢谢   

作者: 喜东东    时间: 2019-6-7 16:48
在哪打开LCDTEST 仿真文件
作者: 小天才哥哥    时间: 2019-9-24 16:33
为什么我用这个显示不出来数字和字母的
作者: zzccll    时间: 2019-12-1 12:47
为什么我这显示000
作者: 川农刘德华    时间: 2019-12-1 16:46
为什么我添加了lcd12864a.dll,但是在proteus中还是搜不到lcd12864a这个元件
作者: frog108    时间: 2019-12-9 14:36
没有ASCII字库,无法显示字母和数字、
作者: pull1121    时间: 2020-2-17 21:00
厉害了 感觉很好用
作者: 18435211232    时间: 2020-3-1 22:03
小天才哥哥 发表于 2019-9-24 16:33
为什么我用这个显示不出来数字和字母的

是这个贴主找的12864的模型不好,他找的带字库的LCD12864A只能显示汉字而显示不了字符。我目前也在找解决办法
作者: guccinet    时间: 2020-3-30 13:30
谢谢楼主,正需要12864的资料
作者: zhangcw1973    时间: 2020-4-1 10:46
我用的是8.7不好用,没有显示
作者: xmb    时间: 2020-4-15 13:09
8.4的可以用吗?可以显示相关功能之内的吗
作者: 图啊图    时间: 2020-4-17 22:38
哪个版本proteus

作者: zouxuelong    时间: 2020-4-21 21:17
为啥只显示000 一共显示四排,别人都能用,为啥到我这就用不了了,难受

作者: Carlos-2020    时间: 2020-4-24 09:51
WSM模型lcd12864A.DLL没有为U4找到gle=0x00000002   是怎么回事?
作者: 宿沫无心    时间: 2020-4-24 20:56
好用,感谢
作者: Do0815    时间: 2020-4-27 14:49
谢谢,有用
作者: 胖狗    时间: 2020-4-30 22:42
我觉得很好
作者: 零点xu    时间: 2020-5-13 11:09
只能显示汉字嘛?
作者: Etienne    时间: 2020-5-14 14:36
我的也是显示四排000,请问怎么解决?
作者: xuyaqi    时间: 2020-5-16 20:13
你能把仿真效果发个图吗?
作者: zxldpj    时间: 2020-5-19 09:37
非常好
作者: weitson    时间: 2020-9-24 15:23
这个资料非常不错
作者: 寸之123    时间: 2020-10-14 15:05
第一步的Lcdtest 为啥我的打开压缩包里面没有
作者: 有机后浪    时间: 2021-1-4 02:05
我的也显示000,根本没有汉字,瞎搞

作者: 毁灭魔兽1    时间: 2021-5-10 09:42
我想问一下 根据仿真能不能做出实物
作者: rose骑士    时间: 2022-5-13 13:53
谢谢分享 需要里面一个dll文件
作者: RileyWWQ    时间: 2022-5-15 16:51

谢谢分享 需要里面一个dll文件
作者: RileyWWQ    时间: 2022-5-15 16:52

只能显示汉字嘛?
作者: RileyWWQ    时间: 2022-5-15 16:54
可用proteus使用,资料很给力,谢谢楼主
作者: Manchester    时间: 2023-2-5 20:25
可用proteus使用,资料很给力,谢谢楼主
作者: SHIJINWANG    时间: 2024-4-24 21:13
为什么12864A显示不了?显示几个000是什么意思?
作者: 清水哥哥    时间: 2025-5-4 22:02
zouxuelong 发表于 2020-4-21 21:17
为啥只显示000 一共显示四排,别人都能用,为啥到我这就用不了了,难受

你好 我也是 解决了吗




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1