欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5800|回復: 0
打印 上一主題 下一主題
收起左側

Atmega32A驅動LCD1602顯示屏

[復制鏈接]
跳轉到指定樓層
樓主
ID:196705 發(fā)表于 2017-5-5 05:41 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
對于初學者來說,最煩躁的可能就是調試程序,往往小小一個問題,要找個一個小時,甚至幾個小時才能解決,這個程序是剛調試完的,整整九個多小時啊,現在看著挺簡單的,沒調試好前根本不敢肯能調得好.高手別笑,初學者參考
編程環(huán)境Atmel Studio 7.0 和Proteus 8仿真,說明:仿真和真實電路是有點區(qū)別的,仿真Proteus 8只能用內部晶振,最大8MHz,我的DIY板是16M,所以實際電路總是比仿真的跑快好多


單片機源程序:

  1. /*
  2. * LCD1602_AVR.h
  3. *
  4. * Created: 2017/3/19 23:07:51
  5. *  Author: lyl

  6. *LCD1602的基本操作時序
  7.         1,讀狀態(tài),輸入:RS=L        RW=H        E=H                        輸出:D0~D7=狀態(tài)字
  8.         2,讀數據,輸入:RS=H        RW=H        E=H                                輸出:D0~D7=數據
  9.        
  10.         2,寫指令,輸入:RS=L        RW=L        D0~D7=指令碼                E=高脈沖                輸出:無
  11.         3,寫數據,輸入:RS=H        RW=L        D0~D7=數據                E=高脈沖                輸出:無
  12. */
  13. #define F_CPU 8000000UL
  14. #include <avr/io.h>        //io端口寄存器配置文件,必須包含
  15. #include <util/delay.h>       //GCC中的延時函數頭文件
  16. #define uchar unsigned char
  17. #define uint unsigned int

  18. #ifndef LCD1602_AVR_H_
  19. #define LCD1602_AVR_H_

  20. #define DataPort PORTC
  21. #define DataPort_DDR DDRC
  22. #define DataPort_PIN PINC
  23. #define CtrPort PORTB
  24. #define CtrPort_DDR DDRB
  25. #define CtrPort_PIN PINB

  26. #define RS 0
  27. #define RW 1
  28. #define EN 2

  29. #define LCD1602_SetRS()                (CtrPort |= (1<<RS))
  30. #define LCD1602_ClrRS()                (CtrPort &= ~(1<<RS))
  31. #define LCD1602_SetRW()                (CtrPort |= (1<<RW))
  32. #define LCD1602_ClrRW()                (CtrPort &= ~(1<<RW))
  33. #define LCD1602_SetEN()                (CtrPort |= (1<<EN))
  34. #define LCD1602_ClrEN()                (CtrPort &= ~(1<<EN))

  35. void LCD1602_PortInit(void);        //端口初始化
  36. void LCD1602_CheckBusy(void);        //LCD1602忙信號檢測
  37. void LCD1602_Init(void);        //LCD1602初始化
  38. void LCD1602_WriteData(uchar ucData);//在液晶上寫數據或者命令,0為命令,1為數據
  39. void LCD1602_WriteCmd(uchar cmd);
  40. void LCD1602_CursorPosition(uchar x,uchar y);//將液晶的坐標移動到指定的位置
  41. void LCD1602_WriteChar(uchar x,uchar y,uchar ucData);//在指定的位置上顯示一個字符串;
  42. void LCD1602_WriteString(uchar x,uchar y,uchar *Str);//在液晶上顯示字符串





  43. #endif
復制代碼


完整代碼和仿真文件下載:
Atmega32A驅動LCD1602顯示屏.7z (66.72 KB, 下載次數: 32)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
無效樓層,該帖已經被刪除
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表