基于MSP430F149的多通道ADC采样与12864显示.doc_第1页
基于MSP430F149的多通道ADC采样与12864显示.doc_第2页
基于MSP430F149的多通道ADC采样与12864显示.doc_第3页
基于MSP430F149的多通道ADC采样与12864显示.doc_第4页
基于MSP430F149的多通道ADC采样与12864显示.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*/ADC12序列通道与D12864液晶模块显示程序/*#include #define CPU_F (double)8000000)#define delay_us(x) _delay_cycles(long)(CPU_F*(double)x/1000000.0)#define delay_ms(x) _delay_cycles(long)(CPU_F*(double)x/1000.0)#define uchar unsigned char#define uintunsigned int#define ulong unsigned long/*12864应用指令*/#define CLEAR_SCREEN 0x01 /清屏指令:清屏且AC值为00H#define AC_INIT0x02 /将AC设置为00H。且游标移到原点位置#define CURSE_ADD 0x06 /设定游标移到方向及图像整体右移,#define FUN_MODE 0x30 /工作模式:8位基本指令集#define DISPLAY_ON 0x0c /显示开,显示游标,且游标位置反白#define DISPLAY_OFF 0x08 /显示关#define CURSE_DIR 0x14 /游标向右移动:AC=AC+1#define SET_CG_AC 0x40 /设置AC,范围为:00H3FH#define SET_DD_AC 0x80#define P50 0#define P51 1#define P55 5#define P56 6#define P57 7#define RS_CLR P5OUT &= (1 P55) /RS置低#define RS_SET P5OUT |= (1 P55) /RS置高#define RW_CLR P5OUT &= (1 P56) /RW置低#define RW_SET P5OUT |= (1 P56) /RW置高#define EN_CLR P5OUT &= (1 P57) /E置低#define EN_SET P5OUT |= (1 P57) /E置高#define PSB_CLR P5OUT &= (1 P50) /PSB置低,串口方式#define PSB_SET P5OUT |= (1 P50) /PSB置高,并口方式#define RST_CLR P5OUT &= (1 P51) /RST置低#define RST_SET P5OUT |= (1 P51) /RST置高#define DataPort P4OUT /P4口为数据口uint Results32; /存放ADC的结果uchar shuzi = 0123456789.V;uchar ptr6;uint Average;uint Temp;ulong caltmp4;/*/ 系统时钟初始化/*void Clock_Init()uchar i;BCSCTL1&=XT2OFF; /打开XT振荡器BCSCTL2|=SELM1+SELS; /MCLK为8MHZ,SMCLK为8MHZdo IFG1&=OFIFG; /清除震荡标志 for(i=0;i100;i+) _NOP(); /延时等待while(IFG1&OFIFG)!=0); /如果标志为1,则继续循环等待IFG1&=OFIFG;/*/ MSP430内部看门狗初始化/*void WDT_Init() WDTCTL = WDTPW + WDTHOLD; /关闭看门狗/*/ 初始化IO口子程序/*void Port_init()P4SEL = 0x00; P4DIR = 0xFF; P5SEL = 0x00; P5DIR|= BIT0 + BIT1 + BIT5 + BIT6 + BIT7; PSB_SET; /液晶并口方式RST_SET; /复位脚RST置高/*/ 显示屏命令写入函数/*void LCD_write_com(unsigned char com)RS_CLR;RW_CLR;EN_SET;DataPort = com;delay_ms(5);EN_CLR;/*/ 显示屏数据写入函数/*void LCD_write_data(unsigned char data)RS_SET;RW_CLR;EN_SET;DataPort = data;delay_ms(5);EN_CLR;/*/ 显示屏清空显示/*void LCD_clear(void)LCD_write_com(0x01);delay_ms(5);/*/函数名称:DisplayCgrom(uchar hz)显示CGROM里的汉字/*void DisplayCgrom(uchar addr,uchar *hz)LCD_write_com(addr); delay_ms(5);while(*hz != 0)LCD_write_data(*hz);hz+; delay_ms(5);/*/ 显示屏初始化函数/*void LCD_init(void)LCD_write_com(FUN_MODE); /显示模式设置delay_ms(5);LCD_write_com(FUN_MODE); /显示模式设置delay_ms(5); LCD_write_com(DISPLAY_ON); /显示开delay_ms(5); LCD_write_com(CLEAR_SCREEN); /清屏delay_ms(5);/*/*/*打开ADC*/void ADC12(void)P6SEL |=0X0f;/使能ADC通道ADC12CTL0=ADC12ON+SHT0_15+MSC;/打开ADC,设置采样时间,多次转换ADC12CTL1=SHP+CONSEQ_3;/使用采样定时器;多通道转换ADC12MCTL0 |=INCH_0;/通道选择ADC12MCTL1 |=INCH_1;ADC12MCTL2 |=INCH_2;ADC12MCTL3 |=INCH_10+EOS;/以EOS结束此次转换ADC12IE=0X0F;/使能ADC中断ADC12CTL0 |=ENC+ADC12SC;/使能转换;开始转换 _EINT();/*ADC中断服务函数,各个通道转换值的存储*/#pragma vector=ADC_VECTOR_interrupt void ADC12ISR(void) caltmp0=ADC12MEM0; caltmp1=ADC12MEM1; caltmp2=ADC12MEM2; caltmp3=ADC12MEM3; /*void xian_shi(void) int i,j,k,l; Temp=(caltmp0*3300)/4095;/计算十进制的电压值 ptr0=Temp/1000; ptr2=Temp%1000/100; ptr3=Temp%100/10; ptr4=Temp%10; ptr5=11; ptr1=10; LCD_write_com(0x80); DisplayCgrom(0x80,一通道电压); for(i=0;i6;i+) delay_ms(10); LCD_write_data(shuziptr); Temp=(caltmp1*3300)/4095; ptr0=Temp/1000; ptr2=Temp%1000/100; ptr3=Temp%100/10; ptr4=Temp%10; ptr5=11; ptr1=10; LCD_write_com(0x90); DisplayCgrom(0x90,二通道电压); for(j=0;j6;j+) delay_ms(10); LCD_write_data(shuziptrj); Temp=(caltmp2*3300)/4095; ptr0=Temp/1000; ptr2=Temp%1000/100; ptr3=Temp%100/10; ptr4=Temp%10; ptr5=11; ptr1=10; LCD_write_com(0x88); DisplayCgrom(0x88,三通道电压); for(k=0;k6;k+) delay_ms(10); LCD_write_data(shuziptrk); Temp=(caltmp3*3300)/4095; ptr0=Temp/1000; ptr2=Temp%1000/100; ptr3=Temp%100/10; ptr4=Temp%10; ptr5=11; ptr1=10; LCD_write_com(0x98); DisplayCgrom(0x98,四通道电压); for(l=0;l6;l+) delay_ms(10); LCD_write_data(shuziptrl); /*/ 主程序/*void main(vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论