高精度数字电压表.doc

上传人:rrsccc 文档编号:9118457 上传时间:2021-02-03 格式:DOC 页数:16 大小:396.50KB
返回 下载 相关 举报
高精度数字电压表.doc_第1页
第1页 / 共16页
高精度数字电压表.doc_第2页
第2页 / 共16页
高精度数字电压表.doc_第3页
第3页 / 共16页
高精度数字电压表.doc_第4页
第4页 / 共16页
高精度数字电压表.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《高精度数字电压表.doc》由会员分享,可在线阅读,更多相关《高精度数字电压表.doc(16页珍藏版)》请在三一文库上搜索。

1、 高精度数字电压表 本文采用液晶12864与16位的ADC TLC1864制作了高精度的数字电压表,量程为050V,精度为1mV。并有着华丽的工作界面,下面来看一下吧!/12864的驱动程序/*12864.h*/#include /Define the register command code #define Disp_On 0x3f#define Disp_Off 0x3e#define Col_Add 0x40#define Page_Add 0xb8#define Start_Line 0xc0#define Lcd_Bus P0 /MCU P1 LCMsbit cs1=P24; /M

2、aster chip enablesbit cs2=P23; /Slave chip enablesbit Enable=P20; /6800 mode Enable singlesbit Di=P22; /Data or Instrument Selectsbit RW=P21; /Write or Readsbit Lcd_Rst=P25; /Lcm resetunsigned char k;/*-取模设定为“从左到右从上到下”,“纵向8点下高位”-*/char code hying=/欢, 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10,0x0F,0xE8

3、,0x08,0x08,0x28,0x18,0x00,0x00, 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30,0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00,/迎, 0x40,0x42,0x44,0xC8,0x00,0xFC,0x04,0x02,0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00, 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41,0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00,/使, 0x40,0x20,0xF8,0x07

4、,0x04,0xF4,0x14,0x14,0x14,0xFF,0x14,0x14,0x14,0xF6,0x04,0x00, 0x00,0x00,0xFF,0x00,0x80,0x43,0x45,0x29,0x19,0x17,0x21,0x21,0x41,0xC3,0x40,0x00,/用, 0x00,0x00,0xFE,0x22,0x22,0x22,0x22,0xFE,0x22,0x22,0x22,0x22,0xFF,0x02,0x00,0x00, 0x80,0x60,0x1F,0x02,0x02,0x02,0x02,0x7F,0x02,0x02,0x42,0x82,0x7F,0x00,0x0

5、0,0x00,/数, 0x10,0x92,0x54,0x30,0xFF,0x50,0x94,0x32,0xD8,0x17,0x10,0x10,0xF0,0x18,0x10,0x00, 0x02,0x82,0x4E,0x33,0x22,0x52,0x8E,0x40,0x23,0x14,0x08,0x16,0x61,0xC0,0x40,0x00,/字, 0x00,0x10,0x0C,0x24,0x24,0x24,0x25,0x26,0xA4,0x64,0x24,0x04,0x14,0x0C,0x00,0x00, 0x02,0x02,0x02,0x02,0x02,0x42,0x82,0x7F,0x0

6、2,0x02,0x02,0x02,0x02,0x03,0x02,0x00 ;char code dianya=/电, 0x00,0xF8,0x48,0x48,0x48,0x48,0xFF,0x48,0x48,0x48,0x48,0xFC,0x08,0x00,0x00,0x00, 0x00,0x07,0x02,0x02,0x02,0x02,0x3F,0x42,0x42,0x42,0x42,0x47,0x40,0x70,0x00,0x00,/压, 0x00,0x00,0xFE,0x02,0x82,0x82,0x82,0x82,0xFE,0x82,0x82,0x82,0xC3,0x82,0x00,0

7、x00, 0x40,0x30,0x0F,0x40,0x40,0x40,0x40,0x40,0x7F,0x40,0x42,0x44,0x4C,0x60,0x40,0x00,/表, 0x80,0x84,0x94,0x94,0x94,0x94,0x94,0xFF,0x94,0x94,0x94,0x94,0x96,0xC4,0x80,0x00, 0x10,0x10,0x08,0x08,0x04,0xFE,0x41,0x22,0x04,0x08,0x14,0x12,0x20,0x60,0x20,0x00 ;char code meili=/美, 0x80,0x88,0xA8,0xA8,0xA9,0xAA

