找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 379|回复: 0
打印 上一主题 下一主题
收起左侧

分享一个基于8086的LCD显示电路和程序

[复制链接]
跳转到指定楼层
楼主
如题
  1. code:#define   LCD_CMD_WR        9000H
  2. #define   LCD_DATA_WR        9002H
  3. #define   LCD_BUSY_RD        9004H
  4. #define   LCD_DATA_RD        9006H

  5. unsigned char str1[]=" WINDWAY TECHNOLOGY  ";
  6. unsigned char str2[]=" !! A M A Z I N G !! ";
  7. void outp(unsigned int addr, char data)
  8. // Write a byte to the specified I/O port
  9. { __asm
  10.     { mov dx, addr
  11.       mov al, data
  12.       out dx, al
  13.     }
  14. }

  15. char inp(unsigned int addr)
  16. // Read a byte from the specified I/O port
  17. { char result;
  18.    __asm
  19.     { mov dx, addr
  20.       in al, dx
  21.       mov result, al
  22.     }
  23.    return result;
  24. }

  25. void main(void)
  26. {
  27.     char i,in;
  28.     //LCD1602初始化
  29.     inp(LCD_BUSY_RD);
  30.     inp(LCD_BUSY_RD);

  31.     outp(LCD_CMD_WR,0X30);
  32.     outp(LCD_CMD_WR,0X38);
  33.     outp(LCD_CMD_WR,0X0C);
  34.     outp(LCD_CMD_WR,0X01);
  35.     outp(LCD_CMD_WR,0X06);    outp(LCD_CMD_WR,0X01);
  36.         inp(LCD_BUSY_RD);
  37.     inp(LCD_BUSY_RD);

  38.     outp(LCD_CMD_WR,0X30);
  39.     outp(LCD_CMD_WR,0X38);
  40.     outp(LCD_CMD_WR,0X0C);
  41.     outp(LCD_CMD_WR,0X01);
  42.     outp(LCD_CMD_WR,0X06);outp(LCD_CMD_WR,0X01);
  43.     while(1){   
  44.         outp(LCD_CMD_WR,0X80);
  45.         for(i=0;i<20;i++){
  46.              outp(LCD_DATA_WR,str1[i]);
  47.         }
  48.         outp(LCD_CMD_WR,0XC0);
  49.         for(i=0;i<20;i++){
  50.              outp(LCD_DATA_WR,str2[i]);
  51.         }
  52.         outp(LCD_CMD_WR,0X01);
  53.     }
  54. }
复制代码


lcd.jpg (131.32 KB, 下载次数: 0)

8086LCD显示

8086LCD显示

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表