您的位置 首页 编程

AVR单片机1602液晶程序

端口定义在程序里面采用8位数据模式,程序测试通过includeiom16vh>includemacrosh>defineucharunsignedchardefineuin

端口界说在程序里边选用8位数据形式,程序测试通过.
#include
#include
#define uchar unsigned char
#define uint unsigned int
#pragma data:code
uchar shu;
const uchar table[15]={
“yinqing@163.com”
};
const uchar table1[]={
“www.51hei.com “
};
/**********************************/
/************延时子程序************/
/**********************************/
void delay(uint z)//延时
{
uint x,y;
for(x=500;x>0;x–)
for(y=z;y>0;y–);
}
/**********************************/
/***********写指令子程序***********/
/**********************************/
void xeizhi(uchar tem)//写指令子程序
{
PORTC&=~BIT(6);//将RS操控端置0
PORTC&=~BIT(0);//将RW操控端置0
delay(10);
PORTA=tem;//即将读的指令放到PA口
PORTC|=BIT(0);//将使能端置0
delay(10);
PORTC&=~BIT(0);//将使能端置1
}
/**********************************/
/************读数子程序************/
/**********************************/
void duzhi(uchar tee)//写数子程序
{
PORTC|=BIT(6);//将RS操控端置1
PORTC&=~BIT(0);//将RW操控端置0
delay(10);
PORTA=tee;//即将读的数放到PA口
PORTC|=BIT(0);//将使能端置0
delay(10);
PORTC&=~BIT(0);//将使能端置1
}
/**********************************/
/***************主程序*************/
/**********************************/
void main()
{
DDRA=0xff;
DDRC|=BIT(6)|BIT(7)|BIT(0);//将3个操控端悉数设为输出
PORTC&=~BIT(7);//将RW端置0
xeizhi(0x01);
xeizhi(0x38);
xeizhi(0x0c);
xeizhi(0x06);
/*******************榜首行显现****************/
xeizhi(0x80);//将数据放显现区
for(shu=0;shu<15;shu++)
duzhi(table[shu]);
/*******************第二行显现****************/
xeizhi(0xc0);//将数据放在显现区
for(shu=0;shu<15;shu++)//查询15次得到要显现的数
duzhi(table1[shu]);//查表得到想要的数,和上面结合妙妙啊!
while(1);
}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/biancheng/255381.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部