电设报告 - 图文(4)

2019-06-02 14:00

} } }

//________________________________________*****************************************>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

voidmain(void) {

uint8_t contrast = *((unsignedchar *)contrastSetpointAddress); //读取FLASH中对比度值

uint8_t brightness = *((unsignedchar *)brightnessSetpointAddress); //读取FLASH中背光值

SetVCore(3); //设VCore为最大

// Basic GPIO initialization

Board_init(); //初始化GPIO //////////////////////*******************LDC1000*************************************************************************

//PORT INIT

P1DIR |= BIT0; // LDC CLK for Freq counter (set to output selected clock) P1SEL |=BIT0; //INTB INIT

// //UCS SETTING

UCSCTL3 |= SELREF__REFOCLK;

__bis_SR_register(SCG0); //

Disable the FLL control loop

UCSCTL0 = 0x0000; // Set lowest possible DCOx, MODx

UCSCTL1 = DCORSEL_6; // Select DCO range 24MHz operation

UCSCTL2 = FLLD_0 + 731; // Set DCO Multiplier for 24MHz

// (N + 1) * FLLRef = Fdco // (731 + 1) * 32768 = 24MHz // Set FLL Div = fDCOCLK/2 __bic_SR_register(SCG0); // Enable the FLL control loop

UCSCTL4 |= SELA__DCOCLK + SELS__XT1CLK +SELM__DCOCLK; //ACLK=24Mhz,SMCLK=4Mhz,MCLK=24MHz Source select UCSCTL5 |= DIVPA_2; //ACLK output divide UCSCTL6 |= XT1DRIVE_3 + XCAP_0; //XT1 cap

// initialize SPI

P2DIR |= BIT0; // P2.0 IO Output TO LDC1000 STE P2SEL &= ~BIT0;

//SPI SETUP

P3SEL |=BIT0 + BIT1 + BIT2; //UCB0SPI P3.0 P3.1 P3.2

UCB0CTL1 |=UCSWRST;

UCB0CTL0 |= UCMST+UCMSB+UCSYNC+UCCKPL; // 3-pin, 8-bit SPI master,Clock polarity high, MSB //test

//反馈选择位,为1,发送的数被自己接收,用于测试,正常使用时注释掉

UCB0CTL1 |= UCSSEL_1; // CLOCK

ACLK

UCB0BR0 = 0x01; UCB0BR1 = 0;

UCB0CTL1 &= ~UCSWRST;

/*****************TEST*********TEST***************TEST*********/

//read all REG value using default setting charorgVal[20];

//write to register

spi_writeByte(LDC1000_CMD_RPMAX, RPMAX); spi_writeByte(LDC1000_CMD_RPMIN, RPMIN); spi_writeByte(LDC1000_CMD_SENSORFREQ, 0x94); spi_writeByte(LDC1000_CMD_LDCCONFIG, 0x17); spi_writeByte(LDC1000_CMD_CLKCONFIG, 0x02); spi_writeByte(LDC1000_CMD_INTCONFIG, 0x02);

spi_writeByte(LDC1000_CMD_THRESHILSB, 0x50); spi_writeByte(LDC1000_CMD_THRESHIMSB, 0x14); spi_writeByte(LDC1000_CMD_THRESLOLSB, 0xC0); spi_writeByte(LDC1000_CMD_THRESLOMSB, 0x12);

spi_writeByte(LDC1000_CMD_PWRCONFIG, 0x01);

//read all registers

spi_readBytes(LDC1000_CMD_REVID, &orgVal[0],12);

__enable_interrupt(); //中断

// Setup real time clock

使能全局SetupRTC(); //设置实时时钟

// Set up LCD

Dogs102x6_init(); //初始化LCD

Dogs102x6_backlightInit(); //背光初始化

contrast = 11;

brightness = 11;

Dogs102x6_setBacklight(brightness); //始背光值

Dogs102x6_setContrast(contrast); //始对比度值

Dogs102x6_clearScreen(); //

// Set up wheel

Wheel_init(); //位计

Buttons_init(BUTTON_ALL); //Buttons_interruptEnable(BUTTON_ALL); //键中断

buttonsPressed = 0; //

// Display TI logo

Dogs102x6_imageDraw(tiBug, 0, 16); //图案

设置初设置初清屏 初始化齿轮电初始化按键 使能所有按键值清零 显示TI////////////////////////////////////////////////两个步进电机控制///////////////////////////////////////////////// //a1用于步进电机正转时间,反转时间,停止转动时间;b1用于选择步进电机是正转,反转还是停止;c1用于选择电机的转动速度 //推荐参数:a1--1000,b1---0-正转,1-反转,c1--为2时最佳 //test

//电机IO口设置 P4DIR |=BIT4; P4DIR |=BIT5; P4DIR |=BIT6; P4DIR |=BIT7; P4OUT&=~BIT4; P4OUT&=~BIT5; P4OUT&=~BIT6; P4OUT&=~BIT7;

P7OUT &= ~(BIT0 + BIT1 + BIT2 + BIT3); P7DIR |= BIT0 + BIT1 + BIT2 + BIT3;

Dogs102x6_clearScreen();

//开定时器A中断,以检测并显示是否找到金属

TA2CCTL0 = CCIE; // CCR0 interrupt enabled TA2CCR0 = 50000; //次中断,进入程序判断是否找到金属

每2ms执行一


电设报告 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏无锡金桥双语实验学校2016小升初考试语文真题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

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