当前位置:
文档之家› 飞思卡尔智能车程序汇总讲课稿
飞思卡尔智能车程序汇总讲课稿
disply_listchar(0,4,"=================",1);
disply_listchar(0,5," ",1);
while(1);
}
}
}
DDRA=0x00;
DDRB_DDRB0=1;
for(;;)
{
delay(setnum[0]*100);
PORTB_PB0=1;
disply_number((i/6)*42+16,i%6,setnum[i],5);
}
if(btn_change())
{
cur_sel=0;
for(i=0;i<12;i++)
{
disply_listchar((i/6)*42,i%6,lcd_show[i],(cur_sel==i)?0:1);
disply_number((i/6)*42+16,i%6,setnum[i],5);
#include "lcd5110.h"
#include "24c02.h"
#include "button.h"
void delay(unsigned int ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<100;j++);
delay(setnum[1]*100);
PORTB_PB0=0;
}
}
3.电机程序
vPLLInit();
lcd_init();
init_24c02();
init_btn();
// EnableInterrupts;
for(i=0;i<12;i++)setnum[i]=RdEEPROM(i); //读取24c02
for(i=0;i<12;i++) //显示初值
{
disply_listchar((i/6)*42,i%6,lcd_show[i],1);
}
}
/******************************倍频*****************************************/
void vPLLInit(void)
{
unsigned char refdv;
refdv=3;
CLKSEL=0X00;//disengage PLL to system
}
for(;;)
{
if(btn_add()){setnum[cur_sel]++;
disply_number((cur_sel/6)*42+16,cur_sel%6,setnum[cur_sel],5);
}
if(btn_sub())
{
setnum[cur_sel]--;
disply_number((cur_sel/6)*42+16,cur_sel%6,setnum[cur_sel],5);
PLLCTL_PLLON=1;//turn on PLL
SYNR =0xc0 | ((80/(refdv+1))-1);
REFDV=0x40 | refdv;
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=160MHz;
_asm(nop); //BUS CLOCK=80M
disply_listchar(0,0," SMART CAR ",1);
disply_listchar(0,1," SAVE OK ",1);
disply_listchar(0,2,"=================",1);
disply_listchar(0,3," TURN POWER OFF ",1);
}
if(btn_change())
{
cur_sel++;
if(cur_sel>11)cur_sel=0;
for(i=0;i<12;i++) disply_listchar((i/6)*42,i%6,lcd_show[i],(cur_sel==i)?0:1);
}
if(btn_sav())
{
for(i=0;i<12;i++)WrEEPROM(i,setnum[i]);
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<100;j++);
}
}
void main(void) {
/* put your own code here */
EnableInterrupts;
DDRA=0x00;
DDRB_DDRB0=1;
_asm(nop);
while(!(CRGFLG_LOCK==1));//when pll is steady ,then use it;
CLKSEL_PLLSEL =1;//engage PLL to system;
}
/******************************倍频*****************************************/
飞思卡尔智能车程序汇总
1.流水灯程序:
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
void delay(unsigned int ms)
for(;;)
{
delay(25000);
PORTB_PB0=1;
delay(25000);
PORTB_PB0=0;
}
}
2.液晶屏按键程序
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
void main(void) {
/* put your own code here */
unsigned char i;
unsigned char setnum[12];
unsigned char cur_sel;
const char lcd_show[12][4]={"MID\0","LEF\0","RIG\0","Kp \0","Kd \0","K1 \0","K2 \0","STP\0","MAX\0","MIN\0","HTM\0","HTX\0"};