亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main-last.c

?? 這是單片機驅動液晶顯示器12864和鍵盤的源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
#include <msp430x44x.h>
#define uchar unsigned char
#define uint unsigned int
#define bit0 BIT0
#define bit1 BIT1
#define bit2 BIT2
#define bit3 BIT3
#define bit4 BIT4
#define bit5 BIT5
#define bit6 BIT6
#define bit7 BIT7

#define rs   BIT0
#define rw   BIT1
#define en   BIT2
#define psb  BIT3

#define ok    15
#define set   14
#define left  13
#define right 12
#define up    11
#define down  10

#define clc_dis  0x01    //清屏
#define dis_on  0x0c    //顯示開
#define you_on     0x0f    //游標就是有下劃線,游標開,反白允許

void ini_sys(void);
void ini_lcd(void);
void check_busy(void);
void wrd(uchar dat);
void wrc(uchar cmd);
void delay (uchar n);
void ldelay(uchar n);
void led();   //led亮一下
void led_on();
void led_off();
uchar read_ac(void);   //讀出地址計數器ac的值

void led_front_left();          //前左燈亮        p26
void led_front_right();         //前右燈亮        p25
void led_back_left();           //后左燈亮        p24
void led_back_right();          //后右燈亮        p23
void speaker();                 //蜂鳴器叫一聲    p22



void dis_add_ch(uchar add,uchar h,uchar l);//顯示漢字函數
void dis_add_en(uchar add,uchar dat1,uchar dat2);  //顯示字符
void dis_add_num(uchar add,uint dat);  //顯示數字



void dis_ch(uchar h,uchar l);//只顯示漢字函數
void dis_en(uchar dat1,uchar dat2);  //只顯示字符
void dis_num(uint dat);  //只顯示數字
void dis_add_two_num(uchar add,uchar dat);//只顯示兩位數字
void dis_two_num(uchar dat);//只顯示兩位數字

void add(uchar h,uchar l);       //定位地址

unsigned char key_data();      //判斷鍵值
unsigned char ask_key();        //判斷是否有鍵按下
void key_deal(uchar keydata);                //鍵值處理


void page1();//正常顯示
void page2();//時間設置頁面
void page3();//速度設置頁面

void motor_front(void);        //電機正轉
void motor_back(void);         //電機反轉
void motor_left(void);
void motor_right(void);
void motor_stop(void);       //電機停止
void motor_nturn (void);


uchar sed=0,min=0,hour=0;
uchar page=0;   //顯示的當前頁面頁數
uchar motor_time=1;//小車運行時間
int RUNFLAG=0;                //電機驅動標志

