|
本人刚学avr 想用1602显示自定义字符 但是老是出现乱码或不显示 程序如下 请大家帮忙看一下哪里出错!我想显示的字符是'c(温度符号)。
#include <iom16v.h>
#include <macros.h>
#define uchar unsigned char
#define uint unsigned int
const unsigned char table[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};
void Delayus(uint US)
{
uint i;
US=US*5/4;
for( i=0;i<US;i++);
}
void Delayms(uint MS)
{
uint i,j;
for( i=0;i<MS;i++)
for(j=0;j<1141;j++);
}
void write_com(uchar com)
{
PORTC&=~BIT(0);
PORTC&=~BIT(1);
PORTA=com;
PORTC|=BIT(2);
Delayms(1);
PORTC&=~BIT(2);
}
void write_dat(uchar dat)
{
PORTC|=BIT(0);
PORTC&=~BIT(1);
PORTA=dat;
PORTC|=BIT(2);
Delayms(1);
PORTC&=~BIT(2);
}
void main()
{char i;
DDRA=0XFF;
DDRC|=BIT(0)|BIT(1)|BIT(2);
PORTC&=~BIT(2);
write_com(0X38);
Delayms(5);
write_com(0X01);
Delayms(5);
write_com(0X0C);
Delayms(5);
write_com(0X40+0x01);
Delayms(5);
for(i=0;i<8;i++)
{
write_dat( table);
Delayms(5);
}
write_dat(0x40);
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|