国产三级在线看完整版-内射白嫩大屁股在线播放91-欧美精品国产精品综合-国产精品视频网站一区-一二三四在线观看视频韩国-国产不卡国产不卡国产精品不卡-日本岛国一区二区三区四区-成年人免费在线看片网站-熟女少妇一区二区三区四区

儀器網(wǎng)(yiqi.com)歡迎您!

| 注冊2 登錄
網(wǎng)站首頁-資訊-話題-產(chǎn)品-評測-品牌庫-供應(yīng)商-展會-招標-采購-知識-技術(shù)-社區(qū)-資料-方案-產(chǎn)品庫-視頻

問答社區(qū)

LCD1602 從八位數(shù)據(jù)輸出轉(zhuǎn)四位數(shù)據(jù)輸出 要做哪些改變

了_q759312805 2012-07-05 05:28:00 498  瀏覽
  • C編寫,具體是哪些函數(shù)需要改變?我就改了初始化函數(shù)和寫命令、寫數(shù)據(jù)函數(shù),但是輸出屏幕空白代碼如下voidLCD_Init(void)//初始化的{LCD_CTRL_DIR=0x00;//LCD控制用寄存器置為輸出LCD... C編寫,具體是哪些函數(shù)需要改變?我就改了初始化函數(shù)和寫命令、寫數(shù)據(jù)函數(shù),但是輸出屏幕空白
    代碼如下
    void LCD_Init(void) //初始化的

    {
    LCD_CTRL_DIR = 0x00; // LCD控制用寄存器置為輸出
    LCD_DATA_DIR = 0x00; //LCD數(shù)據(jù)用寄存器也置為輸出

    LCD_DATA = 0x00; //清數(shù)據(jù)寄存器

    DelayMS(5); //數(shù)據(jù)手冊要求大于4.1ms

    // 開始輸出軟件復(fù)位序列
    LCD_Write_CMD(0x28);
    DelayMS(1); //數(shù)據(jù)手冊要求等待時間大于100us

    LCD_Write_CMD(0x28);
    DelayMS(1); //數(shù)據(jù)手冊要求等待時間大于40us

    LCD_Write_CMD(0x28);
    DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

    LCD_E = 1 ;
    NOP();
    NOP();
    LCD_E = 0 ;

    LCD_Write_CMD(0x28); //顯示模式設(shè)為2行,8位數(shù)據(jù)模式
    DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

    LCD_Write_CMD(DISP_OFF); // 關(guān)顯示
    DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

    LCD_Write_CMD(ENTRY_INC); //設(shè)定輸入方式為地址增量
    DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

    LCD_Write_CMD(CLR_DISP); // 清空屏幕顯示
    DelayMS(1) ; //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us
    // 復(fù)位序列結(jié)束

    LCD_Write_CMD(DISP_ON); // 開啟LCD顯示
    DelayMS(1);

    } //向LCD寫指令 void LCD_Write_CMD( unsigned char LCD_CMD) {DelayMS(1);
    LCD_RS=0;
    LCD_DATA &= 0x0F;
    LCD_DATA |= (LCD_CMD&0xF0);
    LCD_E = 1 ;
    NOP();
    NOP();
    LCD_E = 0 ;
    DelayMS(1) ;

    LCD_CMD=LCD_CMD<<4;
    LCD_DATA &= 0x0F;
    LCD_DATA |= LCD_CMD&0xF0;
    LCD_E = 1 ;
    NOP();
    NOP();
    LCD_E = 0 ;
    DelayMS(1) ;
    } //向LCD寫數(shù)據(jù) void LCD_Write_Data( unsigned char LCD_CMD) { DelayMS(1); LCD_RS=0; LCD_DATA &= 0x0F; LCD_DATA |= (LCD_CMD&0xF0); LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; LCD_CMD=LCD_CMD<<4; LCD_DATA &= 0x0F; LCD_DATA |= LCD_CMD&0xF0; LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; } 展開

參與評論