//uchar xiu=0;    //標志能否修改  為0不能修改  為1可以修改
//uchar sudu=0;
uchar temp_time=0;//時間判斷中間值
void main(void)
{
  int keydata;
//  int askkey;
//  int a;
  ini_sys();
  ini_lcd();
    
    //TA
    CCR0 = 600-1;                             // PWM Period
    CCTL1 = OUTMOD_7;                         // CCR1 reset/set
    CCR1 = 300;                               // CCR1 PWM duty cycle  back
    CCTL2 = OUTMOD_7;                         // CCR2 reset/set
    CCR2 = 300;                               // CCR2 PWM duty cycle   front
    TACTL = TASSEL_1 + MC_1;                  // ACLK, up mode
    

  //基本定時器設定
  BTCTL =BT_ADLY_1000;   //4ms中斷一次

//  IE2 &=(~BTIE);//開中斷 
  

  //允許總中斷
  _EINT();	//允許總中斷
  
  
  //歡迎界面
  page=0;
  wrc(clc_dis);
  keydata=key_data();
  dis_add_ch(0x91,0xce,0xf7);     //西南交通大學
  dis_add_ch(0x92,0xc4,0xcf);     //西南交通大學
  dis_add_ch(0x93,0xbd,0xbb);     //西南交通大學
  dis_add_ch(0x94,0xcd,0xa8);     //西南交通大學
  dis_add_ch(0x95,0xb4,0xf3);     //西南交通大學
  dis_add_ch(0x96,0xd1,0xa7);     //西南交通大學
  
  delay(200);
  dis_add_ch(0x9b,0xc7,0xeb);       //請
  dis_add_ch(0x9c,0xb0,0xb4);       //按
  dis_add_ch(0x9d,0x4f,0x4b);       //ok
  dis_add_ch(0x9e,0xbd,0xf8);       //進
  dis_add_ch(0x9f,0xc8,0xeb);       //入
  
  //顯示當前頁數
  wrc(0x98);
  wrd(0x30+page);
  while(keydata!=ok)
  {
    wrc(0x9d);
    wrc(you_on);
    keydata=key_data();
  }
  
  //顯示第一頁
  page1();
  
  
  P2DIR |=BIT2;
  P2OUT &=(~BIT2);

  //  xiu=1;      //默認能夠修改
  while(1)
  {
  
    
    
    keydata=key_data();
    if(keydata<16)
    {
      key_deal(keydata);
      ldelay(200);
      ldelay(200);
    }
    
//    if(motor_time>0)
//    {
//      temp_time=min+motor_time;
//    }
    
    if(motor_time<=min)
    {
      led_on();
      motor_stop();
    }
    else
    {
        led_off();
        P5DIR &=0Xe3;
        /*
        P67 null
        P54 front yes 0   no  1
        p53 left  yes 1   no  0
        p52 right yes 1   no  0
        */
        RUNFLAG =(P5IN)&0X1c;  //再取出p6口的4,5,6位
        RUNFLAG =RUNFLAG>>2;    //p6右移四位
        RUNFLAG =RUNFLAG^BIT2;  //       

        
        switch(RUNFLAG)   //begin 
        {
            case 0:           //any no
            {
                motor_right();
//                motor_nturn ();
                motor_front();
                break;
            }
            case 1:           //right yes  other no
            {
                motor_left();
                led_front_left();          //前左燈亮        p26
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_front();
                break;
            }
            case 2:           //left yes    other no
            {
                motor_right();
                led_front_right();         //前右燈亮        p25
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_front();
                break;
            }
            case 3:           //left and right yes other no
            {
                motor_nturn();
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_front();
                break;
            }
            case 4:           //front yes other no
            {
                motor_left();
                led_back_left();           //后左燈亮        p24
                led_back_right();          //后右燈亮        p23
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_back();
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                break;
            }
            case 5:           //front and right yes  other no
            {
                motor_right();
                led_back_left();           //后左燈亮        p24
                led_back_right();          //后右燈亮        p23
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_back();
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                break;
            }
            case 6:           //left and front yes
            {
                motor_left();
                led_back_left();           //后左燈亮        p24
                led_back_right();          //后右燈亮        p23
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_back();
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                break;
            }
            case 7:           //left right and front yes other no
            {
                motor_left();
                led_back_left();           //后左燈亮        p24
                led_back_right();          //后右燈亮        p23
//                speaker();                 //蜂鳴器叫一聲    p22
                motor_back();
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                ldelay(200);
                break;
            }
            default:        //get wrong information
            {
                motor_stop();
                break;
            }
        }
    }
  
/*
    keydata=key_data();
    if(keydata==set)
    {
      key_deal(keydata);
    }
    */
//    else
//    {
//      page1();
//    }
//    keydata=key_data();
//    page1();
   
  }
  
  
  
  

/*  
  wrc(clc_dis);
//顯示半角字符
  wrc(0x80);
  delay(100);
  for(a=0;a<64;a++)
  {
      wrd(0x01);
  }
//顯示半角字符完
*/

/*
  while(1)
  {
    askkey=ask_key();
    askkey=read_ac();
    if(askkey==0)
    {
      add(1,1);
      dis_ch(0xce,0xde);        //無鍵按下
//      dis_add_ch(0x80,0xce,0xde);
//      dis_add_ch(0x81,0xce,0xde);
    }
    else
    {
      keydata=key_data();
      switch(keydata)
      {
        ;
      }
//      add(1,1);
//      dis_num(keydata);
//      dis_add_num(0x80,keydata);
    }
  }
  */
//  led_on();
//  LPM0;

}




