熱門: 51單片機(jī) | 24小時(shí)必答區(qū) | 單片機(jī)教程 | 單片機(jī)DIY制作 | STM32 | Cortex M3 | 模數(shù)電子 | 電子DIY制作 | 音響/功放 | 拆機(jī)樂園 | Arduino | 嵌入式OS | 程序設(shè)計(jì)
![]() |
發(fā)布時(shí)間: 2020-6-26 09:15
正文摘要:我是按照每個(gè)元件的原理圖裝的線路,之前也檢查了下午也沒有發(fā)現(xiàn)錯(cuò)誤。那些百度到的方法也試過了,也沒用。程序在仿真的時(shí)候沒有問題。 程序 #include<reg51.h> #define uchar unsigned char #define uint unsi ... |
會(huì)不會(huì)是單片機(jī)的引腳沒接對(duì),實(shí)物的引腳和仿真的不一樣的要吧程序里的 sbit LCD_E=P1^7; //液晶使能端 sbit LCD_RS=P1^5; //液晶數(shù)據(jù)命令選擇端 sbit LCD_RW=P1^6; //液晶讀寫選擇端 引腳該為單片機(jī)實(shí)物上面的引腳 |
這程序和你的單片機(jī)硬件不匹配吧 |
這是典型的LCD1602初始化失敗的現(xiàn)象。程序能夠正常仿真,不能用于實(shí)際電路最大可能是LCD1602驅(qū)動(dòng)程序的時(shí)序有問題。看樓主程序中的延時(shí)函數(shù)有疑點(diǎn)。 void delay(unsigned char z) { unsigned char x,y; for(x=z;x>0;x--) for(y=110;y>0;y--); } 從表面看似乎這是1ms延時(shí)程序,實(shí)際由于數(shù)據(jù)類型使用unsigned char,delay(5);的延時(shí)只有577us,要把延時(shí)函數(shù)中數(shù)據(jù)類型改為unsigned int 才能近似1ms。MCU處理不同數(shù)據(jù)類型耗時(shí)也不同! |
Powered by 單片機(jī)教程網(wǎng)