📄 main.c
字号:
#include <LPC213x.h>
#include "NOKIA_LCD\nokia_5110.h"
#include "MOTOR\MOTOR.h"
#include "KEY\KEY.h"
#include <stdio.h>
int T1_TEMP=0;int T2_TEMP=0;
int LEFT_RIGHT_SWITCH=0;
#define LEFT_V 0
#define RIGHT_V 1
void __irq IRQ_Timer1 (void)
{
LEFT_RIGHT_SWITCH++;
if(LEFT_RIGHT_SWITCH%2==0)
{
T1_TEMP=T0TC;
T0CTCR =(0x02 << 0) |(0x03 << 2);
}
else
{
T2_TEMP=T0TC;
T0CTCR =(0x02 << 0) |(0x00 << 2);
}
T0TC = 0;
T0TCR=0x01;
T1IR = 0x01; /* 清除中断标志 */
VICVectAddr = 0x00; /* 通知VIC中断处理结束 */
}
void IRQ_INIT()
{
VICIntEnClr = 0xffffffff;
VICVectAddr = 0;
VICIntSelect = 0;
/* 定时器0初始化 */
T1TC = 0; /* 定时器设置为0 */
T1PR = 0; /* 时钟不分频 */
T1MCR = 0x03; /* 设置T0MR0匹配后复位T0TC,并产生中断标志 */
T1MR0 = 12000000*4; /* 4秒钟定时 */
T1TCR = 0x01; /* 启动定时器 */
/* 设置定时器0中断IRQ */
VICIntSelect = 0x00; /* 所有中断通道设置为IRQ中断 */
VICVectCntl0 = 0x20 | 0x05; /* 设置定时器0中断通道分配最高优先级 */
VICVectAddr0 = (uint32)IRQ_Timer1; /* 设置中断服务程序地址 */
VICIntEnable = 1 << 0x05; /* 使能定时器0中断 */
}
int main(void)
{
int COUNETR1=0;
int COUNETR2=0;
char s1[10];
char s2[10];
IO1DIR |=1<<23;
LCD_init(); //初始化液晶
MOTOR_INIT();
CAPTURE_INIT();
IRQ_INIT();
KEY_INIT();
while(1)
{
IO1SET |=1<<23;
COUNETR1=T1_TEMP;//(T1_TEMP/2/18)*36/10;
COUNETR2=T2_TEMP;//(T1_TEMP/2/18)*36/10;
sprintf(s1, "%4d", COUNETR1);
sprintf(s2, "%4d", COUNETR2);
LCD_write_english_string(0,1,"Velocity is :");
LCD_write_english_string(0,2, s1);
LCD_write_english_string(0,3, s2);
//LCD_write_chinese_string(0,0,12,7,0,0);
// LCD_write_chinese_string(0,4,12,7,0,0);
MOTOR_RUN();
}
return 0;
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -