版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C51單片機(jī)對1602lcd模塊的驅(qū)動(dòng)手上有一片1602的LCD,ks0066的驅(qū)動(dòng)芯片,帶LED背光。參考網(wǎng)站上的一些資料,寫了個(gè)驅(qū)動(dòng)程序,寫完了才發(fā)現(xiàn),跟網(wǎng)上流傳的代碼基本上差不多/*=======================================1602lcd模塊驅(qū)動(dòng)程序===============說明:1.晶體:11.0592MHz2.1602驅(qū)動(dòng):ks0066******************************************/#include#include#definelcm_rsP2_7//寄存器選擇#definelcm_rwP2_6//讀/寫控制#definelcm_eP2_5//讀/寫使能#definelcm_blkP2_4//背光led1.off0.on#definelcm_dataP0//函數(shù)聲明voiddelay5ms(void);voiddelay400ms(void);voidlcm_write_command(unsignedcharwc_lcm,busy_c);/***********************************//函數(shù)名稱:voidlcm_ini(void)//傳遞參數(shù):無//返回值:無//函數(shù)功能:LCM初始化//函數(shù)說明:***********************************/voidlcm_ini(void){lcm_data=0;lcm_write_command(0x38,0);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口,不檢測忙delay5ms();lcm_write_command(0x38,0);delay5ms();lcm_write_command(0x38,0);//三次顯示模式,不檢測忙delay5ms();lcm_write_command(0x38,1);//16*2顯示,5*7點(diǎn)陣,8位數(shù)據(jù)接口,需要檢測忙lcm_write_command(0x80,1);//關(guān)閉顯示lcm_write_command(0x01,1);//clear顯示lcm_write_command(0x06,1);//指針和光標(biāo)+1,不滾屏lcm_write_command(0x0c,1);//開顯示,不顯示光標(biāo)}/***********************************//函數(shù)名稱:unsignedcharlcm_read_status(void)//傳遞參數(shù):無//返回值:unsignedchar//函數(shù)功能:讀lcm狀態(tài),等待lcm空閑//函數(shù)說明:DB7=1,忙***********************************/unsignedcharlcm_read_status(void){lcm_data=0xff;lcm_rs=0;lcm_rw=1;lcm_e=0;lcm_e=0;lcm_e=1;while(lcm_data&0x80);returnlcm_data;}/***********************************//函數(shù)名稱:voidlcm_write_data(unsignedcharwd_lcm)//傳遞參數(shù):unsignedcharwd_lcm//返回值:無//函數(shù)功能:lcm寫數(shù)據(jù)//函數(shù)說明:***********************************/voidlcm_write_data(unsignedcharwd_lcm){lcm_read_status();//判斷l(xiāng)cm忙標(biāo)志lcm_data=wd_lcm;lcm_rs=1;lcm_rw=0;lcm_e=0;lcm_e=0;lcm_e=1;}/***********************************//函數(shù)名稱:voidlcm_write_command(unsignedcharwc_lcm,busy_c)//傳遞參數(shù):unsignedcharwc_lcm,busy_c//返回值:無//函數(shù)功能:lcm寫命令//函數(shù)說明:busy_c=0是,不用檢測忙信號***********************************/voidlcm_write_command(unsignedcharwc_lcm,busy_c){if(busy_c)lcm_read_status();lcm_data=wc_lcm;lcm_rs=0;lcm_rw=0;lcm_e=0;lcm_e=0;lcm_e=1;}/***********************************//函數(shù)名稱:voiddisp_one_char(unsignedcharx,unsignedchary,unsignedchardisp_data)//傳遞參數(shù):unsignedcharx,unsignedchary,unsignedchardisp_data//返回值:無//函數(shù)功能:指定位置顯示一個(gè)字符//函數(shù)說明:***********************************/voiddisp_one_char(unsignedcharx,unsignedchary,unsigneddisp_data){y=y&0x01;x=x&0x0f;//限制2行,沒行15個(gè)字if(y)x=x+0x40;//算RAM地址x=x+0x80;lcm_write_command(x,0);lcm_write_data(disp_data);}/***********************************//函數(shù)名稱:voiddisp_one_char(unsignedcharx,unsignedchary,unsignedchar*disp_data)//傳遞參數(shù):unsignedcharx,unsignedchary,unsignedchar*disp_data//返回值:無//函數(shù)功能:指定位置顯示一串字符//函數(shù)說明:***********************************/voiddisp_list_char(unsignedcharx,unsignedchary,unsignedchar*disp_data){unsignedcharchar_length,j;char_length=strlen(disp_data);y=y&0x1;x=x&0x0f;for(j=0;j{disp_one_char(x,y,disp_data[j]);//顯示一個(gè)字符x++;}}/***********************************//函數(shù)名稱:voiddelay5ms(void)//傳遞參數(shù):無//返回值:無//函數(shù)功能:延時(shí)5MS//函數(shù)說明:***********************************/voiddelay5ms(void){unsignedintTempCyc=5552;while(TempCyc--);}/***********************************//函數(shù)名稱:voiddelay400ms(void)//傳遞參數(shù):無//返回值:無//函數(shù)功能:L延時(shí)400MS//函數(shù)說明:LCM開機(jī)延時(shí)***********************************/voiddelay400ms(void){unsignedcharTempCycA=5;unsignedintTempCycB;while(TempCycA--){TempCycB=7269;while(TempCycB--);};}/*****d******************************//函數(shù)名稱:voidmain(void)//傳遞參數(shù):無//返回值:無//函數(shù)功能:主函數(shù)//函數(shù)說明:************************************/voidmain(void){delay400ms();lcm_ini();disp_list_char(1,0,“Welcome”);disp_list_char(1,0,“”)while(1);}以上的程序只是簡單的顯示兩行字符,沒有滾屏和背光4線液晶1602的C51程序----------------------------------|LCM-----51|LCM-----51|----------------------------------|RS-----P2.1|DB4-----P1.4||RW-----P2.0|DB5-----P1.5||E-----P2.2|DB6-----P1.6||VLCD接1K電阻到GND|DB7-----P1.7|---------------------------------------------------[注:AT89S51使用12M晶振]=============================================================*/voidwritelcd(bitcommand,unsignedcharddata){ReadStatusLCM();//檢測忙LCM_Data=(ddata&0xf0)|(P1&0x0f);LCM_RW=0;if(command==0)LCM_RS=0;elseLCM_RS=1;LCM_E=1;LCM_E=0;LCM_E=0;LCM_Data=((ddata《《4)&0xf0)|(P1&0x0f);if(command==0)LCM_RS=0;elseLCM_RS=1;LCM_E=1;LCM_E=0;LCM_E=0;}//讀狀態(tài)unsign
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年上海房屋裝修工程調(diào)解合同
- 2024年度二手房出售合同中的附件:房產(chǎn)證復(fù)印件及交易證明
- 2024年度承包合同園林綠化工程承包合同(04版)
- 2024年度汽車銷售代理權(quán)合同
- 保潔個(gè)人年終工作總結(jié)
- 2024年庫房火災(zāi)保險(xiǎn)合同
- 2024年奶制品銷售協(xié)議
- 2024雙方關(guān)于電商平臺(tái)運(yùn)營合作的合同
- 2024丙丁雙方廣告發(fā)布與代理合同
- 2024年建筑工程施工安全防護(hù)補(bǔ)充協(xié)議
- 辦公樓物業(yè)服務(wù)管理的培訓(xùn)
- 智慧能源管理平臺(tái)建設(shè)項(xiàng)目解決方案
- JTG∕T F30-2014 公路水泥混凝土路面施工技術(shù)細(xì)則
- 2024年高中語文學(xué)業(yè)水平過關(guān)測試四-名句名篇默寫積累過關(guān)訓(xùn)練(全國通用)學(xué)生版
- 糖尿病性舞蹈病
- 醫(yī)學(xué)類-教學(xué)查房異位妊娠(宮外孕)
- 眼視光技術(shù)職業(yè)生涯規(guī)劃大賽
- 《第八課 我的身體》參考課件
- 肥料創(chuàng)業(yè)計(jì)劃書
- 信息通信網(wǎng)絡(luò)運(yùn)行管理員(高級)理論考試題庫(學(xué)員用)
- 公司卷煙物流管理規(guī)范
評論
0/150
提交評論