找回密码
 立即注册

QQ登录

只需一步,快速开始

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

avr单片机程序驱动1602怎么没反应?

[复制链接]
跳转到指定楼层
楼主




#include <avr/io.h>
//*******    LCD 1602地址数据端口定义    *********
#define     lcd_bus     PORTA    //     1602数据口
#define     lcd_con     PORTC    //     1602控制口
#define     rs0         lcd_con & 0xfe  //     rs=0
#define     rs1         lcd_con | 0x01  //     rs=1
#define     rw0        lcd_con & 0xfd  //     rw=0
#define     rw1        lcd_con | 0x02  //     rw=1
#define     e0         lcd_con & 0xfb  //     e=0
#define     e1         lcd_con | 0x04  //     e=1
//************************************************
//         显示延时子程序
//************************************************
void lcddelay()
{
unsigned int j;
for (j=400;j>0;j--);
}
//************************************************
//         初始化延时子程序
//************************************************
void inidelay()
{
unsigned int j;
for (j=20000;j>0;j--);
}
//************************************************
//         lcd1602写指令子程序
//************************************************
void enable_lcd()
{
lcd_con=rs0;               //写指令时序rs=0
lcd_con=rw0;              //rw=0
lcd_con=e0;               //e=0
lcddelay();                //调显示延时子程序
lcd_con=e1;               //e=1
}
//************************************************
//         lcd1602写数据子程序
//************************************************
void data_lcd()
{
lcd_con=rs1;               //写数据时序rs=1;
lcd_con=rw0;               //rw=0
lcd_con=e0;                //e=0
lcddelay();                //调显示延时子程序
lcd_con=e1;                //e=1
}
//************************************************
//         lcd1602初始化子程序
//************************************************
void init_lcd()
{
lcd_bus=0x01;        //清屏
enable_lcd();
lcd_bus=0x38;        //显示功能,2行显示 ,5*7
enable_lcd();
lcd_bus=0x0c;        //显示开关
enable_lcd();
lcd_bus=0x06;        //显示模式 ,光标移动
enable_lcd();
}
//************************************************
//         显示数据子程序
//************************************************
void  lcd_show()
{
lcd_bus=0x80;      //设置数据存储器起始地址 ,第一行起始地址80h,
                     //第二行起始地址为C0H
enable_lcd();      //调写指令子程序
lcd_bus='A';
data_lcd();          //调写数据子程序
lcd_bus='V';
data_lcd();
lcd_bus='R';
data_lcd();
lcd_bus=' ';
data_lcd();
lcd_bus='s';
data_lcd();
lcd_bus='y';
data_lcd();
lcd_bus='s';
data_lcd();
lcd_bus='t';
data_lcd();
lcd_bus='e';
data_lcd();
lcd_bus='m';
data_lcd();
}
//*****************     主程序    ********************//
int main(void)
{
//****************初始化*****************************//
  inidelay();
  DDRA=0xff;
  DDRC=0xff;
  init_lcd();        //LCD初始化子程序  
  do
{  
  lcd_show();
}
while(1);
}
atmega8l-8pu.rar (26.26 KB, 下载次数: 9)


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

使用道具 举报

沙发
ID:234075 发表于 2018-6-16 23:52 | 只看该作者
protues仿真1602的VSS、VDD、VEE为什么没接?
回复

使用道具 举报

板凳
ID:353026 发表于 2018-6-17 01:13 | 只看该作者
zhb2004xp 发表于 2018-6-16 23:52
protues仿真1602的VSS、VDD、VEE为什么没接?

仿真可以不接的。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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