微信求高手猜成语指教这个单片机流水灯程序问题在哪?

为什么我的程序编译没有出错,用STC_ISP_V483下载进单片机时却自动跳出来,是什么原因,求单片机高手指教_百度知道
为什么我的程序编译没有出错,用STC_ISP_V483下载进单片机时却自动跳出来,是什么原因,求单片机高手指教
#include&reg52.h&#include&intrins.h&#define uchar unsigned char#define uint
unsigned int /********************************************************************* 名称 : Com_Init()* 功能 : 初始化串口程序,晶振11.0592, 波特率9600* 输入 : 无* 输出 : 无***********************************************************************/void Com_Init(void){
TMOD = 0x20;
PCON = 0x00;
SCON = 0x50;
TH1 = 0xFd;
TL1 = 0xFd;
}/********************************************************************* 名称 : Main()* 功能 : 主函数* 输入 : 无* 输出 : 无***********************************************************************/void Main(){
unsigned char *p; unsigned char s[]=&&;//s设为一个数组 Com_Init();
p=s; while(*p != '\0')
{SBUF = *p; while(!TI)
//如果发送完毕,硬件会置位TI TI = 0;
我有更好的答案
按默认排序
STC_ISP_V483 的界面自动跳出来?因为你在界面上的“当目标代码发生变化后自动调入文件,并立即发送下载命令”并且之前打开过这个程序的.hex,然后编译成功时,.hex改变了,就触发下载了
STC_ISP_V483自动关闭
换新版本的试试吧。这个程序是有时候会自动关闭的,特别是WIN7下。
会不会是程序本身有问题,其他的程序下载进去,不会这样的~~~
这个可能是下载软件出问题了·
理论上讲是可以的,对吗?
你是用RS232下载的,还是用串口转USB下载的?
你的RS232芯片有没有与单片机连接对?
这不是问题,其他的程序都是可以下载的~~~
其他类似问题
程序编译的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁想通过图片代替语言,通过多媒体代替操作叙述,让读者有亲自实验的感觉。力求把可..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
51单片机C语言应用开发实例精讲5 结构实例3:流水灯程序的四种写法
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口单片机流水灯设计方法 (3)
16:07:47&&&来源:21IC
图4: ISP编程器烧写目标文件liu01.hex
  到此,我们做的流水灯已成功,工作原理也清楚啦,若你完全掌握了上面程序,那么你就可以将“流水灯”的流向改变一下,可以将从"左向右流"改为从"右向左流",也可以改为"两边向内流"、"内部向外流"......,我想你一定能用前面学到的方法实现这些功能。可能有些高手说,前面的编程方法是最最笨的!不错!但初学单片机初期可以不必讲究语言的简练,只要能实现预先要求就好,最主要的是学好基本指令(111条)的用法,清楚各个指令的功能,这是初学者要知道的。那么还有更好的编程思路吗?当然有!请跟随站长继续学习下面的内容。
  在前面学习的程序中我们让LED流水是去逐个控制P1端口的每个位来实现的,因此程序显得有点复杂,下面我们就采用新的思路来编程。新的编程思路如下:我们在程序一开始就给P1口送一个数,这个数本身就让P1.0先低,其他位为高,然后让这个数据向高位移动不就实现“流水”效果啦?的确如此!8051指令中没有让P1数据移动的指令,但有对累加器ACC中数据左移或右移的指令,ACC在指令中常写为A,累加器A数据左移指令为"RL A",累加器数据右移指令为"RR A",累加器在数据传输和数据处理过程中作用十分重要,累加器ACC为8位。他可与片内所有单字节寄存器交换数据,实际上P1和其他端口在单片机中也是一个寄存器。这样我们可以将需移动的数据先放到ACC中,让其移动,然后将ACC移动后的数据再转送到P1口,这样同样可以实现“流水”效果。下面程序就是采用新的编程思路源程序liu02.asm。
实现8个LED流水灯汇编语言程序 liu02.asm
    ;----- 主程序开始 -----START: MOV   ACC,#0FEH   ;ACC中先装入LED1亮的数据(二进制的)     MOV   P1,ACC     ;将ACC的数据送P1口     MOV   R0,#7     ;将数据再移动7次就完成一个8位流水过程 LOOP:  RL   A       ;将ACC中的数据左移一位    MOV   P1,A      ;把ACC移动过的数据送p1口显示    ACALL  DELAY     ;调用延时子程序    DJNZ  R0,LOOP    ;没有移动够7次继续移动     AJMP  START     ;移动完7次后跳到开始重来,以达到循环流动效果
    ;----- 延时子程序 -----DELAY: MOV   R0,#255    ;延时一段时间D1:   MOV   R1,#255    DJNZ  R1,$    DJNZ  R0,D1    RET          ;子程序返回
    END          ;程序结束
  接下来,我们将上述程序编译,并烧写到实验芯片中,放到实验板上可以看到程序的"流水"效果是一样的,但源程序看起来更加简洁,直观。其实8051单片机有111条指令,有的指令常用,有的指令不常用,只要遵守语法规则,你可以用这些指令“组合”成你想象到的任何程序。当然,有时一条指令可以替代很多条指令,这样会使程序简洁,程序代码减少,在编写较大程序时可以让程序存储器放得下你需要的代码,这也是单片机高手所追求的“程序简洁高效”。当然,初学者不必刻意去追求程序的简洁高效,主要是要全面地掌握各种指令的应用,只要你对基本指令都熟悉了,那么你也就可以编出简洁高效的程序了,不过这编程“内功”是需要你勤学苦练,日积月累的练习、实验才能达到的哦!马上拿起你的实验板,现在就开始动手吧:)  上面我们学习的两个程序都是比较简单的流水灯程序,"流水"花样只能实现单一的"从左到右"流方式。下面介绍一个实用的流水灯程序,程序能够实现任意方式流水,而且流水花样无限,只要更改流水花样数据表的流水数据就可以随意添加或改变流水花样,真正实现随心所欲的流水。只要将下面的程序稍稍修改一下,通过S51增强型单片机实验板的扩展接口连接到霓虹灯高压驱动接口板就可以驱动真正的霓虹灯了。
实用的查表方式多功能流水灯程序 liu03.asm
    ;----- 主程序开始 -----    ORG   0000H       ;上电复位,程序从0000H开始执行START: MOV   SP,#60H      ;堆栈初始化为60H    MOV   DPTR,#LIU_TAB   ;流水花样表首地址送DPTRLOOP:  CLR   A    MOVC  A,@A+DPTR    CJNE  A,#0FFH,SHOW   ;检查流水结束标志    AJMP  START       ;所有花样流完,则从头开始重复流SHOW:  MOV   P1,A       ;将数据送到P1口    ACALL  DELAY    INC   DPTR    AJMP  LOOP
    ;----- 延时子程序 -----DELAY: MOV   R0,#255     ;延时一段时间D1:   MOV   R1,#255    DJNZ  R1,$    DJNZ  R0,D1    RET            ;子程序返回
    ;----- 下面是流水花样数据表 -----LIU_TAB:     DB B       ;二进制表示的流水花样数据    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB B    DB 7FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH ;十六进制表示    DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,7FH    DB 7EH,0BDH,0DBH,0E7H,0E7H,0DBH,0BDH,7EH    DB 7FH,3FH,1FH,0FH,07H,03H,01H,00H    DB 0FFH          ;流水花样结束标志0FFH    END           ;程序结束
编辑:什么鱼
本文引用地址:
本周热门资源推荐
EEWORLD独家树莓派打造视频监控机器人Verybot...
根据自己的一些从业经验,将这些系统设计时针对波特率自适应问题做一些阐述和分享..
单片机控制直流电机程序出错请高手指教
<em style="color:#999;font-size:12 margin-left:10" id="authorposton14-11-27 09:28:35&nbsp
本帖最后由 ly2 于
14:43 编辑
最近正在做单片机控制直流电机的东西,由于是新手,啥都是现学的,在定时器程序处总是出现错误,下面是我写的总程序,要求能实现对直流电机控速,能设定转速(我用L298驱动芯片驱动电机),设定转速时间并计时,并用液晶显示,液晶我用的1602,还有测速,测速这个模块还没开始,先不说。出现的问题是我用了两个定时器,定时器0用于对设定的时间倒计时并在液晶上显示,50ms中断一次,实际中定时一般是用分钟,可为了试验仿真方便程序中是用秒倒计时的;定时器1用于产生PWM波控制电机转速,100us中断一次,周期是300ms,用按键控制两个定时器同时开启,可是为什么仿真的时候,总是先倒计时,等到倒计时结束后,定时器1才输出PWM波?本应该在计时中就一起输出PWM波控速,等计时结束正好关掉电机。。。求高手指点,在此感激不尽。。。
#include&reg52.h&& && && && && && && && && && && && && && && && && && && &//此程序能够成功显示vst、tst、vmt、tmt
#define uint unsigned int& && && && && && && && && && && && && &&&
#define uchar unsigned char
uchar code table[]=&Vst:& &&;
uchar code table1[]=&Tst:& &&;
uchar code table2[]=&Vmt:& &&;
uchar code table3[]=&Tmt:& &&;
uchar code table4[]=&&;
sbit pwm=P2^2;
sbit right=P2^3;
sbit left=P2^4;
sbit lcden=P2^1;
sbit lcdrs=P2^0;
sbit s1=P3^0;
sbit s2=P3^1;
sbit s3=P3^2;
sbit s4=P3^3;
sbit s5=P3^4;
sbit s6=P3^5;
sbit s7=P3^6;
sbit s8=P3^7;
sbit led1=P1^0;
sbit led2=P1^1;
uchar num2,s1num,bai,shi,
uint vs,ts,x,y,z,t,N;
void delayms(uint z)
& &uint i,j;
& &for(i=z;i&0;i--)
& && &for(j=110;j&0;j--);
void write_com(uchar com)
& &lcdrs=0;
& &delayms(5);
& &lcden=1;
& &delayms(5);
& &lcden=0;
void write_date(uchar date)
& &lcdrs=1;
& &delayms(5);
& &lcden=1;
& &delayms(5);
& &lcden=0;
void display_vs()
& && && &&&bai=vs/100;
& & shi=vs%100/10;
& && &&&ge=vs%10;
& && &&&write_com(0x80+4);
& && &&&write_date(table4[bai]);
& && &&&delayms(1);
& && &&&write_com(0x80+5);
& && &&&write_date(table4[shi]);
& && &&&delayms(1);
& && &&&write_com(0x80+6);
& && &&&write_date(table4[ge]);
& && &&&delayms(1);
void display_ts()
& && && & bai=ts/100;
& && && & shi=ts%100/10;
& && && & ge=ts%10;
& && && & write_com(0x80+12);
& && && & write_date(table4[bai]);
& && && & delayms(1);
& && && & write_com(0x80+13);
& && &write_date(table4[shi]);
& && && & delayms(1);
& && && & write_com(0x80+14);
& && &write_date(table4[ge]);
& && && & delayms(1);
void init()& && && && && && && && && && && && && && && &//初始化函数
& &right=0;
& &left=0;
& &s1num=0;
& &lcden=0;& && && && && && && && && && && && && && && && && && && &
& &write_com(0x38);& && && && && && && && && && && && && && &//初始化1602液晶
& &write_com(0x0c);
& &write_com(0x06);
& &write_com(0x01);
& &write_com(0x80);
& &for(n=0;n&6;n++)& && && && && && && && && && &&&//显示vst:、tst:、vmt:、tmt:
& && &write_date(table[n]);
& && && & delayms(5);
& &write_com(0x80+8);
& &for(n=0;n&6;n++)
& && &write_date(table1[n]);
& && && & delayms(5);
& &write_com(0x80+0x40);
& &for(n=0;n&6;n++)
& && &write_date(table2[n]);
& && && & delayms(5);
& &write_com(0x80+0x40+8);
& &for(n=0;n&6;n++)
& && &write_date(table3[n]);
& && && & delayms(5);
& &TMOD=0X11;
& &TH0=()/256;& && && && && && && && && && && &
& &TL0=()%256;& && && &&&
& &TH1=()/256;& &
& &TL1=()%256;
& &ET0=1;&&
下面是键盘控制,都是对vs、ts的值进行设定,这里给略去了。。占空间只留下两个按键是控制正反转的,同时控制两个定时器的开启
void keyscan()& && && && && && && && && && && && && && && && && && &&&
& &if(s6==0)& && && && && && && && && && && && && && && && && &//按键s6,控制电机正转
& && &delayms(5);
& && && & if(s6==0)
& && && & {
& && && && & while(!s6);
& && && &right=1;
& && && && && &&&left=0;
& && && & }
& &if(s7==0)& && && && && && && && && && && && && && && && && && &&&//按键s7,控制电机反转
& && &delayms(5);
& && && & if(s7==0)
& && && & {
& && && && & while(!s7)
& && && && && &&&right=0;
& && && &left=1;
& && && & }
void main()& && && && && && && && && && && && &//主函数
& &init();
& &while(1)
& && &keyscan();
& && && & if(right==1|left==1)
& && && & {&&
& && && && && &&&TR1=1;
& && && && && &&&TR0=1;
& && && & }
& && && & if(ts==0)
& && && & {
& && && && &TR0=0;
& && && && && & right=0;
& && && && && & left=0;
& && && & }& && && && && &
void T0_time() interrupt 1& && && && && && && && && &//定时器0中断,对设定的时间进行倒计时函数
& && && &&&TH0=()/256;
& && &&&TL0=()%256;
& && &&&x=ts/100;
& && &&&y=ts%100/10;
& && &&&z=ts%10;
& && &&&write_com(0x80+0x40+12);
& && &&&write_date(table4[x]);
& && &&&delayms(1);
& && &&&write_com(0x80+0x40+13);
& && &&&write_date(table4[y]);
& && &&&delayms(1);
& && &&&write_com(0x80+0x40+14);
& && &&&write_date(table4[z]);
& && &&&delayms(1);
& && &&&num2++;
& && &&&if(num2==20)
& && && &&&num2=0;
& && && &&&if(ts&0)
& && && && & ts--;
& && && &&&else
& && && && && &&&ts=0;& && && &
void T1_time() interrupt 3& && && && && && &//把pwm波的周期定为300ms,占空比分3000级可调,这样定时器T0& && && && && && && && && && && && && && && && && && && & 每 0.1ms产生一次定时中断
& & TH1=()/256;& &
& & TL1=()%256;& && && && && && && && &//3000次后进入下一个pwm
& && && &N++;
& && && &if(N&=3000)& && && && && && && && &
& && && && &N=0;
& && && &if(N&=vs)& && && && && && && && && && && && && && && &
& && && &pwm=1;
& && && &else
& && && &pwm=0;
8C}32CC%)NO7NO)EH6B5ISU.jpg (138.93 KB, 下载次数: 0)
09:27 上传
站长推荐 /3
Powered by52单片机的程序问题,程序刚开始可以执行,可是执行一段时间后就不灵敏了!求高人指点 - 信息科学 - 小木虫 - 学术 科研 第一站
&& 查看话题
52单片机的程序问题,程序刚开始可以执行,可是执行一段时间后就不灵敏了!求高人指点
#include &reg52.h&& & & & // 89C52单片机头文件
#include &stdio.h&& & & &
#include &intrins.h&
sbit key1=P1^0;
sbit key2=P1^1;
sfr ISP_CONTR=0xe7;
idata unsigned char dis5_temp_
unsigned int num4=0,temp=0,num5=0;
unsigned char temp_buf_f=0;
unsigned int&&flag=0,flag1=0,flag2=0,flag3=0,flag4=0;
double num2=0,num3=0;
unsigned int num=0,num1=0;
unsigned&&char dis0_temp_buf={&&!@CSB&};
unsigned&&char dis4_temp_buf={&&!&JI&};& & & && &
unsigned&&char dis6_temp_buf={'#'};
unsigned&&char dis7_temp_buf={&&!&KF报警#&};
unsigned&&char dis10_temp_buf={&&!AKF1140&};
idata unsigned&&char dis11_temp_buf={&&!&KG常#&};
idata unsigned&&char dis12_temp_buf={&&!&LF故障#&};
idata unsigned&&char dis13_temp_buf={&&!ALF1140&};
idata unsigned&&char dis14_temp_buf={&&!&LG常#&};
idata unsigned&&char dis15_temp_buf={&&!&KK1#&};
idata unsigned&&char dis16_temp_buf={&&!&KK0#&};
idata unsigned&&char dis17_temp_buf={&&!LL&};
idata unsigned&&char dis18_temp_buf={&&!LH&};
void delayms(unsigned int xms)& & & &&&//延时程序
& & & & unsigned int m,n;
& & & & for(m=m&0;m--)
& & & & & & & & for(n=110;n&0;n--);
void T_init (void)& & & && & //T0用于计数,T2用于定时
& & & & TMOD=0x25;&&& & & && & //设置T1定时器和T0计数器的工作方式
& & & & TH0=0;& & & & & & & & & & & && & //设置T0计数器初值
& & & & TL0=0;
& & & & TR0=1;& & & & & & & & & & & && & // 启动定时器T0
& & & & TH1=0& & & & & & & && & //串口初始化设置
& & TR1=1; & & & & & & & & & & & && &
& & SM0=0;
& & SM1=1;
& & & & REN=0;
& & & & RCAP2H=()/256;& & & & //T2定时器的初始化设置
& & & & RCAP2L=()%256;
& & & & TH2=RCAP2H;
& & & & TL2=RCAP2L;
& & & & T2CON=0x04;& & & &
& & & & ET2=1;
& & & & & & & &
/*void uart0_rx_isr() interrupt 4& & & && & //串口中断
temp_buf=SBUF;
if (temp_buf_f&=17)
& &temp_buf_f=0;
} */& & & && &
void USART_Transmit( unsigned char date )& & & & // 发送数据
while(!TI);
void send_data(unsigned char *buffer, unsigned char len)
unsigned char i=0;
for(i=0;i&i++)&&//数据长度为包长度
&&USART_Transmit(*buffer++);
void shipin_init (void)& & & & & & & & & & & & & & & & & & & & & & & & & & & && &//视频初始化设置
&&send_data(dis0_temp_buf,sizeof(dis0_temp_buf));
&&delayms(10);
void main(void)& & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & & //主函数
shipin_init();
// WDT_CONTR=0x34;
& & & & if(flag==1)& & & &
& & & &&&{& &
& & & && &&&flag=0;
& & & & & & & & delayms(2);& & & && &&&
& & & & & & & & if(key1!=0)
& & & & & & & & {
& & & & & & & && &&&flag1=1;
& & & & & & & & & & & & delayms(20);
& & & & & & & & & & & & send_data(dis10_temp_buf,sizeof(dis10_temp_buf));
& & & & & & & & & & & & delayms(10);
& & & & & & & & & & & & send_data(dis11_temp_buf,sizeof(dis11_temp_buf));
& & & & & & & & & & & & delayms(10);
& & & & & & & & & & & &&&
& & & & & & & & }
& & & && & if(key1==0)
& & & & & & & & {& & & &
& & & & & & & & & & & & delayms(10);
& & & & & & & & & & & & if (key1==0)
& & & & & & & & & & & &&&{ flag1=0;
& & & & & & & & & & & && & flag2=1;
& & & & & & & & & & & && & flag3=0;
& & & & & & & & & & & && & num4=0;
& & & & & & & & & & & && & delayms(10);
& & & & & & & & & & & && & send_data(dis7_temp_buf,sizeof(dis7_temp_buf));
& & & & & & & & & & & && & delayms(10);
& & & & & & & & & & & && & send_data(dis15_temp_buf,sizeof(dis15_temp_buf));
& & & & & & & & & & & && & delayms(10);
& & & & & & & & & & & && & send_data(dis18_temp_buf,sizeof(dis18_temp_buf));
& & & & & & & & & & & && & delayms(10);
& & & & & & & & & & & && &
& & & & & & & & & & & &&&}
& & & & & & & & }
& & & & & & & & temp=flag2+flag1;
& & & & & & & & flag1=0;
& & & && &&&if (temp==2)
& & & & & & & & {& & & & temp=0;
& & & & & & & & & & & & flag3=1;
& & & & & & & & & & & & if(num4&=200)
& & & & & & & & & & & & {& & & &
& & & & & & & & & & & && &&&//delayms(1);
& & & & & & & & & & & & & & & & send_data(dis16_temp_buf,sizeof(dis16_temp_buf));
& & & & & & & & & & & & & & & & delayms(10);
& & & & & & & & & & & & & & & & send_data(dis17_temp_buf,sizeof(dis17_temp_buf));
& & & & & & & & & & & & & & & & delayms(10);
& & & & & & & & & & & & & & & & num4=0;
& & & & & & & & & & & & & & & & flag3=0;
& & & & & & & & & & & & & & & & flag2=0;
& & & & & & & & & & & & }
& & & & & & & & }& & & &
& & & & & & & & if(key2!=0)
& & & & & & & & {& & & &
& & & & & & & && && & & & delayms(10);
& & & & & & & && &&&//send_data(dis13_temp_buf,sizeof(dis13_temp_buf));
& & & & & & & & & & & & delayms(10);
& & & & & & & & & & & & send_data(dis14_temp_buf,sizeof(dis14_temp_buf));
& & & & & & & & & & & & delayms(10);
& & & & & & & & }
& & & && &&&if (key2==0)
& & & & & & & & {
& & & & & & & & & & & & delayms(2);
& & & & & & & && & if (key2==0)
& & & & & & & & & & & &&&{
& & & & & & & & & & & && & send_data(dis12_temp_buf,sizeof(dis12_temp_buf));
& & & & & & & & & & & &&&}
& & & & & & & & }
& & & & & & & & sprintf(dis5_temp_buf,&%.1f&,num3) ;& & & && & //速度值保留一位小数
& & & & & & & & delayms(10);
& & & & & & & & send_data(dis4_temp_buf,sizeof(dis4_temp_buf));
& & & && &&&send_data(dis5_temp_buf,sizeof(dis5_temp_buf));
& &&&& & & & send_data(dis6_temp_buf,sizeof(dis6_temp_buf));
& & & & & & & & delayms(10);
& & & & & & & & if(flag4==1)
& & & & & & & & {
& & & & & & & & & & & & flag4=0;
& & & & & & & & & & & & ISP_CONTR=0x20;
& & & & & & & & }
& & & & & & & & delayms(100);
& & & & & & & && &
& & & && &&&
& & & &&&}
}& & & && &
void T2_() interrupt 5& & & & & & & & & & & && &//定时器T2中断
& & & & TF2=0;
& & & & num1++;
& & & & num5++;
& & & & if(num1==10)& & & & & & & & & & & & & & & && &//定时1秒
& & & & {&&
& & & && & num1=0;
& & & && & flag=1;
& & & && & num=256*TH0+TL0;
& & & && & TH0=0;
& & & && & TL0=0;
& & & && & num2=(double)num/27.69;
& & & && & num3=num2;
& & & & }& & & && &
& & & & if(flag3==1)
& & & & & & & & num4++;
& & & & if(num5&=6000)
& & & && & num5=0;
& & & && & flag4=1;
程序就是采集一个脉冲变量,还有两个开关量,为什么那key1开关量,在程序运行一段时间后,给1或者给0都没有变化,但是key2开关量一直都是正常的,跪求高人指点啊 。如果可以,有酬谢。
改到别的端口试试,比如1.2,1.3或者1.4这三个端口。 : Originally posted by 兰大小精灵 at
改到别的端口试试,比如1.2,1.3或者1.4这三个端口。 我试过p3.6,p3.7不行之后,我就改成了p1.0,p1.1,我想是这个的问题的可能性不大,您帮我看看还有没有其他的问题啊,谢谢 : Originally posted by yeyu370784 at
我试过p3.6,p3.7不行之后,我就改成了p1.0,p1.1,我想是这个的问题的可能性不大,您帮我看看还有没有其他的问题啊,谢谢... 之所你让你改端口是排除引脚的复用问题,1.0是52的tx,1.1是txen,你只之前用的两个口也有引脚的第二功能,程序既然能跑,说明功能上应该问题不大,至于失灵,大多都是别的功能影响了,该关的中断没关,该打开的功能没打开。另外这个问题你也应该去专业的单片机论坛上去问,学校和公司的差别还不小,民间单片机和电路高手都很多。
var cpro_id = 'u1216994';
欢迎监督和反馈:本帖内容由
提供,小木虫为个人免费站点,仅提供交流平台,不对该内容负责。欢迎协助我们监督管理,共同维护互联网健康,如果您对该内容有异议,请立即发邮件到
联系通知管理员,也可以通过QQ周知,我们的QQ号为:8835100
我们保证在1个工作日内给予处理和答复,谢谢您的监督。
小木虫,学术科研第一站,为中国学术科研研究提供免费动力
欢迎监督,发现不妥请立即
E-mail: & QQ:8835100}

我要回帖

更多关于 求高手 猜以下成语 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信