打印
[程序源码]

AVR 操作1602怎么能让它显示字符串 求大神帮忙

[复制链接]
1659|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
霍云龙|  楼主 | 2013-10-11 20:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int
#pragma date:code const table[]="I LIKE YOU";
#pragma date:code const table1[]=" WU WANG WO";
uchar num;
void delay(uint z)
{
   uint x,y;
   for(x=z;x>0;x--)
      for(y=110;y>0;y--);
}

void write_com(uchar com)
{
    DDRA|=BIT(4);
        PORTA&=~BIT(4);
       
        DDRB=0XFF;
        PORTB=com;
       
        DDRA|=BIT(6);
        PORTA|=BIT(6);
        delay(20);
        DDRA|=BIT(6);
        PORTA&=~BIT(6);
       
}
void write_DATE(uchar DATE)
{
    DDRA|=BIT(4);
        PORTA|=BIT(4);
       
        DDRB=0XFF;
        PORTB=DATE;
       
        DDRA|=BIT(6);
    PORTA|=BIT(6);
        delay(20);
        DDRA|=BIT(6);
        PORTA&=~BIT(6);       
       
}

void init()
{   
    DDRA|=BIT(5);
        PORTA&=~BIT(5);
       
        DDRA|=BIT(6);
        PORTA&=~BIT(6);
    write_com(0x38);
        write_com(0x0c);
        write_com(0x06);
        write_com(0x01);
        write_com(0x80);
}
void main()
{  
   init();
  for(num=0;num<11;num++)
   {   
      
       write_DATE();
   }
   while(1);
   
}

相关帖子

沙发
xiaohuihui241| | 2013-10-11 21:15 | 只看该作者
要写一个writestring(uchar *s)函数,然后用个for语句循环执行write_DATE(uchar DATE)

使用特权

评论回复
板凳
ningling_21| | 2013-10-12 10:22 | 只看该作者
初始化要正确
void lcd_init()
{
    delay_nms(15);                //等待电源稳定   
    lcd_wcmd(LCD_MODE);      //设置显示模式
    delay_nms(5);
    lcd_wcmd(LCD_MODE);         
    delay_nms(5);
    lcd_wcmd(LCD_MODE);         
    delay_nms(5);
//    lcd_wcmd(0x0c);       //显示开,关光标
        lcd_wcmd(0x0c);                 //开光标
    delay_nms(5);
    lcd_wcmd(0x06);              //移动光标
    delay_nms(5);
    lcd_wcmd(0x01);              //清除LCD的显示内容
    delay_nms(5);
}

使用特权

评论回复
地板
魅丽堂3| | 2013-10-12 10:28 | 只看该作者
路过看看啊

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

3

主题

3

帖子

0

粉丝