8、,0xAE,0xF8,0xAC,0xAA,0xAB,0xA8,0xAC,0x88,0x80,0x00, 0x80,0x84,0x84,0x44,0x44,0x24,0x14,0x0F,0x14,0x24,0x24,0x44,0x46,0xC4,0x40,0x00,/丽, 0x02,0x02,0xF2,0x12,0x12,0x12,0xF2,0x02,0xF2,0x12,0x12,0x12,0xFA,0x13,0x02,0x00, 0x00,0x00,0xFF,0x01,0x42,0x80,0x7F,0x00,0xFF,0x01,0x42,0x80,0x7F,0x00,0x00,0x00,/洛,

9、 0x10,0x22,0x64,0x0C,0x80,0x10,0x08,0x8F,0x54,0x24,0x54,0x8C,0x04,0x00,0x00,0x00, 0x04,0x04,0xFE,0x01,0x04,0x02,0xFF,0x42,0x42,0x42,0x42,0x42,0xFF,0x03,0x01,0x00,/阳, 0x00,0xFE,0x02,0x22,0xDA,0x06,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00, 0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0xFF,0x40,0x40,0x4

10、0,0x40,0x40,0xFF,0x00,0x00,/,, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x46,0x2F,0x1F,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/魅, 0x00,0xFC,0x26,0xFD,0x24,0xFE,0x04,0x48,0x48,0x48,0xFF,0x48,0x4C,0x68,0x40,0x00, 0x40,0x21,0x19,0x07,0x3

11、D,0x41,0x50,0x44,0x42,0x41,0x5F,0x41,0x42,0x46,0x70,0x00,/力, 0x00,0x10,0x10,0x10,0x10,0x10,0xFF,0x10,0x10,0x10,0x10,0x10,0xF8,0x10,0x00,0x00, 0x00,0x80,0x80,0x80,0x60,0x18,0x07,0x00,0x20,0x40,0x80,0x40,0x3F,0x00,0x00,0x00, /洛, 0x10,0x22,0x64,0x0C,0x80,0x10,0x08,0x8F,0x54,0x24,0x54,0x8C,0x04,0x00,0x0

12、0,0x00, 0x04,0x04,0xFE,0x01,0x04,0x02,0xFF,0x42,0x42,0x42,0x42,0x42,0xFF,0x03,0x01,0x00,/阳, 0x00,0xFE,0x02,0x22,0xDA,0x06,0x00,0xFE,0x82,0x82,0x82,0x82,0x82,0xFF,0x02,0x00, 0x00,0xFF,0x08,0x10,0x08,0x07,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0xFF,0x00,0x00,/,, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0

13、0,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x46,0x2F,0x1F,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/欢, 0x04,0x34,0xC4,0x04,0xC4,0x3C,0x20,0x10,0x0F,0xE8,0x08,0x08,0x28,0x18,0x00,0x00, 0x10,0x08,0x06,0x01,0x82,0x8C,0x40,0x30,0x0C,0x03,0x0C,0x10,0x60,0xC0,0x40,0x00,/迎, 0x40,0x42,0x4

14、4,0xC8,0x00,0xFC,0x04,0x02,0x82,0xFC,0x04,0x04,0x04,0xFE,0x04,0x00, 0x00,0x40,0x20,0x1F,0x20,0x47,0x42,0x41,0x40,0x7F,0x40,0x42,0x44,0x63,0x20,0x00,/您, 0x40,0x20,0x10,0xFC,0x23,0x10,0x8C,0x67,0x04,0xF4,0x04,0x44,0x94,0x8C,0x00,0x00, 0x40,0x30,0x00,0x77,0x80,0x81,0x88,0x92,0xB4,0x83,0x80,0xE0,0x00,0x

15、11,0x60,0x00,/!, 0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0xFE,0xFE,0x7C,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x3B,0x3B,0x10,0x00,0x00,0x00,0x00,0x00,0x00;char code lcheng=/量, 0x10,0x10,0xDE,0x52,0x52,0xD6,0x5A,0x52,0x52,0xDE,0x10,0x10, 0x10,0x10,0x17,0x15,0x15,0x1F,0x15,0x15,

16、0x15,0x17,0x10,0x10,/程, 0x14,0xD4,0xFC,0x92,0x12,0x40,0x5E,0x52,0xD2,0x52,0x5E,0x40, 0x03,0x00,0x1F,0x00,0x11,0x10,0x12,0x12,0x1F,0x12,0x1A,0x10, ;char code jingdu=/精, 0x28,0xB0,0xFE,0x28,0x20,0x44,0xD4,0x54,0x7E,0x54,0xD4,0x44, 0x03,0x00,0x1F,0x01,0x00,0x00,0x1F,0x05,0x05,0x15,0x1F,0x00,/度, 0x00,0x

