找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3182|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

AD雙通道程序(MSP430)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:341716 發(fā)表于 2018-5-30 20:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#include <msp430f169.h>
typedef unsigned char uchar;
typedef unsigned int  uint;

extern const unsigned char shuzi_table[];

#define LCD_DataIn    P2DIR=0x00    //數(shù)據(jù)口方向設(shè)置為輸入
#define LCD_DataOut   P2DIR=0xff    //數(shù)據(jù)口方向設(shè)置為輸出
#define LCD2MCU_Data  P2IN
#define MCU2LCD_Data  P2OUT
#define LCD_CMDOut    P6DIR|=0xff     //P6口的三位設(shè)置為輸出
#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

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

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

    for(i = n;i > 0;i--)    Delay_1ms();
}
/*******************************************
函數(shù)名稱:Write_Cmd
功    能:向液晶中寫控制命令
參    數(shù):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;
}
/*******************************************
函數(shù)名稱:Write_Data
功    能:向液晶中寫顯示數(shù)據(jù)
參    數(shù):dat--顯示數(shù)據(jù)
返回值  :無
********************************************/
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;
}  
/*******************************************
函數(shù)名稱:Ini_Lcd
功    能:初始化液晶模塊
參    數(shù):無
返回值  :無
********************************************/
void Ini_Lcd(void)
{                  
    LCD_CMDOut;    //液晶控制端口設(shè)置為輸出

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

AD雙通道-成功.zip

203.97 KB, 下載次數(shù): 26, 下載積分: 黑幣 -5

評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表