仙51.06凡人修仙魔兽版怎么玩玩不了啊,原来还能玩...

欢迎加入我们,一同切磋技术。 &
用户名: &&&
密 码: &
共有 12228 人关注过本帖
标题:【STC90C516RD+】STC-ISP软件没有这个型号怎么办?
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:731
专家分:1546
结帖率:96%
&&已结贴√
&&问题点数:20&&回复次数:10&&&
【STC90C516RD+】STC-ISP软件没有这个型号怎么办?
搜索更多相关主题的帖子:
等 级:贵宾
威 望:103
帖 子:3280
专家分:12654
&&得分:20&
去宏晶官网下载最新的isp
重剑无锋,大巧不工
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:731
专家分:1546
回复 2楼 beyondyf
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Black Cat&&&&&&Hello Tomorrow~
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:731
专家分:1546
回复 2楼 beyondyf
正在检测目标单片机 ...
&&单片机型号: STC90C516RD+
&&固件版本号: 4.3C
当前芯片的硬件选项为:
&&. 当前的时钟频率: 10.969MHz
&&. 系统频率为12T(单倍速)模式
&&. 振荡器的放大增益不降低
&&. 当看门狗启动后,任何复位都可停止看门狗
&&. MCU内部的扩展RAM可用
&&. ALE脚的功能选择仍然为ALE功能脚
&&. P1.0和P1.1与下次下载无关
&&. 下次下载用户程序时,不擦除用户EEPROM区
&&. 单片机型号: STC90C516RD+
&&. 固件版本号: 4.3C
单片机型号选择错误 .
STC-ISP软件的烧录界面截图见附件
我用的单片机型号如上面说的,是STC90C516RD+
选用的型号如图片中所示,是STC90C51RD+
这两个型号有什么不同么?我在STC-ISP中没有找到STC90C516RD+这个型号呢……
#include®51.h&
sbit D1=P1^0;
void main()
因为刚刚接触单片机编程,听说这样的代码也能跑飞了?
可是为什么这样的代码也能跑飞了呢?
整个过程如上所述,能看出有什么问题么?
附件: 您没有浏览附件的权限,请
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Black Cat&&&&&&Hello Tomorrow~
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:731
专家分:1546
上面的C代码发错了,实际烧录的时候用的是一个流水灯程序
代码如下:
/*------------------------------------------------
&&&&&&&&&&&&&&&&&&&&延时子程序
------------------------------------------------*/
void delay(unsigned int cnt)
&while(--cnt);
/*------------------------------------------------
&&&&&&&&&&&&&&&&&&&&主函数
------------------------------------------------*/
&P1=0&&&&&&&&&&&//给初始化值 换算成二进制是
&&&&&& delay(30000);//延时程序
&&&&&& P1&&=1;&&&&&&//左移一位 该语句等效于 P1=P1&&1
&&&&&& P1|=0x01;&&& //最后一位补1,该语句等效于 P1=P1|0x01 符号&|&表示&或&
&&&&&& if(P1==0x7f) //检测是否移到最左端?&==&表示检测符号2端的值是否相等
&&&&&&&&& {
&&&&&&&&&&&delay(30000);
&&&&&&&&&&&P1=0 //重新赋值
&&&&&&&&& }
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Black Cat&&&&&&Hello Tomorrow~
来 自:Gryffindo
等 级:贵宾
威 望:12
帖 子:731
专家分:1546
是我疏忽了,现在已经好了。
学习编程,为的是表达自己的思想,而不是被别人的思想所禁锢。要先明白自己想干嘛,而不要先问别人让你干嘛。&&&&&&&&&&&&&&&
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&Black Cat&&&&&&Hello Tomorrow~
等 级:新手上路
回复 6 楼 蚕头燕尾
我也碰到这个情况,stc90c516rd+在stc90c58rd+系列中。
等 级:新手上路
回复 4楼 蚕头燕尾
请问四楼,我也遇见一样的问题,就是型号不对,下载不了。你后来是怎么解决的。
等 级:新手上路
回复 8楼 云舒123
谢谢楼上的这位,知道解决方法了
等 级:新手上路
我想了解怎样解决的
版权所有,并保留所有权利。
Powered by , Processed in 0.067345 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved查看: 2780|回复: 3
[求助][讨论]这个程序在STC90C516RD+上能运行,但换成STC15F104E后就不能了。15F104E也切换成12M的晶振了啊?
#include®52.h&&&& //包含头文件,一般情况不需要改动,头文件包含特殊功能寄存器的定义
sbit IR=P3^2;& //红外接口标志
sbit DC=P3^4;& //处理输出标志
/*------------------------------------------------&&&&&&&&&&&&&&& 全局变量声明------------------------------------------------*/
//红外用全局变量
bit irpro_ok,unsigned char IRcord[4];unsigned char irdata[33];
/*------------------------------------------------&&&&&&&&&&&&&&&&& 函数声明------------------------------------------------*/
void Ir_work(void);void Ircordpro(void);
/*------------------------------------------------&&&&&&&&&&&&&&&&& 定时器0中断处理------------------------------------------------*/
void tim0_isr (void) interrupt 1 using 1{&& irtime++;& //用于计数2个下降沿之间的时间}
/*------------------------------------------------&&&&&&&&&&&&&&&&& 外部中断0中断处理------------------------------------------------*/void EX0_ISR (void) interrupt 0 //外部中断0服务函数{& static unsigned char&&&&&&&&&&&&& //接收红外信号处理& &&&&&&&&&&&&&&& //是否开始处理标志位
if(startflag)&&&&&&&&&&&&&&&&&&&&&&&& && {&&& if(irtime&63&&irtime&=33)//引导码 TC9012的头码,9ms+4.5ms&&&&&&&&&&&&&&&&&&&&&&& i=0;&&& &&irdata=//存储每个电平的持续时间,用于以后判断是0还是1&&& &&irtime=0;&&& &&i++;&& &&& if(i==33)&&&&& &&&{&& &&& irok=1;&&&& i=0;&& &&&}&&&&&&&&& }& & else&&{&&irtime=0;&&startflag=1;&&}
/*------------------------------------------------&&&&&&&&&&&&&&& 定时器0初始化------------------------------------------------*/void TIM0init(void)//定时器0初始化{
& TMOD=0x02;//定时器0工作方式2,TH0是重装值,TL0是初值& TH0=0x00; //重载值& TL0=0x00; //初始化值& ET0=1;&&& //开中断& TR0=1;&&& }/*------------------------------------------------&&&&&&&&&&&&&&&&& 外部中断0初始化------------------------------------------------*/void EX0init(void){&IT0 = 1;&& //指定外部中断0下降沿触发,INT0 (P3.2)&EX0 = 1;&& //使能外部中断&EA = 1;&&& //开总中断}/*------------------------------------------------&&&&&&&&&&&&&&&&& 键值处理------------------------------------------------*/
void Ir_work(void)//红外键值散转程序{&&&&&& switch(IRcord[2])//判断第三个数码值&&&&&&&&& {&&& case 0x0c:DC=1;//1 显示相应的按键值&&& case 0x18:DC=0;//2&&& case 0x5e:DC=1;//3&&& case 0x08:DC=0;//4&&& case 0x1c:DC=1;//5&&& case 0x5a:DC=0;//6&&& case 0x42:DC=1;//7&&& case 0x52:DC=0;//8&&& case 0x4a:DC=1;//9&&&&&&&&&&&& default:&&& }
&&& irpro_ok=0;//处理完成标志
& }/*------------------------------------------------&&&&&&&&&&&&&&& 红外码值处理------------------------------------------------*/void Ircordpro(void)//红外码值处理函数{ & unsigned char i, j,& unsigned char cord,
& k=1;& for(i=0;i&4;i++)&&&&& //处理4个字节&&&& {&&&&& for(j=1;j&=8;j++) //处理1个字节8位&&&&&&&& {&&&&&&&&& cord=irdata[k];&&&&&&&&& if(cord&7)//大于某值为1,这个和晶振有绝对关系,这里使用12M计算,此值可以有一定误差&&&&&&&&&&&& value|=0x80;&&&&&&&&& if(j&8)&&&&& {&&& value&&=1;&&&}&&&&&&&&&& k++;&&&&&&&& }&&&& IRcord=&&&& value=0;&&&& &&&& } & irpro_ok=1;//处理完毕标志位置1}
/*------------------------------------------------&&&&&&&&&&&&&&&&&&& 主函数------------------------------------------------*/void main(void){&EX0init(); //初始化外部中断&TIM0init();//初始化定时器
&while(1)//主循环&& {&&& if(irok)&&&&&&&&&&&&&&&&&&&&&&& //如果接收好了进行红外处理&& {&& &&& Ircordpro();&&&& irok=0;&& }
&&& if(irpro_ok)&&&&&&&&&&&&&&&&&& //如果处理好后进行工作处理,如按对应的按键后显示对应的数字等&& {&&& Ir_work();& && }&& }}& &
[此贴子已经被作者于 17:22:26编辑过]
STC15F104E是1T的单片机,STC90C516RD+是12T的单片机,所以你的延时函数、定时器设置、单片机运行控制都出问题了。这两者的程序需要进行修改才能移植
这个芯片的外部中断是有BUG的。
原来是这样子,学习了
Powered by

参考资料

 

随机推荐