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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

LMB162字符系列 基于AT89S52單片機的源代碼-拓普微LCM

[復制鏈接]
跳轉到指定樓層
樓主
ID:46918 發表于 2020-3-2 16:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
還記得那個protus里面經典的LCD 1602不?想當年折騰了好久才點亮他;
為了讓大家方便點亮,把源碼貢獻出來,只要按照程序設置的IO口配置好原理圖,
然后用keil編譯產生hex文件,再把hex文件裝在在protus的單片機里,就可以點亮了,
.c源碼附上,動動手指你們也可以的!

有啥疑問可以寫在回復區,有空了大家可以探討一下。

單片機源程序如下:
  1. #include <stdio.h>
  2. #include <reg52.h>
  3. #include <intrins.h>

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. #define  LCDBUS P1
  7. sbit LCD_RS =P3^1;
  8. sbit LCD_RW =P3^7;
  9. sbit LCD_E  =P3^2;


  10. //-----------------------------------
  11. // dispaly data
  12. //-----------------------------------
  13. uchar code Logo1[]=
  14. {
  15. "TOPWAY  Char LCDM                       "
  16. "1234567890123456789012345678901234567890"
  17. };


  18. //-----------------------------------
  19. // Delay Routine
  20. //-----------------------------------
  21. void delayus(uint u)                        //delay routine
  22. {
  23.         uint i;
  24.         for(i=0;i<=u;i++)
  25.         {
  26.         _nop_();_nop_();
  27.         }
  28. }

  29. void delayms(uint m)
  30. {
  31.         uint j;
  32.         uint i;
  33.        
  34.         for(i=0; i<m; i++)
  35.             for(j=0; j<250; j++)
  36.                 _nop_();
  37. }

  38. //-----------------------------------
  39. // IO Routine
  40. //-----------------------------------
  41. void SdCmd(uchar command)                //send command
  42. {
  43.     LCD_E=0;
  44.     LCD_RW=0;
  45.     LCD_RS=0;
  46.     LCDBUS=command;
  47.     LCD_E=1;
  48.     _nop_();
  49.     _nop_();
  50.     _nop_();
  51.     LCD_E=0;
  52.     delayus(50);
  53. }

  54. void SdData(uchar DData)                //send data
  55. {
  56.     LCD_E=0;
  57.     LCD_RW=0;
  58.     LCD_RS=1;
  59.     LCDBUS=DData;
  60.     LCD_E=1;
  61.     _nop_();
  62.     _nop_();
  63.     _nop_();
  64.     LCD_E=0;
  65.     _nop_();
  66.     _nop_();
  67.     _nop_();
  68. }


  69. //-----------------------------------
  70. // Send a page of Display Data
  71. //-----------------------------------
  72. void SdPage(uchar *DisplayDataPtr)  // fill up a 40x2 DDRAM area
  73. {
  74.         uchar TempData;
  75.         uint i;

  76.         SdCmd(0x80);        // Set DDRAM Add ptr to 00h, 1st line
  77.         for(i=0;i<40;i++)
  78.         {
  79.              TempData=(*(DisplayDataPtr+i));
  80.                 SdData(TempData);
  81.         }
  82.         SdCmd(0xC0);        // Set DDRAM Add ptr to 40h, 2nd line
  83.         for(i=0;i<40;i++)
  84.         {
  85.              TempData=(*(DisplayDataPtr+i+40));
  86.         SdData(TempData);
  87.         }
  88. }

  89. //-----------------------------------
  90. // init
  91. //-----------------------------------
  92. void LCD_init()
  93. {
  94.         SdCmd(0x38);        //8bit I/F;2-linedisplay;5x8 font
  95.         SdCmd(0x04);        //No screen shifting
  96.         SdCmd(0x0c);        //Display on;cursor off;cursor-blinking off
  97.         SdCmd(0x01);    //clear screen
  98.         delayms(2);        //clear screen command takes more time
  99. }

  100. //-----------------------------------
  101. // Main Program
  102. //-----------------------------------
  103. void main()
  104. {
  105.           LCD_E=0;
  106.         LCD_RW=0;
  107.         LCD_RS=0;
  108.         LCDBUS=0x00;
  109.         SP=0x60;
  110.         EA = 0;                // disable interrupts
  111.         delayms(10);        // wait for LCD module power on reset

  112.         LCD_init();

  113.         SdPage(Logo1);

  114.         while(1);        //end of program
  115. }
復制代碼

所有資料51hei提供下載:
51單片機字符顯示源碼.rar (1019 Bytes, 下載次數: 8)



評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠色狠狠色综合系列 | 九九免费视频 | 日韩免费一区二区 | 蜜桃免费一区二区三区 | 久久国产一区二区三区 | 成人免费精品视频 | 精品国产18久久久久久二百 | www国产成人免费观看视频,深夜成人网 | 国产精品1区2区3区 欧美 中文字幕 | 91在线视频免费观看 | 亚洲免费精品一区 | 狠狠干狠狠操 | 亚洲高清视频在线观看 | 欧美激情视频一区二区三区在线播放 | www.欧美.com| 黄色一级视频 | 精品视频一区二区三区在线观看 | 欧美在线播放一区 | 国产精品视频一区二区三区 | 色噜噜亚洲男人的天堂 | av日韩高清| 成年人在线观看 | 精品无码久久久久久国产 | 午夜天堂精品久久久久 | 99精品国自产在线观看 | 福利视频日韩 | 91精品午夜窝窝看片 | 亚洲 精品 综合 精品 自拍 | cao视频| 91精品国产欧美一区二区 | 成人精品一区二区三区 | 久草免费在线视频 | 欧美视频三区 | 欧美一区二区大片 | 澳门永久av免费网站 | 欧美精品久久 | 美女久久久 | 国产剧情一区二区三区 | 国产一区2区 | 国产韩国精品一区二区三区 | 亚洲精品视频网站在线观看 |