模吧

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

6176查看 | 24回复

[DIY交流] 12864 显示ADC结果

[复制链接]
发表于 2017-1-8 23:57:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 ldy7474 于 2017-1-9 00:09 编辑

前段时间无意中驱动了9.9的12864
这几天一直在研究  
早期的单纯的显示汉子图片
是比较简单的运用了为了
让其更具有实用价值
今天用它来学习ADC
计算电压值



12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:ldy7474 6925
12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:ldy7474 6715
12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:ldy7474 5303
12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:ldy7474 4961

#include <reg51.h>
#include <intrins.h>
#include "12864Data.h"
#include "stc12c.h"
#include "lcd12864.h"
#include "ADC.h"
#define u8 unsigned char
#define u16  unsigned int
   
/*******萝莉控LCD引脚***************/
/*
sbit CS=P0^6;
sbit RST=P0^7;
sbit RS=P4^6;
sbit SDA=P4^5;
sbit SCK=P4^4;
*/
u16 CH1,CH2,CH3,CH4,CH5,CH6,CH7,V1;//
sbit LEDA=P2^5;//LCD背光
u16 adc;
u8 lcd[10];//显示缓存


void init ();           //硬件初始化



void main(void)
{       
       
        init ();
        LEDA=1;
        delay_n_10us(100);//延时100ms等待稳定运行
       
        InitLCD();
        ClearScreen();
        Display128x64(lcd_128x64);
       
        lcd[6]=' ';
        lcd[7]=' ';
        lcd[8]=' ';
        lcd[9]=' ';
    while(1)
    {
          Display8x16(1,0,"L");
          Display8x16(1,8,"D");
          Display8x16(1,16,"Y");

          Display5x7(1,52,"0");
          Display5x7(1,60,"B");
          Display5x7(1,68,"T");

          Display8x16(2,28,"F");
          Display8x16(2,36,"2");
          Display8x16(2,44,"2");

          Display8x16(2,74,"0");
          Display8x16(2,82,"0");
          Display8x16(2,90,":");
          Display8x16(2,98,"0");
          Display8x16(2,106,"0");

          CH1=1+adcs(7);//*CH1代表7通道检测到的ADC值**/
          //V1=V1*2;
          CH1=CH1/204.8*10000;
          
          lcd[0]= CH1/10000+48;
          lcd[1]='.';
      lcd[2]= CH1%10000/1000+48;
             
      lcd[3]= CH1%1000/100+48;
      lcd[4]= CH1%100/10+48;
      
      Display5x7(6,82,lcd);
          Display5x7(6,106,"V");

          CH2=1+adcs(6);//*CH2代表6通道检测到的ADC值**/          
          CH2=CH2/204.8*10000;          
          lcd[0]= CH2/10000+48;
          lcd[1]='.';
      lcd[2]= CH2%10000/1000+48;             
      lcd[3]= CH2%1000/100+48;
      lcd[4]= CH2%100/10+48;      
      Display5x7(5,82,lcd);
          Display5x7(5,106,"V");

          CH3=adcs(4);//*CH3代表4通道检测到的ADC值**/
          lcd[0]= CH3/1000+48;          
      lcd[1]= CH3%1000/100+48;             
      lcd[2]= CH3%100/10+48;
      lcd[3]= CH3%1000%10+48;
      lcd[4]=' ';
          Display5x7(5,30,lcd);
          Display5x7(5,8,"C");
          Display5x7(5,14,"H");
      Display5x7(5,20,"3");
          
          

          CH4=1+adcs(5);//*CH4代表5通道检测到的ADC值**/
          CH4=CH4/204.8*10000;          
          lcd[0]= CH4/10000+48;
          lcd[1]='.';
      lcd[2]= CH4%10000/1000+48;             
      lcd[3]= CH4%1000/100+48;
      lcd[4]= CH4%100/10+48;      
      Display5x7(6,30,lcd);
          Display5x7(6,54,"V");
          Display5x7(6,8,"C");
          Display5x7(6,14,"H");
          Display5x7(6,20,"4");

          V1=1+adcs(8);//*V1代表8通道检测到的ADC值**/
          V1=V1/204.8*10000;  
          lcd[0]= V1/10000+48;
          lcd[1]='.';
      lcd[2]= V1%10000/1000+48;             
      lcd[3]= V1%1000/100+48;
      lcd[4]= V1%100/10+48;
      
      Display5x7(1,82,lcd);
          Display5x7(1,106,"V");

          

          
          
          

          

    }
        
    }

