永发信息网

各位大虾们,小弟写了个12864的程序,在ATmega16上运行正常,烧到ATmega8L上就不行了,下面是详细的情况

答案:2  悬赏:40  手机版
解决时间 2021-02-21 03:38
12864液晶驱动器位ST7920,使用串口方式工作,
psb,固定接地,cs(RS)固定接高,
Atmega16:sid(RW)接ATMega16 的portb1,scl(E)接ATMega16 的portb0, rst,A,K都接的正确
可以确定硬件接口连接都正确,程序正确,延时也是对的,在1Mhz,4Mhz时钟下都能在M16上运行出来,
ATmega8:上的portc5接scl,portc6接sid,熔丝位设置时rstdisbl=0,portc6做I/0用,把头文件改成m8的,scl,sid接口改掉,程序烧到片上,死活不成功,急啊
一下是ATMega16上的C程序
//ICC-AVR application builder : 2012-3-21 下午 10:18:40
// Target : M16
// Crystal: 4.0000Mhz

#include
#include
#define SET_SCL() PORTB|=(1<#define CLR_SCL() PORTB&=~(1<
#define SET_SID() PORTB|=(1<#define CLR_SID() PORTB&=~(1<void Io_Init(void);
void Write_Byte(unsigned char); //写一个字节
void Write_Command(unsigned char); //写一个字节数据到LCD指令寄存器
void Write_Char(unsigned char); //写一个字符到资料寄存器
void Init_Lcd(void); //LCD 初始化函数
void Delay_Ms(void); //4Mhz下延时一个ms的函数

void Write_Byte(unsigned char dat)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(dat&0x80)//dat最高位是1
{
SET_SID();
}
else
{
CLR_SID();
}
CLR_SCL();
NOP();
NOP();
NOP();
SET_SCL();
dat<<=1;
}
Delay_Ms();
Delay_Ms();
}

void Write_Command(unsigned char comm)
{
//一:先要写入同步字 0b 11111 1,0,Rs,0 rs=0写指令 rs=1写资料
Write_Byte(0xf8);
//二:先写命令高四位,后四位补零
Write_Byte(comm&0xf0);
//三:在写命令低四位,后四位补零
Write_Byte(comm<<4);
}

void Write_Char(unsigned char dat)
{
//一:先要写入同步字 0b 11111 1,0,Rs,0 rs=0写指令 rs=1写资料
Write_Byte(0xfa);
//二:先写命令高四位,后四位补零
Write_Byte(dat&0xf0);
//三:在写命令低四位,后四位补零
Write_Byte(dat<<4);
}

void Init_Lcd()
{
Write_Command(0x30);
Delay_Ms();

Write_Command(0x04);
Delay_Ms();

Write_Command(0x0c);
Delay_Ms();

Write_Command(0x01);
Delay_Ms();

Write_Command(0x02);
Delay_Ms();

Write_Command(0x80);
Delay_Ms();

Write_Char(0x70);
Write_Char(0x71);
Write_Char(0x72);
Write_Char(0x73);
}
//大概延时1ms以上
void Delay_Ms()
{
unsigned char i=100;
unsigned char k=100;
while(i--)
{
while(k--);
}
}

void Io_Init()
{

}
void main(void)
{
DDRB=0xff;
Init_Lcd();
while(1);
}
Atmega8,Atmega16都是一个系列的,指令完全兼容,书上说的,程序移植时要注意什么问题吗?

问题解决,原来Mega8芯片也有坏的,而且不止一个,都被我用上了
最佳答案
ad_l=Spi_Transmit(1);//ad读出的是高8位值,ad_l为低8位
这里不是给1,应该是和上面的一样。
全部回答
你好! 哇靠,这样的程序不修改直接弄上去,能行才见鬼呢。 #include 也不改下#include 还有这是怎么写的程序,如此凌乱 如有疑问,请追问。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
英语翻译Are there any points or motions on
海东绿茶庄我想知道这个在什么地方
安室奈美惠 Don't Lie to Me 中文歌词
【alpha什么意思】""阿尔法""是一个什么意思
照盛汽修厂在什么地方啊,我要过去处理事情
罗杆直经16mm,罗母是多大的?
皇帝如果有了皇孙,那皇孙叫皇帝的妃子什么?
李记惠水马肉馆在什么地方啊,我要过去处理事
戴着眼镜的英文是什么
石家庄铁路职业技术学院怎么样啊,里面的会计
笔记本的内存条和固态硬盘怎么装
宁乡县历经铺乡南太湖社区居民委员会地址有知
【中国三大火炉】我国有三大火炉'之称的城市
其他的灵长类动物会长智齿么?
请问国内铂金矿冶炼厂有哪些?能从多金属矿中
推荐资讯
东方红小学地址在什么地方,想过去办事
刚刚纹完的眉觉得眼部肌肤发紧,请问正常吗
除出了交通事故对方索要四十万,实在无力偿还
千梓脱毛 膏价格是多少?
世界成本最高影片
级翔广场地址有知道的么?有点事想过去
恒诚五金水电地址有知道的么?有点事想过去
怎样把angelababy的照片换桌面背景
在周末,我们经常在网上一起聊天。翻译成英文
阅读材料,回答问题。材料一H鞋业生产企业为
鹿胎膏产地一般在哪里
下列关于要约的说法,正确的是()。A.要约发出
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?