標(biāo)題: 如何在單片機(jī)程序中看12864串并口連接? [打印本頁]

作者: 無敵周周    時間: 2017-12-27 19:31
標(biāo)題: 如何在單片機(jī)程序中看12864串并口連接?
各位大大,我在網(wǎng)上看到的一個程序下載到單片機(jī)中,成功了,但是不知道他是串口還是并口傳輸;測試PSB引腳電壓為3.3V穩(wěn)定;測試D0-D7分別在1.3V-2.5V之間,但是數(shù)值跳動;不明白是串口還是并口,附上程序。
#ifndef __yejing_H__
#define __yejing_H__
#define uchar unsigned char
#define uint unsigned int
uchar CMDAddress;
sbit RS=P2^5;
sbit RW=P2^6;
sbit EN=P2^7;

void delay(uchar t)             //延時函數(shù)
{         
        uint x,y;
        for(x=t;x>0;x--)
        for(y=110;y>0;y--);
}
bit busy()                         //判忙標(biāo)志位
{
        bit flag;
        RS=0;
        RW=1;
        EN=1;
        flag=(bit)(P0&0x80);        
        EN=0;
        return flag;
}                                          
void write_cmd(uchar cmd)                  //寫命令字
{
        while(busy());
        RW=0;
        RS=0;
        delay(5);
        P0=cmd;
        EN=1;
        delay(5);
        EN=0;
        delay(5);                 
}
void write_date(uchar dat)            //寫數(shù)據(jù)
{
        while(busy());
        RW=0;
        RS=1;
        delay(5);
        P0=dat;
        EN=1;
        delay(5);
        EN=0;
        delay(5);               
}
void init()                       //初始化
{
        delay(200);
        write_cmd(0x30);      //Extended Function Set(功能設(shè)定控制字)基本指令集 ,8位
        delay(1);
        write_cmd(0x30);       //Function Set 基本指令集
        delay(1);
        write_cmd(0x0c);       //(顯示開關(guān)控制字),全部顯示ON,游標(biāo)OFF,閃爍OFF
        delay(1);
        write_cmd(0x01);      //清屏控制字
        delay(15);
        write_cmd(0x06);          //Entry Mode (進(jìn)入設(shè)定點(diǎn)控制字)光標(biāo)從左向右加一位移動
        delay(1);      
}
void SetAddress(uchar x,uchar y)             //設(shè)置輸入數(shù)據(jù)位置
{
        switch(y)
        {
                case 0:CMDAddress=0x80+x;break;
                case 1:CMDAddress=0x90+x;break;
                case 2:CMDAddress=0x88+x;break;
                case 3:CMDAddress=0x98+x;break;
        }
        write_cmd(CMDAddress);
}
void putstring(uchar x,uchar y,uchar *pdate)             //該行是否完
{
        SetAddress(x,y);
        while(*pdate!='\0')
        {
                 write_date(*pdate++);
        }
}
void show()                               //顯示"溫度"
{        
        putstring(0,0,"溫度:");              //第一排首位子顯示"溫度"兩字
    putstring(0,3,"液晶溫度顯示");        //第三排首位子顯示"液晶溫度顯示"
}        
void display(uint Temp )                 // 顯示溫度值
{
        uint t1,t2,t3        ;                  //,t0,t1,t2                 
        t1=Temp/100%10;
        t2=Temp/10%10;
        t3=Temp%10;           
        write_cmd(0x93);
        write_date(0x30+t1);
        write_date(0x30+t2);
        write_date('.');
        write_date(0x30+t3);
        write_date(0xA1);
        write_date(0xE6);  
}
#endif


作者: MAIF    時間: 2017-12-27 20:03
P0口給8位數(shù)據(jù),是并口的




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