教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

称重仪毕业设计(12)

来源:网络收集 时间:2026-09-05
导读: // Clear LCD memory *pLCD++ = 0; // 清屏 LCDCTL = LCDSG0_1 + LCD4MUX + LCDON; // LCD模式:4mux LCD, segs0-15 BTCTL |= BT_fLCD_DIV64; // 设置 LCD 刷新率 P2DIR|=BIT2; P2DIR|=BIT0+BIT1+BIT3; P1DIR|=BIT0+

// Clear LCD memory *pLCD++ = 0; // 清屏

LCDCTL = LCDSG0_1 + LCD4MUX + LCDON; // LCD模式:4mux LCD, segs0-15 BTCTL |= BT_fLCD_DIV64; // 设置 LCD 刷新率 P2DIR|=BIT2;

P2DIR|=BIT0+BIT1+BIT3;

P1DIR|=BIT0+BIT1+BIT2+BIT3+BIT4; //悬空不用的IO设为输出,避免不确 P1OUT=0; //定电平造成IO口额外耗电。 P2OUT=0;

_EINT(); //总中断允许

30

基于MSP430的称重系统

}

/**************************************************************************** * 名 称:LCD_DisplayDecimal()

* 功 能:在LCD上显示一个带有小数点的短整型数据。

****************************************************************************/ void LCD_DisplayDecimal( int Number, char DOT) {

char Neg;

char i;unsigned char temp; char *pLCD = (char *)&LCDM1; char PolarLocate;

char DispBuff[8];

if(Number<0) {Number=-Number; Neg=1;} //处理负数 else Neg=0;

for(i=0;i<7;i++) //拆分数字 {

DispBuff[i]=Number; Number/=10; }

for(i=6;i>DOT;i--) //消隐无效\ {

if (DispBuff[i]==0) DispBuff[i]=SP; else break;

}

PolarLocate=i+1; // 负号显示在第一个有效数字左边 if(DOT>3) DOT=255; // 无效的小数点不显示

if(DOT<1) DOT=255; // LCD048段码中只有123位数字有小数点 for(i=0;i<7;i++)

{

//temp=LCD_Tab[DispBuff[i]]; //查表

if (DOT==i) temp|=DOTSEG;//显示小数点 if ((PolarLocate==i)&&(Neg)) temp|=NEGSEG;//负号 pLCD[i]=temp; //写入显存 } }

/**************************************************************************** * 名 称:main() 主程序

* 功 能:每1/4秒对三个ADC同时采样一次、结果显示在LCD上。 三个采样结果可由按键切换显示。

****************************************************************************/ void main(void) {

31

基于MSP430的称重系统

int n;

ini_main();

while (1) {

while(BT_Flag==0) LPM3; //CPU休眠,等待被BascTimer唤醒 BT_Flag=0; Timer4++; if(Timer4>=4) {

Timer4=0;

Analog_On; //P2.2置高(如果有必要)

SD16CTL |= (SD16REFON+SD16VMIDON); //开启内部基准源,开启输出缓冲器 for (n = 0; n < 500; n++); //略延迟,让基准电压稳定 ADC_Sample3(); //同时采样3路

Analog_Off; //采样完毕关闭外部模拟电路电源

SD16CTL &=~ (SD16REFON+SD16VMIDON); //关闭内部基准源,关闭输出缓冲器

LCD_DisplayDecimal(ADC_Result0,1); //显示ADC0采样值 } } }

32

称重仪毕业设计(12).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/613691.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)