关于51单片机的几个问题(我用的是STC89C52RC)(我是初学者) 我是一个单片机的爱好者。现在用的是STC89C52RC这个单...

作者&投稿:可贱 (若有异议请与网页底部的电邮联系)
  1. 你可以用573,244,245等来扩展IO口,当然也可以用8255或者8155来扩展并口。

  2. 你说不是很清楚,不过烧录软件共三种:

    A:ISP,即利用串口在线下载,需要单片机有此功能

    B:IAP,即在应用编程,可以利用串口,也可以直接利用系统设计的接口,一般设计成USB口

    C:利用编程器烧录,以前的单片机都是这样烧录的,借助一个叫编程器的设备,将HEX文件或BIN文件通过并口或串口烧录到单片机或EEPROM中。



第一个问题可以考虑用译码器。
第二个问题我没用过。公司开发现在不用51了。

请问一下懂51单片机的朋友,我用的是 stc89c52的单片机,想问下关于烧录程序的问题。~

看来你对STC单片机真不了解,而在不知情的情况下,贸然用AT的烧录器来给STC单片机烧录,你真是敢想敢干,有魄力啊!其实,目前,STC单片机基本上成为国内51单片机的主流芯片,在百度这里关于STC单片机的烧录方法,随便找就能到一堆,难道你真的一无所知。
STC单片机烧录程序,根本不用什么烧录器,更与AT单片机毫无关系,怎么会想到用AT的烧录器呢。STC单片机只用电脑串口就可烧录程序。但因现在的电脑都没有串口了,所以要用一条USB转串口线就行。更简单的,上网买一个USB转TTL模块,有4条线,VCC,GNG,TXD,RXD与单片机的这4个连接,单片机正常外接晶振,复电路即可完成烧录。更具体的方法,去STC官网下载技术手册,有更详细说明。
再去STC官网下载专用烧录软件:STC-ISP软件包,里面还有USB转串口的驱动程序。因为,要用USB转串口线要安装驱动程序。
最后说一句,你用烧录器给STC烧录程序,那已经把STC单片机烧坏了,再重换一个或再买一片吧。

首先要明确第一点,世界上很多做单片机芯片的厂商,他们之间的产品一般在指令上(就是汇编语言)、系统架构上、I/O口的特性、包括的功能上都有很大的不同。51单片机是以前英特尔出的8051单片机,后来很多公司仿造8051,都叫做51系列单片机,比如现在常用的AT89c51、飞利浦的51单片机和STC系列的都是51单片机。
而微芯公司出的PIC单片机和ATMEL的AVR单片机跟51最大的不同就是I/O口的驱动能力上,51单片机的驱动能力很弱,要点亮一个比较亮的LED灯的话,需要用三极管来放大信号,但PIC和AVR的就不需要,因为他们的驱动能力能达到25mA,其次就是指令的不同,51单片机有一百多条汇编指令,PIC和avr的只有几十条,属于RICS精简指令,可以增大运行速度。还有普通的51系列单片机一个机器周期有包含12个时钟周期,而PIC的一个机器周期只有四个时钟周期(AVR的不太清楚,但跟PIC的差不多),这样的话,在同样晶振频率的情况下,PIC和avr的单片机运行指令要比51系列的快多了。还有,PIC和AVR单片机的汇编指令中没有乘法和除法,如果用汇编写乘法除法的时候,需要用循环移位或循环加减的方法,但他们一般用于工业控制、智能家电等方面,设计计算的很少。所以不常用的指令一般不用。
现在在中国,常用的单片机很多,如PIC、AVR、飞思卡尔(前摩托罗拉)、飞利浦、合泰、瑞萨、NEC、义隆、三星等等,这些单片机和51的结构、指令、I/O口特性都完全不一样!