void motor_nturn (void)
{
    P1DIR |=BIT7;
    P1OUT &=(~BIT7);
    P1DIR |=BIT4;
    P1OUT &=(~BIT4);
}
void motor_right(void)
{
    P1DIR |=BIT7;
    P1OUT &=(~BIT7);
    P1DIR |=BIT4;
    P1OUT |=BIT4;
}
void motor_left(void)
{
    P1DIR |=BIT4;
    P1OUT &=(~BIT4);
    P1DIR |=BIT7;
    P1OUT |=BIT7;
}
void motor_back(void)         //電機反轉
{
    
    P2DIR |=BIT0;
    P2SEL &=(~BIT0);
    P2OUT &=(~BIT0);
    P1DIR |= BIT2;                            // P1.2 output
    P1SEL |= BIT2;                            // P1.2 TA1 option
    delay(200);
    //CCR0 = 20;                             // PWM Period
//    CCTL1 = OUTMOD_7;                         // CCR1 reset/set
//    CCR1 = 10;                               // CCR1 PWM duty cycle
//    TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode
}
void motor_front(void)        //電機正轉
{
    
    P1DIR |=BIT2;
    P1SEL &=(~BIT2);
    P1OUT &=(~BIT2);
    P2DIR |= BIT0;                            // P2.0 output
    P2SEL |= BIT0;                            // P2.0 TA2 option
/*    
    CCR0 = 10000;                             // PWM Period
    CCTL2 = OUTMOD_7;                         // CCR2 reset/set
    CCR2 = 1500;                               // CCR2 PWM duty cycle
    TACTL = TASSEL_2 + MC_1;                  // SMCLK, up mode
*/
}
void motor_stop(void)       //電機停止
{
    P1DIR |=BIT2;
    P1SEL &=(~BIT2);
    P1OUT &=(~BIT2);
    P2DIR |=BIT0;
    P2SEL &=(~BIT0);
    P2OUT &=(~BIT0);
    P1DIR |=BIT7;
    P1OUT &=(~BIT7);
    P1DIR |=BIT4;
    P1OUT &=(~BIT4);
}

