msp430F149 AD 12864程序显示问题,计算P6.0口32次平均电压值,并显示在lcd上,编译没有错误。 10

单步执行只能到主函数的Ini_Lcd,不知道程序有什么问题,已经捯饬了两周了,呜呜,请各位大侠帮帮忙,小女子感激不尽!急急急!!!!或者哪位大侠有调试成功的此类程序也可以... 单步执行只能到主函数的Ini_Lcd,不知道程序有什么问题,已经捯饬了两周了,呜呜,请各位大侠帮帮忙,小女子感激不尽!急急急!!!!或者哪位大侠有调试成功的此类程序也可以,QQ:2511735606.邮箱:2511735606@qq.com,多谢!

#include "msp430.h"
#include "BoardConfig.h"
#include "Cry12864.h"

#define Num_of_Results 32
static unsigned int A0results[Num_of_Results]; //通道A0数据缓存

const uchar hang1[] = {" 测试通道一 "};
const uchar hang2[] = {"测电压1: 伏"};

void int_clk()
{
uchar i;
BCSCTL1 &= ~XT2OFF; //开XT2
BCSCTL2 |=SELM1 + SELS;
do
{
IFG1 &= ~OFIFG;
for(i=255;i>0;i--);
}while((IFG1&OFIFG)!=0); //等待起震
IFG1 &= ~OFIFG;
}

void Display(uint val) //液晶显示函数
{
Disp_HZ(0x80,hang1,5);
Disp_HZ(0x90,hang2,8);

Write_Cmd(0x94); //第二行
Write_Data(val/10000 + 0x30);
Write_Data((val/1000%10) + 0x30);
Write_Data(0x2e);
Write_Data((val/100%10) + 0x30);
Write_Data((val/10%10) + 0x30);
Write_Data((val%10) + 0x30);

Delay_Nms(50000); //延时5s
}

void main(void)
{
WDTCTL = WDTPW+WDTHOLD; //关狗

int_clk(); //初始化时钟
Ini_Lcd(); //初始化LCD

P6SEL |= 0x01; // 使能ADC通道
ADC12CTL0 = ADC12ON+SHT0_8+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器
ADC12IE = 0x01; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
_EINT(); //开全能中断
_NOP(); //延时一会儿
_NOP();
ADC12CTL0 |= ADC12SC; // 开始转换

LPM0;
}

#pragma vector=ADC_VECTOR
__interrupt void ADC12ISR (void)
{
static uint index = 0;

A0results[index++] = ADC12MEM0; // Move results
if(index == Num_of_Results)
{
uchar i;
unsigned int sum = 0;

index = 0;
for(i = 0; i < Num_of_Results; i++)
{
sum += A0results[i];
}
sum >>= 5; //除以32

Display(sum);
}
}
展开
 我来答
KGP5358
2012-03-10 · TA获得超过299个赞
知道小有建树答主
回答量:215
采纳率:0%
帮助的人:156万
展开全部
Ini_Lcd();这个函数在哪里?
追问
已经调试出来了,谢谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式