二:液晶的寫命令和寫資料的方法: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...