51单片机的编程问题?
答:例如符合ISO7816协议的cpu卡的读写,对时序要求比较严格。其实就是用io脚做出来的同步半双工串口。支持cpu卡的程序一般比较庞大,需要用c51来组织,但是由于c编译的不确定性,必须把底层程序封装成汇编语言模块嵌入到工程中。这就带来几个问题:如何声明函数、参数如何传递等。限于篇幅,不能说得很细。下...

51单片机程序问题
答:'song1': can't initialize, bad type or class “song1”:这个变量无法被初始化,错误的类型 'song1': not in formal parameter list 'song1':不在正规的参数清单之类 你所有问题基本上都是这一类,很有可能是参数定义的时候发生了错误,发源程序看看 ...

51单片机的问题,帮帮忙啊,答得好的一定加分,谢谢了!
答:(1)执行指令MOVX A,@DPTR时,引脚ALE为_低__电平,PSEN为_高__电平 (2)ORG 2000H MOV A,#00H MOV B,#01H MOV SP,#10H PUSH ACC PUSH B RET 执行后SP=_#10H__,PC=_#0100H__(3)用最少的机器周期编程实现将R0所指的二字节数乘以16,保持R0不变 MOV A,R0 INC A MOV ...

用51单片机 制作简易电子琴 的两个问题
答:内部大循环只要把扫描程序等需要不停执行的程序写在 while(1){ 。。。(这里)} 识别按键只要与按键相连的引脚检测到低电平即可 给你一个按键范例:假如按键接到单片机P2^0引脚 sbit K = P2^0;if(K == 0){ delay(5); //延时去抖 if(K == 0) //确定键按下 { while(!K); //判...

51单片机,简单问题
答:一般情况下我们都是以1作为高电平,0作为低电平,因为这样符合我们日常生活中的认识。但是芯片的高低电平有时候不是这样的,单片机是以1作为高电平(这时也是高电压),0作为低电平(低电压)。但是并不是所有的逻辑电平都是这样(1为高,0为低)的。比如RS-232C标准规定的逻辑电平与TTL数字电路(例如...

51单片机 的一点问题
答:根据汉字个数和刷频率设定地址线的刷新速度并把相应的数据送到数据线上去;至于滚动么无非就是改变地址线和数据线的对应关系;L的翻转和倒置:(1)存四个方向的四个字库,对按键计数,根据计数值选择相应的字库(2)口字四边显示的取舍 思路应该比较清楚,试着编一下,有问题可以再交流~...

关于51单片机的问题,求教
答:既然是数据存储器,当然要用到读和写,即存储数据和取出数据,完成这两项任务,就要用到RD(读)和WR(写)。而且还要用到ALE(地址锁存),这都是必须的,不然数据总线和地址总线就没法分了,因为地址总线的低八位和数据总线是复用的。

51单片机code的问题(RAM和ROM)+50
答:3,局部就量或全局就量,都是放在RAM区的,因为RAM区可以读写,这样才可以保存临时数据。for(i=1;i<9;i++)前面肯定会有定义i,如 char i;单片机碰到char i;就会在RAM区分配一个字节,8bit给i用。然后再执行for(i=1;i<9;i++),这时i是可变的,因为执行的是RAM区的i地址内放的...

关于51单片机定时器的一个问题
答:2、至于你说的无法清零的问题,不知道你是怎么知道无法清零的呢?3、还有我对你的程序很费解,要是按你的写法,一上来定时器就是启动的,while(echo==1);这句话是等待低电平,一上来就是高电平??既然这样你还延时什么,,,我认为应该这样 trig=0;trig=1;delay12us();trig=0;//加上以下几...

关于51单片机的一个问题
答:一直进行下去直到没有数据为止 对于你第二个问题,仍然给你些提示 定时器复用学过吧,比如你每100ms运行一次电机,40ms检测按键 那么定时器定时时间为20ms,定时器中断里面用IF语句,n=2时运行检测按键 n=5时运行电机,这样你就有时间边输入数据,边运行程序,我也是读了一边你的问题,临时想出来的...