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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2799|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 蜜月aⅴ国产精品 | 亚洲最大av | 羞羞色网站 | jizjizjiz中国护士18 | 人人鲁人人莫人人爱精品 | 亚洲乱码国产乱码精品精98午夜 | 久久99久久98精品免观看软件 | 成人黄视频在线观看 | 成人深夜小视频 | 国产精品国产自产拍高清 | www.日韩| 久久精品国产a三级三级三级 | 女人天堂av | 在线观看免费国产 | 国产91成人 | 国内精品久久久久久影视8 最新黄色在线观看 | 久久国产欧美日韩精品 | 精品一区二区三区不卡 | 欧美高清视频在线观看 | 日韩精品1区2区3区 成人黄页在线观看 | 日本不卡一区 | 欧美综合一区 | 中文字幕亚洲无线 | 日韩免费福利视频 | 久久中文免费视频 | 秋霞在线一区二区 | 亚洲激情在线 | 色婷婷综合久久久中文字幕 | 久久午夜剧场 | 亚洲视频一区在线播放 | 中文字幕亚洲视频 | 香蕉久久a毛片 | 欧美国产视频 | 中文字幕精品视频 | 国产精品欧美一区二区三区 | 一区二区三区四区在线 | 国产精品污污视频 | 三级黄色片在线 | 亚洲欧美日韩精品久久亚洲区 | 国产网站久久 | 久久精品国产精品青草 |