Arduino入门到精通例程20.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Arduino入门到精通例程20.doc

1602液晶實驗 本次試驗使用arduino直接驅動1602液晶顯示文字 1602液晶在應用中非常廣泛,最初的1602液晶使用的是HD44780控制器,現在各個廠家的1602模塊基本上都是採用了與之兼容的IC,所以特性上基本都是一致的。 1602LCD主要技術參數 顯示容量為16×2個字符; 晶片工作電壓為4.5~5.5V; 工作電流為2.0mA(5.0V); 模組最佳工作電壓為5.0V; 字符尺寸為2.95×4.35(W×H)mm。 1602液晶接腳定義 接腳說明: 1、兩組電源一組是模塊的電源一組是背光板的電源一般均使用5V供電。本次試驗背光使用3.3V供電也可以工作。 2、VL是調節對比度的引腳,串聯不大於5KΩ的電位器進行調節。本次實驗使用1KΩ的電阻來設定對比度。其連接分高電位與低電位接法,本次使用低電位接法,串聯1KΩ電阻後接GND。 3、RS 是很多液晶上都有的引腳是命令/數據選擇引腳該腳電平為高時表示將進行數據操作;為低時表示進行命令操作。 4、RW 也是很多液晶上都有的引腳是讀寫選擇端該腳電平為高是表示要對液晶進行讀操作;為低時表示要進行寫操作。 5、E 同樣很多液晶模塊有此引腳通常在總線上信號穩定後給一正脈衝通知把數據讀走,在此腳為高電平的時候總線不允許變化。 6、D0—D7 8 位雙向並行總線,用來傳送命令和數據。 7、BLA是背光源正極,BLK是背光源負極。 1602液晶的基本操作分以下四種: 下圖就是1602液晶實物圖 1602直接與arduino通信,根據產品手冊描述,分8位連接法與4位連接法,咱們先使用8位連接法進行實驗。硬件連接方式如下圖 代碼如下 int DI = 12; int RW = 11; int DB[] = {3, 4, 5, 6, 7, 8, 9, 10};//使用數組來定義總線需要的管腳 int Enable = 2; void LcdCommandWrite(int value) { // 定義所有引腳 int i = 0; for (i=DB[0]; i = DI; i++) //總線賦值 { ???digitalWrite(i,value 01);//因為1602液晶信號識別是D7-D0(不是D0-D7),這裡是用來反轉信號。 ???value = 1; } digitalWrite(Enable,LOW); delayMicroseconds(1); digitalWrite(Enable,HIGH); delayMicroseconds(1); // 延時1ms digitalWrite(Enable,LOW); delayMicroseconds(1); // 延時1ms } void LcdDataWrite(int value) { // 定義所有引腳 int i = 0; digitalWrite(DI, HIGH); digitalWrite(RW, LOW); for (i=DB[0]; i = DB[7]; i++) { ???digitalWrite(i,value 01); ???value = 1; } digitalWrite(Enable,LOW); delayMicroseconds(1); digitalWrite(Enable,HIGH); delayMicroseconds(1); digitalWrite(Enable,LOW); delayMicroseconds(1); // 延時1ms } void setup (void) { int i = 0; for (i=Enable; i = DI; i++) { ???pinMode(i,OUTPUT); } delay(100); // 短暫的停頓後初始化LCD // 用於LCD控制需要 LcdCommandWrite(0x38); // 設置為8-bit接口,2行顯示,5x7文字大小 delay(64); LcdCommandWrite(0x38); // 設置為8-bit接口,2行顯示,5x7文字大小 delay(50); LcdCommandWrite(0x38); // 設置為8-bit接口,2行顯示,5x7文字大小 delay(20); LcdCommandWrite(0x06); // 輸入方式設定 ?????????????????????????// 自動增量,沒有顯示移位 delay(20); LcdCommandWrite(0x0E); // 顯示設置 ?????????????????????????// 開啟顯示屏,光標顯示,無閃爍 delay(20); LcdCommandWrite(0x01); // 屏幕清空,光標

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档