17、00,0xFC,0x14,0x14,0x7C,0x56,0x54,0x7C,0x14,0x14,0x00, 0x18,0x04,0x13,0x10,0x09,0x0B,0x05,0x0B,0x09,0x10,0x10,0x10;char code dqian= /当, 0x00,0x40,0x42,0x44,0x4C,0x40,0x40,0x7F,0x40,0x40,0x48,0x44,0xE6,0x40,0x00,0x00, 0x00,0x40,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0xFF,0x00,0x00,0x00,/前,

18、0x08,0x08,0xE8,0x29,0x2A,0x2E,0xE8,0x08,0x08,0xCC,0x0A,0x0B,0xE8,0x0C,0x08,0x00, 0x00,0x00,0xFF,0x09,0x49,0x89,0x7F,0x00,0x00,0x0F,0x40,0x80,0x7F,0x00,0x00,0x00 ;char code kge= 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x

19、00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 ;/*-数字的ASCII编码表-*/ char code ASC= 0xF8,0xFC,0x04,0xC4,0x24,0xFC,0xF8,0x00,0x07,0x0F,0x09,0x08,0x08,0x0F,0x07,0x00, / -0-0x00,0x10,0x18,0xFC,0xFC,0x00,0x00,0x00,0x00,0x08,0x08,0x0F,0x0F,0x08,0x08,0x00, / -1-0x08,0x0C,0x84,0xC4,0x64,0x3C,0x18,0x00,0x0E,0x0F,0x09,0

20、x08,0x08,0x0C,0x0C,0x00, / -2-0x08,0x0C,0x44,0x44,0x44,0xFC,0xB8,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, / -3-0xC0,0xE0,0xB0,0x98,0xFC,0xFC,0x80,0x00,0x00,0x00,0x00,0x08,0x0F,0x0F,0x08,0x00, / -4-0x7C,0x7C,0x44,0x44,0xC4,0xC4,0x84,0x00,0x04,0x0C,0x08,0x08,0x08,0x0F,0x07,0x00, / -5-0xF0,0xF8,0x

21、4C,0x44,0x44,0xC0,0x80,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, / -6-0x0C,0x0C,0x04,0x84,0xC4,0x7C,0x3C,0x00,0x00,0x00,0x0F,0x0F,0x00,0x00,0x00,0x00, / -7-0xB8,0xFC,0x44,0x44,0x44,0xFC,0xB8,0x00,0x07,0x0F,0x08,0x08,0x08,0x0F,0x07,0x00, / -8-0x38,0x7C,0x44,0x44,0x44,0xFC,0xF8,0x00,0x00,0x08,0x08

22、,0x08,0x0C,0x07,0x03,0x00, / -9-0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, / -.-0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0x00,0x01,0x03,0x06,0x0C,0x06,0x03,0x01,0x00, / -V-0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, / -:-0x80,0x80,

23、0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, / -0xE0,0xE0,0x60,0xC0,0x60,0xE0,0xC0,0x00,0x0F,0x0F,0x00,0x0F,0x00,0x0F,0x0F,0x00 / -m-; /*-延时子程序-*/void delay(unsigned int t)unsigned int i,j;for(i=0;it;i+)for(j=0;j10;j+);/*-写命令到LCD-*/void write_com(unsigned char cmdcode)Di=0;

24、RW=0;Lcd_Bus=cmdcode;delay(0);Enable=1;delay(0);Enable=0;/*-写数据到LCD-*/void write_data(unsigned char Dispdata)Di=1;RW=0;Lcd_Bus=Dispdata;delay(0);Enable=1;delay(0);Enable=0;/*-清除内存-*/void Clr_Scr()unsigned char j,k;for(k=0;k8;k+)write_com(Page_Add+k);for(j=0;j128;j+)write_data(0x00);void hz_disp16(un

25、signed char pag,unsigned char col, unsigned char code *hzk)unsigned char j=0,i=0;for(j=0;j2;j+)write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i16;i+) write_data(hzk16*j+i);/*-用于汉字的滚动显示-*/void hz_disp16n(unsigned char pag,unsigned char col, unsigned char code *hzk)unsigned char j=0,i=0,n;fo

