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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LCD1602在PIC單片機中的使用程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:75926 發表于 2015-4-3 01:34 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
  1. #include<pic.h>
  2. __CONFIG(0x1832);        
  3. //芯片配置字,看門狗關,上電延時開,掉電檢測關,低壓編程關,加密,4M晶體HS振蕩
  4. #define rs RA1
  5. #define rw RA2
  6. #define e  RA3
  7. const char web[ ]={' ','W','W','W','.','P','I','C','1','6','.','C','O','M',' ',' '};
  8. //顯示公司web地址
  9. const char tel[ ]={'T','E','L','0','7','5','5','-','2','8','1','8','7','9','7','5'};
  10. //顯示公司電話號碼
  11. void init();                   //申明I/O口初始化函數
  12. void lcd_init();               //申明LCD初始化函數
  13. void write_web();              //申明顯示公司web地址函數
  14. void write_tel();              //申明顯示公司tel函數
  15. void write(char x);            //申明顯示1字節數據函數
  16. void lcd_enable();             //申明LCD顯示設置函數
  17. void delay();                  //申明延時函數
  18. //---------------------------------------
  19. //主函數
  20. void main()
  21. {
  22.     while(1)
  23.       {
  24.         init();                //調用I/O口初始化函數
  25.         lcd_init();            //調用LCD初始化函數
  26.         write_web();           //調用顯示公司web地址函數
  27.         PORTD=0XC0;            //設置第2行顯示地址
  28.         lcd_enable();          //調用LCD顯示設置函數
  29.         write_tel();           //調用顯示公司tel函數
  30.       }
  31. }

  32. //---------------------------------------
  33. //I/O口初始化函數
  34. void init()
  35. {
  36.     ADCON1=0X07;               //設置A口為普通I/O口
  37.     TRISA=0X00;                //設置A口為輸出
  38.     TRISD=0X00;                //設置D口為輸出
  39. }
  40. //---------------------------------------
  41. //LCD初始化函數
  42. void lcd_init()
  43. {
  44.     PORTD=0X1;                 //清除顯示
  45.     lcd_enable();
  46.     PORTD=0X38;                //8位2行5*7點陣
  47.     lcd_enable();
  48.     PORTD=0X0e;                //顯示開,光標開,閃爍
  49.     lcd_enable();
  50.     PORTD=0X06;                //文字不動,光標右移
  51.     lcd_enable();
  52.     PORTD=0X80;                //公司web顯示地址
  53.     lcd_enable();
  54. }

  55. //--------------------------------------
  56. //顯示公司web地址
  57. void write_web()
  58. {
  59.     int i;
  60.     for(i=0;i<0x10;i++)        //一共16字節數據
  61.        {
  62.          write(web[i]);        //查表獲取數據并調用寫一個字節數據函數送LCD顯示
  63.        }
  64. }
  65. //--------------------------------------
  66. //顯示公司tel函數
  67. void write_tel()
  68. {
  69.     int i;
  70.     for(i=0;i<0x10;i++)       //一共顯示16字節數據
  71.        {
  72.          write(tel);       //查表獲取數據并調用寫一個字節數據函數送LCD顯示
  73.        }
  74. }
  75.   
  76. //--------------------------------------
  77. //寫一個字節數據函數  
  78. void write(char x)
  79. {
  80.   PORTD=x;                   //待顯示數據送PORTD口
  81.   rs=1;                      //該字節數據為數據,而不是命令
  82.   rw=0;                      //此次操作為寫,而不是讀
  83.   e=0;                       //拉低使能信號
  84.   delay();                   //保持使能信號為低一段時間
  85.   e=1;                       //拉高使能信號,建立LCD操作所需要的上升沿
  86. }
  87. //--------------------------------------
  88. //LCD顯示設置函數
  89. void lcd_enable()
  90. {
  91.    rs=0;                     //該字節數據為命令,而不是數據
  92.    rw=0;                     //此次操作為寫,而不是讀
  93.    e=0;                      //拉低使能信號
  94.    delay();                  //保持使能信號為低一段時間
  95.    e=1;                      //拉高使能信號,建立LCD操作所需要的上升沿
  96. }
  97. //--------------------------------------
  98. //延時函數
  99. void delay()
  100. {
  101.    int i;
  102.    for(i=0;i<5000;i++);
  103. }
復制代碼
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

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