CT107D(藍橋杯)開發板液晶模組的使用

2021-09-14 03:20:36 字數 3171 閱讀 9748

二:液晶的寫命令和寫資料的方法:dat 要寫入的數;當rs=0;的時候寫入的是命令當rs=1;的時候寫入的是資料

void lcd_com(uchar dat)  //寫命令void lcd_write(uchar dat)   //寫資料

三:lcd1602一些對應的指令及初始化;

功能:設定資料匯流排位數、顯示的行數及字型。引數設定的情況如下:

位名   設定

dl     0=資料介面為 4 位     1=資料介面為 8 位 

n     0=顯示 1 行     1=顯示 2 行

f     0=5×7 點陣/每字元     1=5×10 點陣/每字元  x為任意值

0x32是四位資料介面設定;0x38是八位資料介面設定;且顯示兩行;

0x0c  開顯示不顯示游標 0x0e 顯示游標但不閃爍,0x0f開游標並且閃爍

0x06 寫乙個游標右移,0x04游標左移,

0x01;清屏指令;所有顯示清零;指標指向左上第乙個;

初始化**:

void lcd_init()

四:初始化之後要確定顯示位置;

lcd1602的ddrom裡面有80位元組的空間用來寄存待顯示的字元**上表就是對應的關係;

要顯示字元時要先輸入顯示字元位址,也就是告訴模組在**顯示字元,例如第二行第乙個字元的位址是 40h, 那麼是否直接寫入 40h 就可以將游標定位在第二行第乙個字元的位置呢?這樣不行,因為寫入顯示位址時要求最高位 d7恆定為高電平 1 所以實際寫入的資料應該是 01000000b(40h)+10000000b(80h)=11000000b(c0h)。就是在寫入位址的時候要加上0x80;

五:lcd顯示時間溫度;

**如下:

#include #include#include#include#define uchar unsigned char

#define uint unsigned int

#define add p0 //lcd資料埠

sbit se=p1^2; // lcd使能埠

sbit rw=p2^1; // lcd讀寫埠

sbit rs=p2^0; // lcd寫資料或寫命令埠

uchar time=; //初始時間 2019-3-28 23:59:55 星期三

//秒,分,時,日,月,星期,年

uchar du1[16]; // 第一行

uchar du2[16]; // 第二行

void lcd_com(uchar dat); // lcd寫命令

void lcd_write(uchar dat); //lcd寫資料

void lcd_init(); //lcd初始化

void ds1302_init(); //時鐘初始化

void ds1302_read(); //讀取時鐘

void display1(); //lcd第一行顯示

void display2(); //lcd第二行顯示

uint ds18b20();

void delayms(uint ms)

//通過單匯流排向ds18b20寫乙個位元組

void write_ds18b20(unsigned char dat)

delay_onewire(5);

}//從ds18b20讀取乙個位元組

unsigned char read_ds18b20(void)

delay_onewire(5);

} return dat;

}//ds18b20裝置初始化

bit init_ds18b20(void)

時鐘驅動

/*

程式說明: ds1302驅動程式

軟體環境: keil uvision 4.10

硬體環境: ct107微控制器綜合實訓平台 8051,12mhz

日 期: 2011-8-9

*/#include #include sbit sck=p1^7;

sbit sda=p2^3;

sbit rst = p1^3; // ds1302復位

void write_ds1302(unsigned char temp)

}

void write_ds1302_byte( unsigned char address,unsigned char dat )

unsigned char read_ds1302_byte ( unsigned char address )

rst=0; _nop_();

sck=0; _nop_();

sck=1; _nop_();

sda=0; _nop_();

sda=1; _nop_();

return (temp);

}

藍橋杯CT107D比賽開發板參賽筆記(一)

藍橋杯大賽的專用實驗板是國信長天公司的ct107d微控制器板子,這個板子用起來太多不順手,相信使用過的同學也深有體會。不人性的一面體現在板子擴充套件的四片74hc573鎖存器,這對新手來說打擊可不小。好,首先來看看這坑人的573鎖存器。上圖。四片573由上到下分別連線8位led,數碼管段選,數碼管位...

CT107D(藍橋杯)開發板超聲波模組

超聲波模組測距的簡單寫法 1 簡單原理 通過p10引腳傳送8個40khz的脈衝之後開始定時器1開始計時 當p11埠收到訊號的時候停止計時 因為聲音在空氣傳播的速度為340m s,又因為微控制器乙個機器週期 就是定時器計一次時間 大概是1us 所以每us的距離大概為340 10 3cm 10 6 因為...

CT107D藍橋杯EEPROM使用(8)

今天我給大家講一下eeprom的使用,該記憶體採用的是iic通訊,所有我們要有乙個iic驅動程式,或者自己寫乙個,我前面寫過乙個,我這裡就不寫了。那麼下面我寫乙個開機計數的程式吧,這裡需要顯示出來。這裡我選擇數碼管顯示,數碼管驅動前面也有,我就直接用了 unsigned char read eepr...