void init ()           //硬件初始化
{             
    LEDA=0;
    P4SW=0x70;           //允许P4 IO
    P2M0=0x20;           //推挽点亮背光
}

 楼主| 发表于 2017-1-9 00:35:37 | 显示全部楼层
不得不说12864在单片机外设中算是比较好玩的  小玩意
有个显示器就是不一样  可以把很多参数借助屏幕显示出来
让枯燥的学习变得更有意思
顺带着把模块化编程也耍了一下    很多直接调用的函数直接封装成文件  改下文件后缀名之后调用起来更方便了
下一步准备把屏幕上的时间用定时器的办法显示出来
接着还要把按键利用起来做出可以翻页的菜单  哎时间不够用每天都搞到很晚才休息好困
发表于 2017-1-9 01:27:41 | 显示全部楼层
顶帖不需要理由12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:huangzhisen 7059
发表于 2017-1-9 07:19:04 | 显示全部楼层
顶一下楼主
发表于 2017-1-9 07:38:47 | 显示全部楼层
顶你一个
发表于 2017-1-9 07:43:42 | 显示全部楼层
楼主辛苦,必须顶一下
发表于 2017-1-9 08:12:02 | 显示全部楼层
看不懂
发表于 2017-1-9 08:18:58 | 显示全部楼层
说实话,光靠签到升级太慢,所以我复制了这一段话遇贴就回,回一次最少也得15个经验,还能帮你不沉贴!
发表于 2017-1-9 08:30:47 | 显示全部楼层
不错不错 可是我早就不想自己折腾了
发表于 2017-1-9 10:28:57 | 显示全部楼层
显示个电压用了几十行代码!不累吗,用个printf不好吗?
 楼主| 发表于 2017-1-9 12:32:31 | 显示全部楼层
useisbb 发表于 2017-1-9 10:28 12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:ldy7474 4765
显示个电压用了几十行代码!不累吗,用个printf不好吗?

printf不会用欢迎赐教  
程序中用到的很多代码都是
复制粘贴,东拼西凑  
然后编驿输出下载

发表于 2017-1-9 13:51:17 | 显示全部楼层
ldy7474 发表于 2017-1-9 12:32 12864  显示ADC结果 lcd12864显示,12864滚动显示,12864不显示,lcd,萝莉控 作者:useisbb 5363
printf不会用欢迎赐教  
程序中用到的很多代码都是
复制粘贴,东拼西凑  

添加stdio标准库
重映射putc函数
就可以调用了
发表于 2017-1-9 19:37:41 | 显示全部楼层
漂亮!!!!!
发表于 2017-1-9 20:48:42 | 显示全部楼层
路过,帮顶→_→
发表于 2017-1-9 22:26:04 | 显示全部楼层
怎么做到的啊 好牛掰
发表于 2017-10-9 00:00:15 | 显示全部楼层
帮顶              
发表于 2017-11-16 19:47:12 | 显示全部楼层
顶                        
发表于 2018-10-25 22:23:57 | 显示全部楼层
说实话,光靠签到升级太慢,所以我复制了这一段话遇贴就回,回一次最少也得15个经验,还能帮你不沉贴!
回复 支持 反对

使用道具 举报

发表于 2018-11-25 23:23:06 | 显示全部楼层
说实话,光靠签到升级太慢,所以我复制了这一段话遇贴就回,回一次最少也得15个经验,还能帮你不沉贴!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|关于模吧|APP下载|广告报价|小黑屋|手机版|企业会员|商城入驻|联系我们|模吧 ( 冀公网安备13080502000084号 )

© 2013-2020 Moz8.com 模吧,玩出精彩!