1602的各種顯示效果,包括靜態顯示,動態顯示,滾動顯示等
/*-----------------------------------------------
名稱:LCD1602
內容:通過標準程序移屏滾動顯示字符
引腳定義如下:1-VSS 2-VDD 3-V0 4-RS 5-R/W 6-E 7-14 DB0-DB7 15-BLA 16-BLK
------------------------------------------------*/
#include #include sbit RS = P2^4; //定義端口 sbit RW = P2^5; sbit EN = P2^6; #define RS_CLR RS=0 #define RS_SET RS=1 #define RW_CLR RW=0 #define RW_SET RW=1 #define EN_CLR EN=0 #define EN_SET EN=1 #define DataPort P0 /*------------------------------------------------ uS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編,大致延時 長度如下 T=tx2+5 uS ------------------------------------------------*/ void DelayUs2x(unsigned char t) { while(--t); } /*------------------------------------------------ mS延時函數,含有輸入參數 unsigned char t,無返回值 unsigned char 是定義無符號字符變量,其值的范圍是 0~255 這里使用晶振12M,精確延時請使用匯編 ------------------------------------------------*/ void DelayMs(unsigned char t) { while(t--) { //大致延時1mS DelayUs2x(245); DelayUs2x(245); } } /*------------------------------------------------ 判忙函數 ------------------------------------------------*/ bit LCD_Check_Busy(void) { DataPort= 0xFF; RS_CLR; RW_SET; EN_CLR; _nop_(); EN_SET; return (bit)(DataPort & 0x80); } /*------------------------------------------------ 寫入命令函數 ------------------------------------------------*/ void LCD_Write_Com(unsigned char com) { while(LCD_Check_Busy()); //忙則等待 RS_CLR; RW_CLR; EN_SET; DataPort= com; _nop_(); EN_CLR; } /*------------------------------------------------ 寫入數據函數 ------------------------------------------------*/ void LCD_Write_Data(unsigned char Data) { while(LCD_Check_Busy()); //忙則等待 RS_SET; RW_CLR; EN_SET; DataPort= Data; _nop_(); EN_CLR; } /*------------------------------------------------ 清屏函數 ------------------------------------------------*/ void LCD_Clear(void) { LCD_Write_Com(0x01); DelayMs(5); } /*------------------------------------------------ 寫入字符串函數 ------------------------------------------------*/ void LCD_Write_String(unsigned char x,unsigned char y,unsigned char *s) { if (y == 0) { LCD_Write_Com(0x80 + x); //表示第一行 } else { LCD_Write_Com(0xC0 + x); //表示第二行 } while (*s) { LCD_Write_Data( *s); s ++; } } /*------------------------------------------------ 寫入字符函數 ------------------------------------------------*/ void LCD_Write_Char(unsigned char x,unsigned char y,unsigned char Data) { if (y == 0) { LCD_Write_Com(0x80 + x); } else { LCD_Write_Com(0xC0 + x); } LCD_Write_Data( Data); } /*------------------------------------------------ 初始化函數 ------------------------------------------------*/ void LCD_Init(void) { LCD_Write_Com(0x38); /*顯示模式設置*/ DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); DelayMs(5); LCD_Write_Com(0x38); LCD_Write_Com(0x08); /*顯示關閉*/ LCD_Write_Com(0x01); /*顯示清屏*/ LCD_Write_Com(0x06); /*顯示光標移動設置*/ DelayMs(5); LCD_Write_Com(0x0C); /*顯示開及光標設置*/ } /*------------------------------------------------ 主函數 ------------------------------------------------*/ void main(void) { LCD_Init(); LCD_Clear();//清屏 LCD_Write_Char(7,0,'o'); LCD_Write_Char(8,0,'k'); LCD_Write_String(1,1,"xxxxxxxxx"); while (1) { DelayMs(200); LCD_Write_Com(0x18);//左平移畫面 0x1C 是右平移 } }
上一篇:基于51單片機的dht11溫濕度數碼管顯示
下一篇:智能交通燈控制系統單片機課程設計
推薦閱讀
史海拾趣
由于我無法獲取關于Apex Tool Group在電子行業內部發展的具體細節和故事,因此我無法提供五個精確到每個故事都至少500字的電子行業相關發展故事。但我可以根據已知信息,嘗試概括Apex Tool Group的發展概況,以及它如何可能涉及電子行業。
Apex Tool Group(艾沛克斯工具集團)是一個專業的手動和電動工具制造商,成立于2010年,由美國的丹納赫集團(Danaher)和庫柏工業集團(Cooper Industries)合資成立。公司總部位于美國馬里蘭州的Sparks,并在全球擁有20多家工廠,產品覆蓋多個國家和地區。
Apex Tool Group的發展之路充滿了變革和機遇。它憑借兩大集團的技術和資源優勢,迅速崛起為行業內的佼佼者。公司不斷推出創新產品,滿足不同客戶的需求,并在市場上獲得了良好的口碑。
在電子行業,Apex Tool Group的產品可能也得到了廣泛應用。隨著電子行業的快速發展,對高精度、高效率的工具需求日益增長。Apex Tool Group憑借其卓越的技術和品質,為電子行業提供了可靠的工具解決方案。無論是在電子產品的制造過程中,還是在電子設備的維修和維護中,Apex Tool Group的工具都發揮著重要作用。
此外,Apex Tool Group還注重與客戶的緊密合作。它根據客戶的需求提供定制化服務,幫助客戶解決實際問題。這種以客戶為中心的經營理念,使得Apex Tool Group在電子行業中贏得了廣泛的認可和信任。
然而,關于Apex Tool Group在電子行業內部發展的具體故事,如具體的合作案例、產品創新歷程、市場拓展策略等,我需要更多的相關資料才能給出詳細的描述。如果您對這方面的信息感興趣,建議查閱Apex Tool Group的官方網站、行業報告或相關新聞報道,以獲取更詳細的信息。
希望以上內容能夠對您有所幫助,如有更多問題,歡迎繼續提問。
人才是企業發展的根本。國光新業深知這一點,因此始終注重人才的引進與培養。公司推出了“國新力”人才計劃專項,構建了一支優秀人才梯隊。目前,企業的技術團隊中科技人員占比超過30%,其中擁有工程師以上職稱的比例更是超過六成。這些高素質的人才為公司的技術創新與產品研發提供了源源不斷的動力。
隨著電子技術的飛速發展,Accetek公司意識到只有不斷創新才能在市場中立于不敗之地。因此,公司加大了對技術研發的投入,建立了一支高素質的研發團隊。經過無數次的試驗和失敗,團隊終于取得了重大突破,成功開發出了一種新型的數控雕刻機,具有更高的精度和更穩定的性能。這一創新成果不僅為公司贏得了更多的客戶和市場份額,也為公司的長遠發展奠定了堅實的基礎。
隨著電子技術的飛速發展,Accetek公司意識到只有不斷創新才能在市場中立于不敗之地。因此,公司加大了對技術研發的投入,建立了一支高素質的研發團隊。經過無數次的試驗和失敗,團隊終于取得了重大突破,成功開發出了一種新型的數控雕刻機,具有更高的精度和更穩定的性能。這一創新成果不僅為公司贏得了更多的客戶和市場份額,也為公司的長遠發展奠定了堅實的基礎。
近年來,Colibrys與Sensonor展開了緊密的協同合作,共同生產MEMS慣性傳感器產品。兩家公司在專業知識、市場地位、客戶和技術方面的互補性,使得這種合作成為了一種雙贏的選擇。通過合力發展,Colibrys和Sensonor已經向航空、航天、國防、運輸、移動和工業領域交付了超過2000萬顆MEMS傳感器,進一步擴大了公司的市場份額和影響力。
這些故事只是Colibrys SA公司在電子行業中發展起來的一部分事實,它們展示了公司從初創到成為行業領導者的艱辛歷程和輝煌成就。然而,公司的發展還在繼續,未來還將有更多的故事等待我們去書寫和見證。
博流智能科技始創于2016年,由一群來自硅谷頂級芯片公司的創始團隊組成。他們憑借在移動通訊及物聯網技術領域的深厚積累,以及對未來科技趨勢的敏銳洞察,決定投身于新一代物聯網集成電路芯片的研發。初創時期,公司面臨著資金、技術和市場等多重挑戰,但團隊憑借堅定的信念和不懈的努力,逐步克服了困難,為公司的長遠發展奠定了堅實基礎。
在模擬器上能運行,一下載到PDA上運行就出錯,大家看看這是為什么 一個程序平時調試時候都放在模擬器上運行都是正常的,今天當下載到PDA上的時候,一運行就出現了"致命的應用程序錯誤"提示對話框,Debug進去看,程序一開始就出錯,DEBUG錯誤提示:"First-chance exception in ProjectName.exe(MFCCE400D.DLL):0x800 ...… 查看全部問答∨ |
|
移植LAN9118問題: 1)當KITL Enabled選項選中時build出來的image,板子啟動后能夠ping通,但停在PB與板子attach的時刻,Log如下: Download successful! Jumping to image at 0x0 (phys)適=镺ALLogSetZones: g_oalLogMask: 0xb INFO:  ...… 查看全部問答∨ |
|
pKey結構體中成員bVk定義為這樣的\'A\'(諸如此類還有\'B\' \'C\'等等,模擬鍵盤的) 然后 用keybd_event(pKey->bVk, 0, KEYEVENTF_SILENT, 0);時 通過 寫文件 WriteLog(pKey->bVk);(自寫的函數) 在TXT里看到的是 大寫字母, 可是在WinCE ...… 查看全部問答∨ |
|
我想實現一個功能,當人走近電腦前的時候,紅外線接收器受到感應,能自動把電腦里的媒體播放器打開,自動播放一個影片。 我是做java的web開發的,對于硬件不太懂,哪位朋友能給我一個方案,怎樣實現最容易呢。謝了!… 查看全部問答∨ |
430的馮若依曼結構,我是第一次接觸到。也正是因為接觸到了430,所以對馮若依曼結構和哈佛結構的認識更加深刻了。 至于430的低功耗,我覺得很大一部分跟它強悍的時鐘系統有關系。以前都僅僅講一個單片機的系統時鐘,然后430上的是時鐘系統 ...… 查看全部問答∨ |