全部評論(3條)

  • 芮芮190 2012-07-06 00:00:00
    寫入COM的函數(shù),要有兩個:8位總線、4位總線。 1.硬件連接時選擇高4位線; 2.初始化的diyi步,要按照8位線來寫入;   寫入的命令字的高四位,即把LCD初始化成為4位總線; 3.后續(xù)的初始化、以及以后再寫入數(shù)據(jù),都按照4位總線來寫入;   即:先送原來一個字節(jié)的高4位,再送低4位。 關(guān)鍵是diyi步,必須按照8位總線寫入。

    贊(11)

    回復(fù)(0)

    評論

  • dianchi2017 2016-02-13 00:00:00
    Initial Program Code Example For 8051 MPU(8 Bit Interface): ;--------------------------------------------------------------------------------- INITIAL_START: CALL DELAY40mS MOV A,#38H ;FUNCTION SET CALL WRINS_NOCHK ;8 bit,N=1,5*7dot CALL DELAY37uS MOV A,#38H ;FUNCTION SET CALL WRINS_NOCHK ;8 bit,N=1,5*7dot CALL DELAY37uS MOV A,#0FH ;DISPLAY ON CALL WRINS_CHK CALL DELAY37uS MOV A,#01H ;CLEAR DISPLAY CALL WRINS_CHK CALL DELAY1.52mS MOV A,#06H ;ENTRY MODE SET CALL WRINS_CHK ;CURSOR MOVES TO RIGHT CALL DELAY37uS ;--------------------------------------------------------------------------------- MAIN_START: XXXX XXXX XXXX XXXX . . . . ;--------------------------------------------------------------------------------- WRINS_CHK: CALL CHK_BUSY WRINS_NOCHK: CLR RS ;EX:Port 3.0 CLR RW ;EX:Port 3.1 SETB E ;EX:Port 3.2 MOV P1,A ;EX:Port 1=Data Bus CLR E MOV P1,#FFH ;For Check Busy Flag RET ;--------------------------------------------------------------------------------- CHK_BUSY: ;Check Busy Flag CLR RS SETB RW SETB E JB P1.7,$ CLR E RET Initial Program Code Example For 8051 MPU(4 Bit Interface): ; ------------------------------------------------------------------- INITIAL_START: CALL DELAY40mS MOV A,#38H ;FUNCTION SET CALL WRINS_ONCE ;8 bit,N=1,5*7dot CALL DELAY37uS MOV A,#28H ;FUNCTION SET CALL WRINS_NOCHK ;4 bit,N=1,5*7dot CALL DELAY37uS MOV A,#28H ;FUNCTION SET CALL WRINS_NOCHK ;4 bit,N=1,5*7dot CALL DELAY37uS MOV A,#0FH ;DISPLAY ON CALL WRINS_CHK CALL DELAY37uS MOV A,#01H ;CLEAR DISPLAY CALL WRINS_CHK CALL DELAY1.52mS MOV A,#06H ;ENTRY MODE SET CALL WRINS_CHK CALL DELAY37uS ;------------------------------------------------------------------- MAIN_START: XXXX XXXX XXXX XXXX . . . . . . . . . . ;------------------------------------------------------------------- WRINS_CHK: CALL CHK_BUSY WRINS_NOCHK: PUSH A ANL A,#F0H CLR RS ;EX:Port 3.0 CLR RW ;EX:Port 3.1 SETB E ;EX:Port 3.2 MOV P1,A ;EX:Port1=Data Bus CLR E POP A SWAP A WRINS_ONCE: ANL A,#F0H CLR RS CLR RW SETB E MOV P1,A CLR E MOV P1,#FFH ;For Check Bus Flag RET ;------------------------------------------------------------------- CHK_BUSY: ;Check Busy Flag PUSH A MOV P1,#FFH $1 CLR RS SETB RW SETB E MOV A,P1 CLR E MOV P1,#FFH CLR RS SETB RW SETB E NOP CLR E JB A.7,$1 POP A RET 你好像沒寫check busy這一段,4bits傳輸需要更多的時間,寫延時有可能時間沒達到,

    贊(20)

    回復(fù)(0)

    評論

  • 天空空留 2016-10-08 00:00:00
    可以寫入COM的函數(shù),要有兩個:8位總線、4位總線。 1.硬件連接時選擇高4位線。 2.初始化的diyi步,要按照8位線來寫入;寫入的命令字的高四位,即把LCD初始化成為4位總線。 3.后續(xù)的初始化、以及以后再寫入數(shù)據(jù),都按照4位總線來寫入;即:先送原來一個字節(jié)的高4位,再送低4位。 工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。注:為了表示的方便 ,后文皆以1表示高電平,0表示低電平。1602液晶也叫1602字符型液晶,它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊。它由若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符,每位之間有一個點距的間隔,每行之間也有間隔,起到了字符間距和行間距的作用,正因為如此所以它不能很好地顯示圖形(用自定義CGRAM,顯示效果也不好)。

    贊(12)

    回復(fù)(0)

    評論

熱門問答

