久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機lcd1602多種顯示模式Proteus仿真源代碼

[復制鏈接]
跳轉到指定樓層
樓主
  lcd1602的三種顯示模式仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機源程序如下:
  1. #include <reg51.h>
  2. #define uc unsigned char
  3. #define ui unsigned int
  4. #define        out P0
  5. sbit rs=P2^0;
  6. sbit rw=P2^1;
  7. sbit e=P2^2;
  8. void prime(void);                         //初始化函數
  9. void busy(void);                         //檢查忙標志位函數
  10. void command(uc com);                 //寫命令
  11. void wdata(uc dat);                         //寫數據
  12. void string(ui ad,uc *s);         //指針直接輸入顯示函數(ad=行列位置,*s=字符)
  13. //void tu(ui h,ui l,ui d);         //顯示單位字符函數(h=行,l=列,d=字符)
  14. //void display(ui h,ui l,ui z);//顯示三位數字字符函數        (h=行,l=列,z=字符)
  15. void delay(int x);                         //延遲函數
  16. void delay(x)                                 //延遲函數
  17. {int i;
  18.   while(x)
  19. {
  20. for(i=0;i<125;i++);
  21. x--;
  22. }
  23. }
  24. void busy(void)                                 //檢查忙標志位函數
  25. {uc dt;
  26. do
  27. {dt=0xff;
  28.   e=0;
  29.   rs=0;
  30.   rw=1;
  31.   e=1;
  32.   dt=out;
  33. }while(dt&0x80);
  34. e=0;
  35. }
  36. void command(uc com)                 //寫命令
  37. {busy();
  38. e=0;
  39. rs=0;
  40. rw=0;
  41. out=com;
  42. e=1;
  43. delay(1);
  44. e=0;
  45. delay(1);
  46. }
  47. void wdata(uc dat)                         //寫數據
  48. {busy();
  49. e=0;
  50. rs=1;
  51. rw=0;
  52. out=dat;
  53. e=1;
  54. delay(1);
  55. e=0 ;
  56. delay(1);

  57. }
  58. void prime(void)                         //初始化函數
  59. {command(0x38);                                 //功能設置:5*7點陣,8位數據接口
  60. command(0x01);                                 //清屏
  61. command(0x06);                                 //顯示模式設置
  62. command(0x0c);                                 //顯示開關及光標設置
  63. delay(1);
  64. }
  65. void string(ui ad,uc *s)         //指針直接輸入顯示函數(ad=行列位置,*s=字符)
  66. {command(ad);                                 //行列設置0x85:字符在第二行第五列開始顯示,0xcc:字符在第二行第十二列開始顯示。
  67. while(*s>0)
  68. {
  69.   wdata(*s++);
  70.   delay(10);
  71. }
  72. }
  73. //void display(ui h,ui l,ui z)  //顯示單位字符函數(h=行,l=列,d=字符)
  74. //{ if(h==1)                                          //如果h=1就在第一行
  75. //  {
  76. //   command(0x80+l);                          //l為多少就從哪里顯示
  77. //  }
  78. //  if(h==2)                                          //如果h=2就在第二行
  79. //  {
  80. //   command(0xc0+l);
  81. //  }
  82. // wbata(z);                                          //只能輸入一個字符(可以是lcd1602可以顯示的任意字符)
  83. //}
  84. //void tu(ui h,ui l,ui d)                  //顯示三位數字字符函數(h=行,l=列,z=字符)
  85. //{ display(h,l,d/100%10+'0');  //只能顯示數字
  86. //  display(h,l+1,d/10%10+'0');
  87. //  display(h,l+2,d%10+'0');
  88. //}
  89. main()
  90. {prime();
  91. while(1)
  92. {ui a=121,b=567;
  93.   string(0x80,"Come on");                  
  94.   string(0xc0,"No question");
  95. //  display(1,0,'1');
  96. //  display(2,15,'A');
  97. //  tu(1,0,b);
  98. //        tu(2,0,a);
  99.   delay(1000);
  100.   command(0x01);
  101.   delay(1);
  102. }
  103. }
復制代碼

所有資料51hei提供下載:
LCD1602.zip (69.38 KB, 下載次數: 22)


評分

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

查看全部評分

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九热这里只有精品6 | 国产精品久久欧美久久一区 | 欧美精品一区在线观看 | 久久逼逼 | 午夜电影日韩 | 久久精品国产一区 | 欧美 视频 | 欧美日韩在线看 | 性一交一乱一透一a级 | 中文字幕在线播放第一页 | 奇米视频777| 免费簧片视频 | 国产精品免费一区二区三区 | 日本久久久久久 | 日本精品一区二区三区在线观看视频 | 91视频18| 日韩精品免费 | 日韩免费一级 | 精品一区二区三区电影 | 亚洲三区在线播放 | 亚洲在线日韩 | 手机三级电影 | 黄视频免费观看 | 久久精品小视频 | 99精品久久 | 毛片站 | 草久久久 | 欧美国产激情二区三区 | 国产精品精品久久久久久 | 中文在线一区二区 | 精品久久久久久亚洲精品 | 欧美第一页 | 在线免费黄色 | av在线黄 | 久久精品无码一区二区三区 | 玖玖在线精品 | 国产精品视频偷伦精品视频 | 日韩一区二区在线视频 | 999免费网站 | 欧美成人在线影院 | 成人在线观看中文字幕 |