码迷,mamicode.com
首页 > 其他好文 > 详细

51学习笔记之以总线方式实现1602与8051连接

时间:2016-07-22 18:57:07      阅读:190      评论:0      收藏:0      [点我收藏+]

标签:

//以总线方式实现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

51学习笔记之以总线方式实现1602与8051连接

标签:

原文地址:http://www.cnblogs.com/dafang/p/5695954.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!