|
本帖最后由 maoningchuan 于 2013-7-20 11:45 编辑
RT,最好能用5110显示出来,小弟都弄了几天了,还没弄出来!谢谢了额!
附上程序,能帮忙看下么!我是根据论坛的程序来的,但是就是不现实!
#include<msp430x14x.h>
#include"nokia_5110.c"
#include"nokia_5110.h"
#include"hanzi.c"
#define u8 unsigned char
#define u16 unsigned int
u8 cc[]={0};
u16 dat;
u8 shuzi[] = {"0123456789."};
unsigned int width[10]={0,0,0,0,0,0,0,0,0,0};
unsigned int i=0;
void conversion(unsigned long int num)
{
cc[0] = num /100000;
num = num % 100000;
cc[1] = num /10000;
num = num % 10000;
cc[2] = num /1000;
num = num % 1000;
cc[3] = num /100;
num = num % 100;
cc[4] = num /10;
num = num % 10;
cc[5]= num;
}
void main()
{
unsigned int i;
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
BCSCTL1&=~XT2OFF; //打开XT2振荡器
do
{
IFG1 &= ~OFIFG; // 清除振荡器失效标志
for (i=256;i>0;i--); // 延时,等待XT2起振
}
while ((IFG1 & OFIFG) != 0); // 判断XT2是否起振
BCSCTL2 =SELM_2+SELS; //选择MCLK=SMCLK为XT2
//-----------------------------
TBCCTL0&=~(CCIS1+CCIS0); // 捕获源为P4.0,即CCI0A(也是CCI0B)
TBCCTL0|=CM_2+SCS+CAP; //下降沿捕获,同步捕获,工作在捕获模式
TBCCTL0|=CCIE; //允许捕获比较模块提出中断请求
TBCTL|=ID_3;
TBCTL|=TBSSEL_2; //选择时钟MCLK
TBCTL|=TBCLR; //定时器清零,
//定时器开始计数(连续计数模式0~0xFFFF)
TBCTL|=MC_2;
_EINT();
LCD_Init();LCD_clear();//初始化液晶盒清屏
while(1)
{
conversion(width[0]);
for(i=0;i<6;i++)
{
display_char(i+2,0,shuzi[cc]);
}
}
}
//―――――定时器TB的CCR0的中断:用于检测脉冲上升与下降沿――――
#pragma vector=TIMERB0_VECTOR
__interrupt void TimerB0(void)
{
if(TBCCTL0&CM1) //捕获到下降沿
{
TBCTL|=TBCLR;
TBCCTL0=(TBCCTL0&(~CM1))|CM0; //改为上升沿捕获:CM1 置零,CM0置一
}
else if(TBCCTL0&CM0) //捕获到上升沿
{
width[i++]=TBCCR0; //记录下结束时间
TBCCTL0=(TBCCTL0&(~CM0))|CM1; //改为下降沿捕获:CM0置零,CM1置一
if(i==10) i=0;
}
}
|
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|