基于单片机的电子油门检测系统的设计 - 图文

2026/1/27 7:14:41

}

void ADC_res(void) {

x= ADC12MEM0;

ADC12CTL0 |= ADC12SC; }

#pragma vector=WDT_VECTOR //中断程序入口地址 __interrupt void watchdog_timer (void) {

ADC_res(); CCR1 =x; uchar h1[11]; uchar h2[14]; h1[0]=0x59; h1[1]=0x6f; h1[2]=0x75; h1[3]=0x4d; h1[4]=0x65; h1[5]=0x6e; h1[6]=0x3a;

h1[7]=x/1000+48;

h1[8]=x00/100+48; h1[9]=x000/10+48; h1[10]=x;

h2[0]=0x4e; h2[1]=0x41; h2[2]=0x4d; h2[3]=0x45; h2[4]=0x3a; h2[5]=0x57; h2[6]=0x65; h2[7]=0x6e; h2[8]=0x4c; h2[9]=0x69; h2[10]=0x6e; h2[11]=0x5A; h2[12]=0x68; h2[13]=0x65;

33

LcdWriteCommand(0x01, 1); //清除显示 DispNChar(0,0,10,h1); DispNChar(0,1,14,h2); }

/***********************主函数************************/ void main( void ) {

/*下面六行程序关闭所有的IO口*/ P1DIR = 0XFF;P1OUT = 0XFF; P2DIR = 0XFF;P2OUT = 0XFF; P3DIR = 0XFF;P3OUT = 0XFF; P4DIR = 0XFF;P4OUT = 0XFF; P5DIR = 0XFF;P5OUT = 0XFF; P6DIR = 0XFF;P6OUT = 0XFF;

//uchar i;

WDTCTL =WDT_ADLY_250;

IE1 |= WDTIE; //间隔定时器,定时1000ms //P6DIR |= BIT2;P6OUT |= BIT2; //关闭电平转换 LcdReset();

init_TA_PWM(); init_ADC12(); _EINT();

while(1) {

//_NOP(); } }

#include #include \

typedef unsigned char uchar;

34

typedef unsigned int uint;

/**************宏定义***************/ #define DataDir P4DIR #define DataPort P4OUT #define Busy 0x80 #define CtrlDir P3DIR

#define CLR_RS P3OUT&=~BIT0; //RS = P3.0 #define SET_RS P3OUT|=BIT0;

#define CLR_RW P3OUT&=~BIT1; //RW = P3.1 #define SET_RW P3OUT|=BIT1;

#define CLR_EN P3OUT&=~BIT2; //EN = P3.2 #define SET_EN P3OUT|=BIT2;

/*********************************************** 函数名称:DispStr

功 能:让液晶从某个位置起连续显示一个字符串 参 数:x--位置的列坐标 y--位置的行坐标

ptr--指向字符串存放位置的指针 返回值 :无

***********************************************/ void DispStr(uchar x,uchar y,uchar *ptr) {

uchar *temp; uchar i,n = 0;

temp = ptr;

while(*ptr++ != '\\0') n++; //计算字符串有效字符的个数

for (i=0;i

Disp1Char(x++,y,temp[i]); if (x == 0x0f) {

x = 0; y ^= 1; } } }

/******************************************* 函数名称:DispNchar

功 能:让液晶从某个位置起连续显示N个字符 参 数:x--位置的列坐标 y--位置的行坐标

35

n--字符个数

ptr--指向字符存放位置的指针 返回值 :无

********************************************/ void DispNChar(uchar x,uchar y, uchar n,uchar *ptr) {

uchar i;

for (i=0;i

Disp1Char(x++,y,ptr[i]); if (x == 0x0f) {

x = 0; y ^= 1; } } }

/******************************************* 函数名称:LocateXY

功 能:向液晶输入显示字符位置的坐标信息 参 数:x--位置的列坐标 y--位置的行坐标 返回值 :无

********************************************/ void LocateXY(uchar x,uchar y) {

uchar temp;

temp = x&0x0f; y &= 0x01;

if(y) temp |= 0x40; //如果在第2行 temp |= 0x80;

LcdWriteCommand(temp,1); }

/******************************************* 函数名称:Disp1Char

功 能:在某个位置显示一个字符 参 数:x--位置的列坐标 y--位置的行坐标

data--显示的字符数据 返回值 :无

********************************************/

36


基于单片机的电子油门检测系统的设计 - 图文.doc 将本文的Word文档下载到电脑
搜索更多关于: 基于单片机的电子油门检测系统的设计 - 图文 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219