LCD1602 從八位數(shù)據(jù)輸出轉(zhuǎn)四位數(shù)據(jù)輸出 要做哪些改變
C編寫,具體是哪些函數(shù)需要改變?我就改了初始化函數(shù)和寫命令、寫數(shù)據(jù)函數(shù),但是輸出屏幕空白代碼如下voidLCD_Init(void)//初始化的{LCD_CTRL_DIR=0x00;//LCD控制用寄存器置為輸出LCD... C編寫,具體是哪些函數(shù)需要改變?我就改了初始化函數(shù)和寫命令、寫數(shù)據(jù)函數(shù),但是輸出屏幕空白
代碼如下
void LCD_Init(void) //初始化的

{
LCD_CTRL_DIR = 0x00; // LCD控制用寄存器置為輸出
LCD_DATA_DIR = 0x00; //LCD數(shù)據(jù)用寄存器也置為輸出

LCD_DATA = 0x00; //清數(shù)據(jù)寄存器

DelayMS(5); //數(shù)據(jù)手冊要求大于4.1ms

// 開始輸出軟件復(fù)位序列
LCD_Write_CMD(0x28);
DelayMS(1); //數(shù)據(jù)手冊要求等待時間大于100us

LCD_Write_CMD(0x28);
DelayMS(1); //數(shù)據(jù)手冊要求等待時間大于40us

LCD_Write_CMD(0x28);
DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;

LCD_Write_CMD(0x28); //顯示模式設(shè)為2行,8位數(shù)據(jù)模式
DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

LCD_Write_CMD(DISP_OFF); // 關(guān)顯示
DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

LCD_Write_CMD(ENTRY_INC); //設(shè)定輸入方式為地址增量
DelayMS(1); //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us

LCD_Write_CMD(CLR_DISP); // 清空屏幕顯示
DelayMS(1) ; //數(shù)據(jù)手冊要求查忙信號或者等待時間超過40us
// 復(fù)位序列結(jié)束

LCD_Write_CMD(DISP_ON); // 開啟LCD顯示
DelayMS(1);

} //向LCD寫指令 void LCD_Write_CMD( unsigned char LCD_CMD) {DelayMS(1);
LCD_RS=0;
LCD_DATA &= 0x0F;
LCD_DATA |= (LCD_CMD&0xF0);
LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;
DelayMS(1) ;

LCD_CMD=LCD_CMD<<4;
LCD_DATA &= 0x0F;
LCD_DATA |= LCD_CMD&0xF0;
LCD_E = 1 ;
NOP();
NOP();
LCD_E = 0 ;
DelayMS(1) ;
} //向LCD寫數(shù)據(jù) void LCD_Write_Data( unsigned char LCD_CMD) { DelayMS(1); LCD_RS=0; LCD_DATA &= 0x0F; LCD_DATA |= (LCD_CMD&0xF0); LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; LCD_CMD=LCD_CMD<<4; LCD_DATA &= 0x0F; LCD_DATA |= LCD_CMD&0xF0; LCD_E = 1 ; NOP(); NOP(); LCD_E = 0 ; DelayMS(1) ; } 展開
2012-07-05 05:28:00 498 3
數(shù)顯游標卡尺數(shù)據(jù)輸出格式
想做一個數(shù)顯測量裝置但不知道數(shù)顯游標卡尺的數(shù)據(jù)輸出格式,廠家拒絕提供 請問有哪位知道啊? 急!
2016-12-01 07:17:39 633 1
有沒有帶數(shù)據(jù)輸出接口的數(shù)字式壓力表???
我需要提取液壓系統(tǒng)實時變化的壓力做分析!... 我需要提取液壓系統(tǒng)實時變化的壓力做分析! 展開
2010-01-22 14:43:14 424 1
西門子PLC可以和位移傳感器相接,并做出數(shù)據(jù)輸出么?
做礦井提升機閘瓦間隙的設(shè)計,要求用位移傳感器檢測位移,然后數(shù)字屏顯示。并且當位移超過一定距離后提示報警。用PLC做處理器可以么?可以給個類似的教案到我郵箱里么?huoshanluyi@h... 做礦井提升機閘瓦間隙的設(shè)計,要求用位移傳感器檢測位移,然后數(shù)字屏顯示。并且當位移超過一定距離后提示報警。用PLC做處理器可以么?可以給個類似的教案到我郵箱里么?huoshanluyi@hotmail.com 展開
2009-05-17 03:23:24 436 1
誰能推薦一款激光測距儀,范圍10M 精度0.1mm 帶數(shù)據(jù)輸出串口
 
