欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: AD雙通道程序(MSP430) [打印本頁]

作者: yue999    時間: 2018-5-30 20:49
標題: AD雙通道程序(MSP430)
#include <msp430f169.h>
typedef unsigned char uchar;
typedef unsigned int  uint;

extern const unsigned char shuzi_table[];

#define LCD_DataIn    P2DIR=0x00    //數據口方向設置為輸入
#define LCD_DataOut   P2DIR=0xff    //數據口方向設置為輸出
#define LCD2MCU_Data  P2IN
#define MCU2LCD_Data  P2OUT
#define LCD_CMDOut    P6DIR|=0xff     //P6口的三位設置為輸出
#define LCD_RS_H      P6OUT|=BIT3      //P6.3
#define LCD_RS_L      P6OUT&=~BIT3     //P6.3
#define LCD_RW_H      P6OUT|=BIT4      //P6.4
#define LCD_RW_L      P6OUT&=~BIT4     //P6.4
#define LCD_EN_H      P6OUT|=BIT5      //P6.5
#define LCD_EN_L      P6OUT&=~BIT5    //P6.5

/*******************************************
函數名稱:Delay_1ms
功    能:延時約1ms的時間
參    數:無
返回值  :無
********************************************/
void Delay_1ms(void)
{
        uchar i;

        for(i = 150;i > 0;i--)  _NOP();
}
/*******************************************
函數名稱:Delay_Nms
功    能:延時N個1ms的時間
參    數:n--延時長度
返回值  :無
********************************************/
void Delay_Nms(uint n)
{
    uint i;

    for(i = n;i > 0;i--)    Delay_1ms();
}
/*******************************************
函數名稱:Write_Cmd
功    能:向液晶中寫控制命令
參    數:cmd--控制命令
返回值  :無
********************************************/
void Write_Cmd(uchar cmd)
{
    uchar lcdtemp = 0;
                       
    LCD_RS_L;
    LCD_RW_H;
    LCD_DataIn;  
    do                       //判忙
    {   
        LCD_EN_H;
               _NOP();                                       
               lcdtemp = LCD2MCU_Data;
               LCD_EN_L;

    }
    while(lcdtemp & 0x80);

    LCD_DataOut;   
    LCD_RW_L;                 
    MCU2LCD_Data = cmd;
    LCD_EN_H;
    _NOP();                                                                         
    LCD_EN_L;
}
/*******************************************
函數名稱:Write_Data
功    能:向液晶中寫顯示數據
參    數:dat--顯示數據
返回值  :無
********************************************/
void  Write_Data(uchar dat)
{
    uchar lcdtemp = 0;   

    LCD_RS_L;
    LCD_RW_H;  
    LCD_DataIn;   
    do                       //判忙
    {   
        LCD_EN_H;
        _NOP();                                               
        lcdtemp = LCD2MCU_Data;
        LCD_EN_L;      
    }
    while(lcdtemp & 0x80);  

    LCD_DataOut;
    LCD_RS_H;
    LCD_RW_L;  

    MCU2LCD_Data = dat;
    LCD_EN_H;
    _NOP();
    LCD_EN_L;
}  
/*******************************************
函數名稱:Ini_Lcd
功    能:初始化液晶模塊
參    數:無
返回值  :無
********************************************/
void Ini_Lcd(void)
{                  
    LCD_CMDOut;    //液晶控制端口設置為輸出

    Delay_Nms(500);
    Write_Cmd(0x30);   //基本指令集
    Delay_1ms();
    Write_Cmd(0x02);   // 地址歸位
    Delay_1ms();
        Write_Cmd(0x0c);   //整體顯示打開,游標關閉
    Delay_1ms();
        Write_Cmd(0x01);   //清除顯示
    Delay_1ms();
        Write_Cmd(0x06);   //游標右移
    Delay_1ms();
        Write_Cmd(0x80);   //設定顯示的起始地址
}
/*******************************************
函數名稱:Disp_HZ
功    能:控制液晶顯示漢字
參    數:addr--顯示位置的首地址
          pt--指向顯示數據的指針
          num--顯示字符個數
返回值  :無
********************************************/
void Disp_HZ(uchar addr,const uchar * pt,uchar num)
{
    uchar i;
               

AD雙通道-成功.zip

203.97 KB, 下載次數: 26, 下載積分: 黑幣 -5






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1