void page1()
{
//    xiu=0;    //不能修改 要set一下才能修改
    page=1;
    IE2 |=BTIE;//開中斷 
    wrc(clc_dis);
    wrc(dis_on);
    dis_add_ch(0x80,0xca,0xb1);       //時
    dis_add_ch(0x81,0xbc,0xe4);       //間
    dis_add_two_num(0x82,hour);
    dis_add_ch(0x83,0xa1,0xc3);       //:
    dis_add_two_num(0x84,min);
    dis_add_ch(0x85,0xa1,0xc3);       //:
    dis_add_two_num(0x86,sed);
    
//    設定小車運行時間
    dis_add_ch(0x90,0xc9,0xe8);
    dis_add_ch(0x91,0xb6,0xa8);
    dis_add_ch(0x92,0xca,0xb1);       //時
    dis_add_ch(0x93,0xbc,0xe4);       //間
    dis_add_two_num(0x94,motor_time);
    dis_add_ch(0x95,0xb7,0xd6);   //分
//    dis_add_ch(0x96,0xa3,0xe9);   //i
//    dis_add_ch(0x97,0xa3,0xee);   //n



/*
//    小車當前速度    
    dis_add_ch(0x88,0xb5,0xb0);
    dis_add_ch(0x89,0xc7,0xb0);
    dis_add_ch(0x8a,0xcb,0xd0);
    dis_add_ch(0x8b,0xb6,0xc0);
//    dis_add_ch(0x8c,)
    dis_add_ch(0x8d,0xa3,0xe0);   //m
    dis_add_ch(0x8e,0xa3,0xa0);   ///
    dis_add_ch(0x8f,0xa3,0xf0);   //s

//    dis_add_

//    小車設定速度
    dis_add_ch(0x98,0xc9,0xe0);
    dis_add_ch(0x99,0xb6,0xa0);
    dis_add_ch(0x9a,0xcb,0xd0);
    dis_add_ch(0x9b,0xb6,0xc0);
//    dis_add_ch(0x9c,);

    dis_add_ch(0x9d,0xa3,0xe0);   //m
    dis_add_ch(0x9e,0xa3,0xa0);   ///
    dis_add_ch(0x9f,0xa3,0xf0);   //s
    
//小車設定速度    
//    dis_add_ch()
//    dis_add_ch(0x90,)
*/
    //顯示當前頁數
    wrc(0x98);
    wrd(0x30+page);


}
void page2()
{
    page=2;
//    xiu=0;    //不能修改 要set一下才能修改
    wrc(clc_dis);
    IE2 &=(~BTIE);//關中斷 
    
    //設定北京時間
    dis_add_ch(0x80,0xc7,0xeb);       //請
    dis_add_ch(0x81,0xc9,0xe8);
    dis_add_ch(0x82,0xb6,0xa8);
    dis_add_ch(0x83,0xca,0xb1);       //時
    dis_add_ch(0x84,0xbc,0xe4);       //間
    dis_add_two_num(0x90,hour);
    dis_add_ch(0x91,0xa1,0xc3);       //:
    dis_add_two_num(0x92,min);
    dis_add_ch(0x93,0xa1,0xc3);       //:
    dis_add_two_num(0x94,sed);
    
    
    //顯示當前頁數
    wrc(0x98);
    wrd(0x30+page);
}
void page3()
{
    page=3;
//    xiu=0;    //不能修改 要set一下才能修改
    wrc(clc_dis);
    
    //設定小車運行時間

    dis_add_ch(0x80,0xc7,0xeb);       //請
    dis_add_ch(0x81,0xc9,0xe8);
    dis_add_ch(0x82,0xb6,0xa8);
    dis_add_ch(0x83,0xd4,0xcb);       //運
    dis_add_ch(0x84,0xd0,0xd0);       //行
    dis_add_ch(0x85,0xca,0xb1);       //時
    dis_add_ch(0x86,0xbc,0xe4);       //間
    
    dis_add_two_num(0x90,motor_time);
//    dis_add_ch(0x99,0xa3,0xe0);   //m
    dis_add_ch(0x91,0xb7,0xd6);   //分
    
    /*
    dis_add_ch(0x80,0xc7,0xeb);       //請
    dis_add_ch(0x81,0xc9,0xe0);       //設
    dis_add_ch(0x82,0xb6,0xa0);       //定
//    dis_add_two_num(0x8b,hour);
    dis_add_ch(0x83,0xcb,0xd0);       //速
    dis_add_ch(0x84,0xb6,0xc0);       //度
//    dis_add_ch(0x8c,0xa1,0xc3);       //:

//    dis_add_two_num(0x90,sudu);

    dis_add_ch(0x91,0xa3,0xe0);       //m
    dis_add_ch(0x92,0xa3,0xa0);       ///
    dis_add_ch(0x93,0xa3,0xf0);       //s
    
        
//    dis_add_ch(0x8e,0xa1,0xc3);       //:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看亚洲专区| 亚洲欧洲日产国码二区| 久久精品一区二区| 亚洲一区免费在线观看| 国产精品一区二区在线观看不卡| 一本在线高清不卡dvd| 亚洲精品在线免费观看视频| 亚洲精品视频观看| 福利一区福利二区| 欧美一级久久久| 亚洲精品美国一| 粉嫩久久99精品久久久久久夜| 欧美群妇大交群的观看方式| 亚洲私人影院在线观看| 国产精品18久久久久| 777午夜精品免费视频| 亚洲久草在线视频| 懂色av一区二区三区免费看| 欧美tickling挠脚心丨vk| 午夜影视日本亚洲欧洲精品| 色网站国产精品| 国产精品日韩成人| 国产成人在线影院| 国产欧美精品一区| 国产精品一区二区久激情瑜伽 | 亚洲电影你懂得| 99r精品视频| 成人欧美一区二区三区白人| 国产精品一二三四区| 日韩女优毛片在线| 久久精品免费看| 日韩美女视频在线| 久久国产欧美日韩精品| 日韩一级精品视频在线观看| 视频一区中文字幕| 欧美老年两性高潮| 日韩专区中文字幕一区二区| 欧美日韩一区二区三区高清| 亚洲综合一区二区三区| 欧美日韩在线综合| 日本视频中文字幕一区二区三区| 欧美日韩国产精品自在自线| 污片在线观看一区二区| 91精品国产欧美一区二区18| 蜜臀久久99精品久久久久久9| 欧美一区二区视频免费观看| 激情六月婷婷久久| 中文字幕av一区二区三区免费看| av电影在线观看不卡| 一区二区三区四区五区视频在线观看| 色噜噜狠狠色综合欧洲selulu| 亚洲一区二区在线免费看| 欧美日韩视频不卡| 精品在线免费视频| 国产喂奶挤奶一区二区三区| 一道本成人在线| 蜜桃一区二区三区四区| 国产精品私房写真福利视频| 一本色道亚洲精品aⅴ| 午夜视频一区在线观看| 日韩精品一区二区三区蜜臀| 成人aa视频在线观看| 亚洲五码中文字幕| 亚洲精品一区二区三区精华液 | 国产成人日日夜夜| 亚洲欧洲日韩综合一区二区| 欧美私模裸体表演在线观看| 韩国女主播一区| 亚洲欧美日韩成人高清在线一区| 欧美日韩国产系列| 丁香网亚洲国际| 亚洲成人av中文| 日本一区免费视频| 欧美人动与zoxxxx乱| 成人97人人超碰人人99| 久久福利视频一区二区| 亚洲视频1区2区| 精品日韩欧美一区二区| 色一情一伦一子一伦一区| 极品少妇xxxx精品少妇偷拍| 亚洲嫩草精品久久| 欧美精品一区二区三区在线| 在线精品亚洲一区二区不卡| 精品一区二区在线免费观看| 一二三四区精品视频| 国产欧美一区二区精品忘忧草| 欧美日韩高清在线| 不卡一区二区中文字幕| 国产一区欧美二区| 午夜电影一区二区| 中文字幕视频一区| 久久久噜噜噜久久中文字幕色伊伊| 欧美色倩网站大全免费| 99在线精品免费| 国产v日产∨综合v精品视频| 蜜臀av在线播放一区二区三区| 亚洲永久精品国产| 亚洲丝袜另类动漫二区| 国产午夜精品久久| 2020国产精品久久精品美国| 欧美一区二区三区公司| 欧美日韩精品免费| 欧美性三三影院| 欧美图区在线视频| 欧美视频中文字幕| 色中色一区二区| 色综合天天性综合| 成人午夜视频在线观看| 国产suv精品一区二区三区| 国产一区二区0| 国产精品一线二线三线| 激情av综合网| 国产精品69毛片高清亚洲| 狠狠色丁香久久婷婷综| 韩国精品免费视频| 国产中文字幕精品| 国产麻豆9l精品三级站| 国产九色精品成人porny| 国产一区二区不卡| 国产一区二区三区av电影| 激情伊人五月天久久综合| 精品一区二区三区免费毛片爱| 麻豆一区二区在线| 激情综合亚洲精品| 国产河南妇女毛片精品久久久| 国产精品亚洲а∨天堂免在线| 国产精品18久久久久久vr| 成人一区在线看| 91网址在线看| 欧美少妇一区二区| 欧美一区二区三区免费视频| 久久久综合视频| 国产精品全国免费观看高清| 亚洲欧美国产高清| 亚洲成人av资源| 久久不见久久见免费视频1| 国产一区二区三区免费在线观看| 成人激情免费视频| 色老头久久综合| 7777精品伊人久久久大香线蕉的 | 久久久国产综合精品女国产盗摄| 国产亚洲精品免费| 亚洲美女屁股眼交3| 三级欧美韩日大片在线看| 国产一区二区三区免费看| 91啦中文在线观看| 欧美一区二区三区不卡| 日本一区二区免费在线| 亚洲午夜私人影院| 久久国产精品第一页| 91婷婷韩国欧美一区二区| 51精品秘密在线观看| 国产精品嫩草99a| 午夜激情综合网| 懂色av一区二区夜夜嗨| 7777精品伊人久久久大香线蕉最新版| 久久人人超碰精品| 亚洲电影第三页| 99久久婷婷国产| 日韩美女视频在线| 一区二区成人在线观看| 国产精品一区二区无线| 在线不卡a资源高清| 中文字幕亚洲精品在线观看| 久99久精品视频免费观看| 色婷婷国产精品| 国产女人aaa级久久久级| 日本aⅴ免费视频一区二区三区| www.成人在线| 精品国产sm最大网站免费看| 亚洲影视资源网| 99国产一区二区三精品乱码| 精品久久久久香蕉网| 午夜精品123| 色噜噜狠狠成人网p站| 中文字幕一区二区三区色视频 | 337p粉嫩大胆噜噜噜噜噜91av | 国产成人欧美日韩在线电影| 欧美日韩国产另类不卡| 亚洲精品成人a在线观看| 国产99精品在线观看| 精品国产乱码久久久久久久久| 亚洲男人的天堂一区二区| 国产 日韩 欧美大片| 欧美成人女星排名| 日韩电影在线免费观看| 欧美日韩一级二级| 一区二区三区四区在线| 91免费看`日韩一区二区| 国产午夜精品一区二区三区嫩草| 精品一区二区三区香蕉蜜桃 | 欧美日韩一级二级| 亚洲乱码精品一二三四区日韩在线| 国产一区二区三区国产| 日韩精品一区在线观看| 久久99蜜桃精品| 久久综合九色综合久久久精品综合| 天天操天天综合网| 3d动漫精品啪啪一区二区竹菊| 亚洲一区二区三区在线|