zoukankan      html  css  js  c++  java
  • 51学习笔记之以总线方式实现1602与8051连接

    //以总线方式实现8051与1602的通信
    //这个程序主要实现功能是向1602发送一串字符串,并显示出来
    
    
    
    #include<reg52.h>
    #include<absacc.h>
    #define uchar unsigned char
    #define uint unsigned int 
    
    
    #define LCDDDATA XBYTE[0xffff] //读数据地址
    #define LCDXDATA XBYTE[0xfdff] //写数据地址
    #define LCDDCOM XBYTE[0xfeff]  //读命令
    #define LCDXCOM XBYTE[0xfcff]  //写命令
    uchar idata s_GOOD[5]={'W','D','J','X',0x00};
    uchar idata s_GOOD1[]={'2','0','1','6','-','0','7','-','2','2',0x00};
    sbit bflag=ACC^7;
    void wait(void)
    {
        do{ACC=LCDDCOM;}while(bflag==1);
    }
    void init_lcd(void)
    {
    
        LCDXCOM=0x38; //设置模式
        wait();
        LCDXCOM=0x0f;  //显示开关及光标设置
        wait();
        LCDXCOM=0x06;   //显示开关及光标设置
        wait();
        LCDXCOM=0x01;    //清屏
        wait();
    
    }
    void d_char(uchar a)  //写入数据函数
    {
        LCDXDATA=a;
        wait();
    }
    void display(uchar x ,uchar idata *s)    //显示函数 第一个变量是地址比如 0x80或0x80+0x40 第二个是数据
    {
    
        uchar i=0;
        LCDXCOM=x;
        wait();
        while(s[i]!=0x00)
        {
            d_char(s[i]);
            i++;
        }
    }
        void main(void)
        {
            init_lcd();
            display(0x80+0x01,s_GOOD);
            display(0x80+0x40,s_GOOD1);
            while(1);
        }
    //转载请注明出处

    相关仿真程序地址:

    http://pan.baidu.com/s/1bGuyaa

  • 相关阅读:
    第一阶段站立会议7
    人机交互—对win10自带输入法的评价
    个人工作总结15
    构建之法阅读笔记06
    个人工作总结14
    第十三周工作总结
    个人工作总结13
    《梦断代码》阅读笔记02
    个人工作总结12
    小水王
  • 原文地址:https://www.cnblogs.com/dafang/p/5695954.html
Copyright © 2011-2022 走看看