2018-04-05 21:03:57 475 2
誰能推薦個支持數(shù)據(jù)輸出的測距儀?能跟plc想連的
不要太貴
2013-09-02 07:49:25 438 2
數(shù)據(jù)采集器的輸入和輸出通道數(shù)不同是怎么實現(xiàn)數(shù)據(jù)輸出的
例如一個數(shù)據(jù)采集器模擬輸入單端32路(出廠默認),差分16路,但是模擬輸出通道數(shù)為4路,若有10個信號模擬輸入,那這10路信號模擬輸出怎么實現(xiàn)?分時復(fù)用嗎?怎么知道輸出的各是哪路?... 例如一個數(shù)據(jù)采集器模擬輸入單端32路(出廠默認),差分16路,但是模擬輸出通道數(shù)為4路,若有10個信號模擬輸入,那這10路信號模擬輸出怎么實現(xiàn)? 分時復(fù)用嗎? 怎么知道輸出的各是哪路? 展開
2015-02-26 03:12:40 526 1
從化學發(fā)光轉(zhuǎn)換到熒光檢測知多少
 
2017-05-31 09:35:40 428 1
lcd1602怎么使用?
程序?... 程序? 展開
2016-11-07 18:06:51 324 1
福祿克八位半數(shù)字多用表使用注意事項

八位半數(shù)字多用表是市面上常見的高精度數(shù)字多用表,一臺八位半的數(shù)字多用表價格也是不菲的,今天安泰測試就給大家提供幾點使用小貼士,希望大家在使用它時要多多注意。

DY,對于精密儀器來說,為了使儀器達到規(guī)定指標,預(yù)熱是必要的。Fluke 8588A/8558A的預(yù)熱時間是最多3小時或關(guān)機時間的兩倍。使用儀器時,您需要保持實驗室環(huán)境溫濕度適宜。

第二,在未接入被測樣品之前,您可能會發(fā)現(xiàn)數(shù)字表上會顯示一些數(shù)值,這是正?,F(xiàn)象。使用前,校零可消除數(shù)字表內(nèi)部放大器的零漂和失調(diào)。按下ZERO鍵進入校零菜單,電壓和電阻使用隨機附帶的四線短路片校零,這款四線短路片使用了特殊合金,時間常數(shù)小,專為校零設(shè)計。電流使接線端子開路校零。

第二,測試線有助于獲得理想的測試結(jié)果,應(yīng)選擇低熱電勢和有屏蔽的測試線。測試線的影響在低電流、高頻率和大電阻尤為明顯。

第四,福祿克的八位半數(shù)表提供了多種電阻測量模式,包含2W標準——適合大電阻測量、4W標準——適合小電阻測量、4W Tru——消除引線接觸點熱電勢、2W HV/4W HV ——適合高阻測量(不可測合成電阻源)、LO I啟用——低激勵電流。您可以依據(jù)實際測量情況選擇。

以上就是安泰測試為大家分享的福祿克八位半數(shù)字多用表使用小貼士,正確的使用儀器不僅能延長儀器使用壽命,也能讓你的工作事半功倍,希望大家在使用儀器時嚴格按照使用說明,如果您在使用儀器過程中有什么問題,歡迎訪問安泰測試網(wǎng)。


2021-08-23 13:48:00 345 0
LCD1602如何接單片機?
希望是您本身就做過這個實驗,因為我LED-接單片機的地,LED+接單片機的電源VCC,三個(E,RW,RS)控制引腳接P2口,8個數(shù)據(jù)信號接P1口。VSS接單片機地,VCC接單片機的電源VCC,還有一個... 希望是您本身就做過這個實驗,因為我LED-接單片機的地,LED+接單片機的電源VCC,三個(E,RW,RS)控制引腳接P2口,8個數(shù)據(jù)信號接P1口。VSS接單片機地,VCC接單片機的電源VCC,還有一個好像是液晶驅(qū)動(液晶第3腳)接單片機電源VCC,結(jié)果亮,但程序不能顯示。(程序沒問題的) 大都說的都很好,只能投票了 展開
2010-06-03 16:32:34 443 7
四位半數(shù)字電壓表是什么
 
2017-12-28 23:16:55 557 1
斷路器需要做哪些實驗
新斷路器投運時需要做的實驗項目? 還有投運的斷路器日常運行維護中需要做哪些實驗項目?
2010-05-04 17:20:21 332 3
試驗設(shè)備需要做哪些檢測?
 
2011-02-23 21:36:36 409 1
冠心病需要做哪些檢查
 
2016-09-22 07:11:04 368 2
裝修哪些材料要做輻射檢測?
廈門市這一塊,哪些材料是要做輻射檢測,哪些環(huán)保材料要做檢測。
2011-11-15 06:08:22 442 1
送檢報審要做哪些資料
送檢報審要做哪些資料... 送檢報審要做哪些資料 展開
2010-08-02 13:21:43 607 1
12864和LCD1602的區(qū)別是什么?各自的優(yōu)勢是哪些?
 
2018-01-18 15:48:44 432 1

4月突出貢獻榜

推薦主頁

最新話題