26、r(j=0;j2;j+)write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i=16-k%16)n=n+16; write_data(hzkn); /*-显示12*16的汉字-*/ void hz_disp12(unsigned char pag,unsigned char col, unsigned char code *hzk)unsigned char j=0,i=0;for(j=0;j2;j+)write_com(Page_Add+pag+j);write_com(Col_Add+col);for(i=0;i12;i+) w

27、rite_data(hzk12*j+i); /*-指定位置显示字符8*16-*/void char_disp(unsigned char pag,unsigned char col, unsigned char code *chr) unsigned char j=0,i=0; for(j=0;j2;j+) write_com(Page_Add+pag+j); write_com(Col_Add+col); for(i=0;i8;i+) write_data(chr8*j+i);/*-初始化LCD屏-*/void init_lcd()delay(100);write_com(Disp_Off)

28、;Clr_Scr();write_com(Page_Add+0);write_com(Start_Line+0);write_com(Col_Add+0);write_com(Disp_On);/LTC1864的驱动程序及主程序/*LTC1864.h*/#include#include12864.hsbit conv=P35;sbit sck=P36;sbit sdo=P37;unsigned int dat;/*-LTC1864的驱动函数-*/void convert() int i=0; dat=0; conv=0; conv=1; for(i=0;i5;i+); conv=0; for(

29、i=0;ii; sck=1; void empty(char p) char i; for(i=0;i8;i+) if(i4) cs1=1;cs2=0; hz_disp16(2*p,16*i,kge); else cs1=0;cs2=1; hz_disp16(2*p,16*(i-4),kge); void start() cs1=1;cs2=0; hz_disp16(1,32,hying); hz_disp16(1,48,hying+32); hz_disp16(4,16,hying+32*4); hz_disp16(4,32,hying+32*5); hz_disp16(4,48,diany

30、a); cs1=0;cs2=1; hz_disp16(1,0,hying+32*2); hz_disp16(1,16,hying+32*3); hz_disp16(4,0,dianya+32); hz_disp16(4,16,dianya+32*2); hz_disp16(4,32,meili+32*13);/*-实现汉字的滚动显示-*/void gundong() char i;cs1=1;cs2=0;for(i=0;i=16)&(k=32)&(k=48)&(k=64)&(k=80) hz_disp16n(0,16*i,meili+32*(i+5)+k%16);else hz_disp16n

31、(0,16*i,meili+32*i+k%16);cs1=0;cs2=1; for(i=0;i=16)&(k=32)&(k=48)&(k=64)&(k=80) hz_disp16n(0,16*i,meili+32*(i+5+4)+k%16);else hz_disp16n(0,16*i,meili+32*(i+4)+k%16); void lcheng_jdu() cs1=1;cs2=0; hz_disp12(3,0,lcheng); hz_disp12(3,12,lcheng+24); char_disp(3,24,ASC+0); char_disp(3,32,ASC+16*13); cha

32、r_disp(3,40,ASC+16*5); char_disp(3,48,ASC+0); char_disp(3,56,ASC+16*11); hz_disp16(6,0,dqian); hz_disp16(6,16,dqian+32); hz_disp16(6,32,dianya); hz_disp16(6,48,dianya+32); cs1=0;cs2=1; hz_disp12(3,8,jingdu); hz_disp12(3,20,jingdu+24); char_disp(3,32,ASC+16); char_disp(3,40,ASC+16*14); char_disp(3,48

33、,ASC+16*11); char_disp(6,0,ASC+16*12); void main() unsigned char disp_dat=0,0,10,0,0,0,11,i,count=0; unsigned int buf; init_lcd(); empty(0); empty(1); empty(2); empty(3); start(); for(i=0;i180;i+) for(buf=0;buf1) count=0; k+; if(k=96) k=0; gundong(); convert(); buf=dat; buf=buf*(50.0/65535)*1000; disp_dat5=buf%10; disp_dat4=(buf/10)%10; disp_dat3=(buf/100)%10; disp_dat1=(buf/1000)%10; disp_dat0=(buf/10000)%10;/*-实时电压显示-*/ cs1=0;cs2=1; for(i=0;i7;i+) char_disp(6,8+8*i,ASC+16*disp_dati); /*/下面是PROTEUS的仿真结果及电路。1、开机界面:2、工作界面。第一行的汉字在滚动. (注:文件素材和资料部分来自网络,供参考。请预览后才下载,期待你的好评与关注。)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1