#include <LPC213X.H>
void delay(int x)
{
while(--x);
}
void DsipInit()
{
PINSEL0= 0;
PINSEL1|= 0x0<<6;
IO0DIR |= 0xffff<<7;
IO0CLR = 0xffff<<7;
}
void Display(unsigned int val)
{
int k, m;
IO0CLR = 0xffff<<7;
k=((val&(0x0f0))>>4)*16+((val&(0xf00))>>8)*16*16+(val&(0x00f));//16进制转换为10进制数,注意往右移位,
m=(k%10)|((k/10%10)<<4)|((k/100)<<8);//取出十进制数的各个位并且组合成2进制
IO0SET = m<<7;
}
int main()
{
unsigned short ADCData;
DsipInit();
// PINSEL1 = (PINSEL1 & ~(0x3<<22)) | 0x1<<22; //设置引脚连接模块
//
// AD0CR = (0x01 << 27) | // EDGE 硬件触发边沿设置
// (0x0 << 24) | // START AD启动设置
// (0x00 << 22) | // TEST1:0 测试模式设置
// (0x01 << 21) | // PDN AD部件上电设置
// (0 << 17)| // CLKS BURST模式精度
// (0x00 << 16) | // BUREST BURST模式禁止
// (2 << 8) | // CLKDIV ADC部件时钟
// (0x01 << 0); // SEL 转换通道选择
//
// for(;;){
// AD0CR |= (1 << 24); // START AD启动设置,软件启动一次AD转换
// while((AD0DR & 0x80000000) != 0);
// ADCData = (AD0DR >> 6) & 0x3FF;
ADCData=0x64;
Display( ADCData);
// Display(result);
delay(1000000);
// }
return 0;
}
基于arm7芯片lpc2138的十六进制转换10进制显示程序
猜你喜欢
转载自blog.csdn.net/moluoyu/article/details/44872175
今日推荐
周排行