广州周立功单片机发展有限公司Te:(020)38730916387309173870976387097Fax389305 位控制定时器1,低四位控制定时器0。TMOD的结构如下 定时器控制寄存器TMOD不可位寻址 GATEC/T MI MO C/TMIMO 时器1 定时器0 GATE 当GATE置位时,定时器仅当TR=1并且INT=1时才工作,如果GATE=0, 置位TR定时器就开始工作 定时器方式选择。如果C/T=1,定时器以计数方式工作,C/T=0时,以 定时方式工作 模式选择位高位 模式选择位低位 表A-8 可通过C/T位的设置来选择定时器的时钟源。C/T=1,定时器以计数方式工作(对I/0 引脚脉冲计数),C/T=0时,以定时方式工作(对内部时钟脉冲计数)。当定时器用来对内 部时钟脉冲计数时,可通过硬件或软件来控制。GATE=0为软件控制,置位TR定时器就开 始工作,GATE=1为硬件控制,当TR=1并且INT=1时定时器才工作。当INT脚给出低电平 时,定时器将停止工作。这在测量INT脚的脉冲宽度时十分有用,当然,IMT脚不作为外 部中断使用。 7.1定时器工作方式0和方式1 定时器通过软件控制有四种工作方式。方式0为十三位定时/计数器方式,定时器溢出 时置位TF0或TF1,并产生中断。方式1将以十六位定时/计数器方式工作,除此之外和方 式0一样 7.2定时器工作方式2 方式2为8位自动重装工作方式。定时器的低8位(TL0或TL1)用来计数,高8位(TH0 或TH1)用来存放重装数值。当定时器溢出时,TH中的数值被装入TL中。定时器0和定时 器1在方式2时是同样的。定时器1常用此方式来产生波特率 7.3定时器工作方式3 方式3时,定时器0成为两个8位定时/计数器(TH0和T0)。THO对应于TMOD中定 时器0的控制位,而TL0占据了TMOD中定时器1的控制位。这样定时器1将不能产生溢出 中断了,但可用于其它不需产生中断的场合,如作为波特率发生器或作为定时计数器被软 件查询。当系统需要用定时器1来产生波特率,而又同时需要两个定时/计数器时,这种工 作方式十分有用。当定时器1设置为工作方式3时,将停止工作 7.4定时器2 51系列单片机如8052第三个定时/计数器,定时器2。他的控制位在特殊功能寄存器 T2C0N中。结构如下 定时器2控制寄存器(可位寻址) TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 TF2 定时器2溢出标志位。定时器2溢出时将置位,当TCLK或RCLK为1时, 将不会置位 EXF2 定时器2外部标志,当EXEN2=1,并在引脚T2EX检测到负跳变时置位。 如果定时器2中断被允许,将产生中断
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925 11 位控制定时器 1 低四位控制定时器 0 TMOD 的结构如下 定时器控制寄存器 TMOD-不可位寻址 GATE C/T M1 M0 GATE C/T M1 M0 定时器 1 定时器 0 GATE 当 GATE 置位时 定时器仅当 TR=1 并且 INT=1 时才工作 如果 GATE=0 置位 TR 定时器就开始工作 C/T 定时器方式选择 如果 C/T=1 定时器以计数方式工作 C/T=0 时 以 定时方式工作 M1 模式选择位高位 M0 模式选择位低位 表 A-8 可通过 C/T 位的设置来选择定时器的时钟源 C/T=1 定时器以计数方式工作 对 I/0 引脚脉冲计数 C/T=0 时 以定时方式工作 对内部时钟脉冲计数 当定时器用来对内 部时钟脉冲计数时 可通过硬件或软件来控制 GATE=0 为软件控制 置位 TR 定时器就开 始工作 GATE=1 为硬件控制 当 TR=1 并且 INT=1 时定时器才工作 当 INT 脚给出低电平 时 定时器将停止工作 这在测量 INT 脚的脉冲宽度时十分有用 当然 INT 脚不作为外 部中断使用 7.1 定时器工作方式 0 和方式 1 定时器通过软件控制有四种工作方式 方式 0 为十三位定时/计数器方式 定时器溢出 时置位 TF0 或 TF1 并产生中断 方式 1 将以十六位定时/计数器方式工作 除此之外和方 式 0 一样 7.2 定时器工作方式 2 方式 2 为 8 位自动重装工作方式 定时器的低 8 位 TL0 或 TL1 用来计数 高 8 位 TH0 或 TH1 用来存放重装数值 当定时器溢出时 TH 中的数值被装入 TL 中 定时器 0 和定时 器 1 在方式 2 时是同样的 定时器 1 常用此方式来产生波特率 7.3 定时器工作方式 3 方式 3 时 定时器 0 成为两个 8 位定时/计数器 TH0 和 TL0 TH0 对应于 TMOD 中定 时器 0 的控制位 而 TL0 占据了 TMOD 中定时器 1 的控制位 这样定时器 1 将不能产生溢出 中断了 但可用于其它不需产生中断的场合 如作为波特率发生器或作为定时计数器被软 件查询 当系统需要用定时器 1 来产生波特率 而又同时需要两个定时/计数器时 这种工 作方式十分有用 当定时器 1 设置为工作方式 3 时 将停止工作 7.4 定时器 2 51 系列单片机如 8052 第三个定时/计数器 定时器 2 他的控制位在特殊功能寄存器 T2CON 中 结构如下 定时器 2 控制寄存器 可位寻址 TF2 EXF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 TF2 定时器 2 溢出标志位 定时器 2 溢出时将置位 当 TCLK 或 RCLK 为1时 将不会置位 EXF2 定时器 2 外部标志 当 EXEN2=1 并在引脚 T2EX 检测到负跳变时置位 如果定时器 2 中断被允许 将产生中断
广州周立功单片机发展有限公司Te:(020)38730916387309173870976387097Fax389305 RCLK 接收时钟标志,当串行口以方式1或3工作时,将使用定时器2的溢出 率作为串行口接收时钟频率。 TCLK 发送时钟标志位,当串行口以方式1或3工作时,将使用定时器 的溢出率作为串行口接收时钟频率。 EXEN2 定时器2外部允许标志,当EXEN2=1时,在T2EX引脚出现负跳变时将造 成定时器2捕捉或重装,并置位EXF2,产生中断。 TR2 定时器运行控制位,置位时,定时器2将开始工作,否则,定时器2停 止工作。 C/T2 定时器计数方式选择位,如果C/T2=1,定时器2将作为外部事件计数器, 否则对内部时钟脉冲计数。 CP/RL2 捕捉/重装标志位,当EXEN2=1时,如果CP/RL2=1,T2EX引脚的负跳变 将造成捕捉,如果CP/RL2=0,T2EX引脚的负跳变将造成重装。 通过由软件设置T20N,可使定时/计数器以三种基本工作方式之一工作。第一种为捕 捉方式。设置为捕捉方式时,和定时器0或定时器1一样以16位方式工作。这种方式通过 复位ENEN2来选择。当置位EXEN2时,如果T2EX有负跳变电平,将把当前的数,锁存在(RCAP2H 和RCAP2L)中。这个事件可用来产生中断。 第二种工作方式为自动重装方式,其中包含了两个子功能,由EXEN2来选择。当EXEN2 复位时,16位定时器溢出将触发一个中断并将RCAP2H和RCAP2L中的数装入定时器中。当 EXEN2置位时,除上述功能外,T2EX引脚的负跳变将产生一次重装操作 最后一种方式用来产生串行口通讯所需的波特率,这通过同时或分别置位RCLK和TCLK 来实现。在这种方式中,每个机器周期都将使定时器加1,而不像定时器0和1那样,需 要12个机器周期。这使得串行通讯的波特率更高。 8内置UART 8051有一个可通过软件控制的内置,全双工串行通讯接口。由寄存器SC0N来进行设 置,可选择通讯模式,允许接收,检査状态位。SCON的结构如下: 串行控制寄存器(SCON)-可位寻址 SMO SMI SM2 REN TB8 RB8 TI RI SM0串行模式选择 SM1串行模式选择 SM2多机通讯允许位,当模式0时,此位应该为0。模式1时,当接收到停止位时 该位将置位。模式2或模式3时,当接收的第9位数据为1时,将置位 REN串行接收允许位 TB8在模式2和模式3中,将被发送数据的第9位 RB8在模式0中,该位不起作用,在模式1中,该位为接收数据的停止位。在模 式2和模式3中,为接收数据的第9位 TI串行中断标志位,由软件清零 RI接收中断标志位,有软件清零 表A-10 UART有一个接收数据缓冲区,当上一个字节还没被处理,下一个数据仍然可以缓冲区 接收进来,但如果接收完这个字节如果上个字节还没被处理,上个字节将被覆盖。因此, 软件必须在此之前处理数据。当连续发送字节时也是如此。 8051支持10位和11位数据模式,11数据模式用来进行多机通讯。并支持高速8位移 位寄存器模式。模式1和模式3中波特率可变
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925 12 RCLK 接收时钟标志 当串行口以方式 1 或 3 工作时 将使用定时器 2 的溢出 率作为串行口接收时钟频率 TCLK 发送时钟标志位 当串行口以方式 1 或 3 工作时 将使用定时器 2 的溢出率作为串行口接收时钟频率 EXEN2 定时器 2 外部允许标志 当 EXEN2=1 时 在 T2EX 引脚出现负跳变时将造 成定时器 2 捕捉或重装 并置位 EXF2 产生中断 TR2 定时器运行控制位 置位时 定时器 2 将开始工作 否则 定时器 2 停 止工作 C/T2 定时器计数方式选择位 如果 C/T2=1 定时器 2 将作为外部事件计数器 否则对内部时钟脉冲计数 CP/RL2 捕捉/重装标志位 当 EXEN2=1 时 如果 CP/RL2=1 T2EX 引脚的负跳变 将造成捕捉 如果 CP/RL2=0 T2EX 引脚的负跳变将造成重装 通过由软件设置 T2CON 可使定时/计数器以三种基本工作方式之一工作 第一种为捕 捉方式 设置为捕捉方式时 和定时器 0 或定时器 1 一样以 16 位方式工作 这种方式通过 复位 EXEN2来选择 当置位 EXEN2 时 如果 T2EX 有负跳变电平 将把当前的数 锁存在 RCAP2H 和 RCAP2L 中 这个事件可用来产生中断 第二种工作方式为自动重装方式 其中包含了两个子功能 由 EXEN2 来选择 当 EXEN2 复位时 16 位定时器溢出将触发一个中断并将 RCAP2H 和 RCAP2L 中的数装入定时器中 当 EXEN2 置位时 除上述功能外 T2EX 引脚的负跳变将产生一次重装操作 最后一种方式用来产生串行口通讯所需的波特率 这通过同时或分别置位 RCLK 和 TCLK 来实现 在这种方式中 每个机器周期都将使定时器加 1 而不像定时器 0 和 1 那样 需 要 12 个机器周期 这使得串行通讯的波特率更高 8 内置 UART 8051 有一个可通过软件控制的内置 全双工串行通讯接口 由寄存器 SCON 来进行设 置 可选择通讯模式 允许接收 检查状态位 SCON 的结构如下 串行控制寄存器 SCON -可位寻址 SM0 SM1 SM2 REN TB8 RB8 TI RI SM0 串行模式选择 SM1 串行模式选择 SM2 多机通讯允许位 当模式 0 时 此位应该为 0 模式 1 时 当接收到停止位时 该位将置位 模式 2 或模式 3 时 当接收的第 9 位数据为 1 时 将置位 REN 串行接收允许位 TB8 在模式 2 和模式 3 中 将被发送数据的第 9 位 RB8 在模式 0 中 该位不起作用 在模式 1 中 该位为接收数据的停止位 在模 式 2 和模式 3 中 为接收数据的第 9 位 TI 串行中断标志位 由软件清零 RI 接收中断标志位 有软件清零 表 A-10 UART 有一个接收数据缓冲区 当上一个字节还没被处理 下一个数据仍然可以缓冲区 接收进来 但如果接收完这个字节如果上个字节还没被处理 上个字节将被覆盖 因此 软件必须在此之前处理数据 当连续发送字节时也是如此 8051 支持 10 位和 11 位数据模式 11 数据模式用来进行多机通讯 并支持高速 8 位移 位寄存器模式 模式 1 和模式 3 中波特率可变
广州周立功单片机发展有限公司Te:(020)38730916387309173870976387097Fax389305 8.1UART模式0 模式0时,UART作为一个8位的移位寄存器使用,波特率为fosc/12。数据由RXD从 低位开始收发。TⅫD用来发送同步移位脉冲,因此,方式0不支持全双工。这种方式可用 来和像某些具有8位串行口的 EEPROM之类的器件通讯。 当向SBUF写入字节时,开始发送数据。数据发送完毕时,TI位将置位。置位REN时, 将开始接收数据,接收完8位数据时,RI位将置位 8.2UART模式1 工作于模式1时,传输的是10位:1个起始位,8个数据位,1个停止位。这种方式 可和包括PC机在内的很多器件进行通讯。这种方式中波特率是可调的。而用来产生波特率 的定时器的中断应该被禁止。PCON的SMOD位为1时,可使波特率翻倍。 TI和RI在发送和接收停止位的中间时刻被置位。这使软件可以响应中断并装入新的 数据。数据处理时间取决于波特率和晶振频率 如果用定时器1来产生波特率,应通过下式来计算TH1的装入值 TH1=256-(K=+OscFreg)/(384*BaudRate K=l if SMoD=0 K2 if SMoD=1 重装值要小于256,非整数的重装值必须和下一个整数非常接近。通常产生的波特率 都能使系统正常的工作,这点需要开发者把握 这样,如果你使用9.216M晶振,想产生9600的波特率,第一步,设K=1,分子为9216000, 分母为3686400,相除结果为2.5,不是整数。设K=2,分子为18432000,分母为3686400 相除结果为5,可得TH1=251或OFBH 如果用8052的定时器2产生波特率,RCAP2H和RCAP2L的重装值也需要经过计算,根 据需要的波特率,用下式计算 [RCAP2H, RCAP2L]=65536-0sFreg/(32*BaudRate 假设你的系统使用9.216M晶振,你想产生9600的波特率。用上式产生的结果必须是 正的,而且接近整数。最后得到结果30,重装值为65506或FFE2H 8.3UART模式2 模式2的数据以11位方式发送:1位起始位,8位数据位,第九位,1位停止位。发 送数据时,第九位为SC0N中的TB8,接收数据的第九位保存在RB8中。第九位一般用来多 机通信,仅在第九位为1时,单片机才接收数据。多机通信用SCON的SM2来控制。当SM2 置位时,仅当数据的第九位为1时才引发通讯中断,当SMP2为0时,只要接收完11位就产 生一次中断。 第九位可在多机通讯中避免不必要的中断,在传送地址和命令时,第九位置位,串行 总线上的所有处理器都产生一个中断,处理器将决定是否继续接收下面的数据,如果继续 接收数据就清零SM2。否则,SM置位,以后的数据流将不会使他产生中断。 SMOD=0时,模式2的波特率为1/640sc,SMOD=1时,波特率为1/320sc。因此,使用 模式2,当晶振频率为11.05胍M时,将有高达345K的波特率。模式3和模式2的差别在于 可变的波特率。 9其它功能 很多51系列的单片机有了许多新增加的功能,使之更适合于嵌入式应用。51系列的 其它功能如下
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925 13 8.1 UART 模式 0 模式 0 时 UART 作为一个 8 位的移位寄存器使用 波特率为 fosc/12 数据由 RXD 从 低位开始收发 TXD 用来发送同步移位脉冲 因此 方式 0 不支持全双工 这种方式可用 来和像某些具有 8 位串行口的 EEPROM 之类的器件通讯 当向 SBUF 写入字节时 开始发送数据 数据发送完毕时 TI 位将置位 置位 REN 时 将开始接收数据 接收完 8 位数据时 RI 位将置位 8.2 UART 模式 1 工作于模式 1 时 传输的是 10 位 1 个起始位 8 个数据位 1 个停止位 这种方式 可和包括 PC 机在内的很多器件进行通讯 这种方式中波特率是可调的 而用来产生波特率 的定时器的中断应该被禁止 PCON 的 SMOD 位为 1 时 可使波特率翻倍 TI 和 RI 在发送和接收停止位的中间时刻被置位 这使软件可以响应中断并装入新的 数据 数据处理时间取决于波特率和晶振频率 如果用定时器 1 来产生波特率 应通过下式来计算 TH1 的装入值 TH1=256- K*OscFreq / 384*BaudRate K=1 if SMOD=0 K=2 if SMOD=1 重装值要小于 256 非整数的重装值必须和下一个整数非常接近 通常产生的波特率 都能使系统正常的工作 这点需要开发者把握 这样 如果你使用 9.216M 晶振 想产生 9600 的波特率 第一步 设 K=1 分子为 9216000 分母为 3686400 相除结果为 2.5 不是整数 设 K=2 分子为 18432000 分母为 3686400 相除结果为 5 可得 TH1=251 或 0FBH 如果用 8052 的定时器 2 产生波特率 RCAP2H 和 RCAP2L 的重装值也需要经过计算 根 据需要的波特率 用下式计算 [RCAP2H RCAP2L]=65536-OsFreq/ 32*BaudRate 假设你的系统使用 9.216M 晶振 你想产生 9600 的波特率 用上式产生的结果必须是 正的 而且接近整数 最后得到结果 30 重装值为 65506 或 FFE2H 8.3 UART 模式 2 模式 2 的数据以 11 位方式发送 1 位起始位 8 位数据位 第九位 1 位停止位 发 送数据时 第九位为 SCON 中的 TB8 接收数据的第九位保存在 RB8 中 第九位一般用来多 机通信 仅在第九位为 1 时 单片机才接收数据 多机通信用 SCON 的 SM2 来控制 当 SM2 置位时 仅当数据的第九位为 1 时才引发通讯中断 当 SM2 为 0 时 只要接收完 11 位就产 生一次中断 第九位可在多机通讯中避免不必要的中断 在传送地址和命令时 第九位置位 串行 总线上的所有处理器都产生一个中断 处理器将决定是否继续接收下面的数据 如果继续 接收数据就清零 SM2 否则 SM2 置位 以后的数据流将不会使他产生中断 SMOD=O 时 模式 2 的波特率为 1/64Osc SMOD=1 时 波特率为 1/32Osc 因此 使用 模式 2 当晶振频率为 11.059M 时 将有高达 345K 的波特率 模式 3 和模式 2 的差别在于 可变的波特率 9 其它功能 很多 51 系列的单片机有了许多新增加的功能 使之更适合于嵌入式应用 51 系列的 其它功能如下
广州周立功单片机发展有限公司Te:(020)38730916387309173870976387097Fax389305 9.1|2c IC是一种新的芯片间的通讯方式,由 PHILIPS开发和推广。IC通讯采用两条线进行 通讯,一条数据线,一条时钟线,可进行多器件通讯。总线上的每个器件都有自己的地址。 数据传送是双向的,总线支持多主机。8051上IC总线的接口为P0端口的两根线,有专门 的特殊功能寄存器来控制总线的工作和执行传输协议。 9.2A/D转换 并不是所有51系列单片机都带AD转换,但A/D转换的使用非常普遍。AD转换一般 由寄存器ADC0N来控制。用户通过AD0N来选择MD转换的通道,开始转换,检查转换状 态。一般A/D转换的过程不多于40个指令周期,转换完成后产生中断,中断程序将处理转 换结果。AD转换需要处理器一直处于工作状态。转换结果保存于特殊功能寄存器中。 9.3看门狗 大多数51系列单片机都有看门狗。当看门狗没有被定时清零时,将引起复位。这可防 止程序跑飞。设计者必须清楚看门狗的溢出时间,以决定在合适的时候清看门狗。清看门 狗也不能太过频繁,否则会造成资源浪费 51系列有专门的看门狗定时器,对系统频率进行分频计数,定时器溢出时,将引起复 位。看门狗可设定溢出率,也可单独用来作为定时器使用。 10设计 1系列单片机有着各种具有不同的外设功能的成员,可适用于各方面的应用。选择一 款合适的单片机是十分重要的。考虑到电路板空间和成本,应使外围部件尽可能少。51系 列最多512字节的RAM和32K字节的 EPROM。有时,只要使用系统内置的RM和 EPROM就 可以了,应充分利用这些部件,不再需要外接 EPROM和RAM,这样就省下了I/0口,可用 来和其它器件相连。当不需要扩展I/0口并且程序代码较短时,使用28脚的51单片机可 节省不少空间。但很多应用需要更多的RAM和 EPROM空间,这时就要用外围器件(SRAM, EPROM 等)。许多外围器件能被51系列的内部功能和相应的软件代替,这将在以后讨论 经常要考虑系统的功耗问题。如果处理器有很多工作要做,而不能进入低功耗和空闲 模式,应选择3.6V的工作电压以降低功耗,如果有足够的空闲时间的话,可以考虑关闭晶 振,降低功耗。 设计者必须仔细选择晶振频率,确保标准的通讯波特率(1200,4800,9600,19.2K 等)。你不妨先列出可供选择的晶振所能产生的波特率,然后根据需要的波特率和系统要求 选择晶振。有时也不必过分考虑晶振问题,因为可以定制晶振。当晶振频率超过20M时, 必须确保总线上的其它器件能够在这种频率下工作。一般, EPROM,SRAM,高速CMOS版的 锁存器都支持51的工作频率。当工作频率增加时,功耗也会增加,这点在使用电池作为电 源的系统中应充分考虑 11实现 当选择好单片机和外围器件后,下一步就是设计和分配系统I/0地址。代码段在从地 址零开始的连续空间内。外部数据存储空间地址一般和RAM和器件地址相连。RAM一般在 从地址0000或8000H开始的连续空间内。一种比较有用的处理方法是SRAM的地址也从 0000H开始,用A15使能RAM,RAM的0E和W线分别和单片机的RD和W线相连。这种方 法可使RAM区超过32K,这足够嵌入式系统使用。此外,32K的地址也可分配给I/0器件 大多数情况下,I/0器件是比较少的,所以,地址线的高位可接解码器工作给外围器件提
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925 14 9.1 I2 C I2 C 是一种新的芯片间的通讯方式 由 PHILIPS 开发和推广 I2 C 通讯采用两条线进行 通讯 一条数据线 一条时钟线 可进行多器件通讯 总线上的每个器件都有自己的地址 数据传送是双向的 总线支持多主机 8051 上 I2 C 总线的接口为 P0 端口的两根线 有专门 的特殊功能寄存器来控制总线的工作和执行传输协议 9.2 A/D 转换 并不是所有 51 系列单片机都带 A/D 转换 但 A/D 转换的使用非常普遍 A/D 转换一般 由寄存器 ADCON 来控制 用户通过 ADCON 来选择 A/D 转换的通道 开始转换 检查转换状 态 一般 A/D 转换的过程不多于 40 个指令周期 转换完成后产生中断 中断程序将处理转 换结果 A/D 转换需要处理器一直处于工作状态 转换结果保存于特殊功能寄存器中 9.3 看门狗 大多数 51 系列单片机都有看门狗 当看门狗没有被定时清零时 将引起复位 这可防 止程序跑飞 设计者必须清楚看门狗的溢出时间 以决定在合适的时候清看门狗 清看门 狗也不能太过频繁 否则会造成资源浪费 51 系列有专门的看门狗定时器 对系统频率进行分频计数 定时器溢出时 将引起复 位 看门狗可设定溢出率 也可单独用来作为定时器使用 10 设计 51 系列单片机有着各种具有不同的外设功能的成员 可适用于各方面的应用 选择一 款合适的单片机是十分重要的 考虑到电路板空间和成本 应使外围部件尽可能少 51 系 列最多 512 字节的 RAM 和 32K 字节的 EPROM 有时 只要使用系统内置的 RAM 和 EPROM 就 可以了 应充分利用这些部件 不再需要外接 EPROM 和 RAM 这样就省下了 I/0 口 可用 来和其它器件相连 当不需要扩展 I/0 口并且程序代码较短时 使用 28 脚的 51 单片机可 节省不少空间 但很多应用需要更多的 RAM 和 EPROM 空间 这时就要用外围器件 SRAM EPROM 等 许多外围器件能被 51 系列的内部功能和相应的软件代替 这将在以后讨论 经常要考虑系统的功耗问题 如果处理器有很多工作要做 而不能进入低功耗和空闲 模式 应选择 3.6V 的工作电压以降低功耗 如果有足够的空闲时间的话 可以考虑关闭晶 振 降低功耗 设计者必须仔细选择晶振频率 确保标准的通讯波特率 1200 4800 9600 19.2K 等 你不妨先列出可供选择的晶振所能产生的波特率 然后根据需要的波特率和系统要求 选择晶振 有时也不必过分考虑晶振问题 因为可以定制晶振 当晶振频率超过 20M 时 必须确保总线上的其它器件能够在这种频率下工作 一般 EPROM SRAM 高速 CMOS 版的 锁存器都支持 51 的工作频率 当工作频率增加时 功耗也会增加 这点在使用电池作为电 源的系统中应充分考虑 11 实现 当选择好单片机和外围器件后 下一步就是设计和分配系统 I/O 地址 代码段在从地 址零开始的连续空间内 外部数据存储空间地址一般和 RAM 和器件地址相连 RAM 一般在 从地址 0000H 或 8000H 开始的连续空间内 一种比较有用的处理方法是 SRAM 的地址也从 0000H 开始 用 A15 使能 RAM RAM 的 0E 和 WE 线分别和单片机的 RD 和 WR 线相连 这种方 法可使 RAM 区超过 32K 这足够嵌入式系统使用 此外 32K 的地址也可分配给 I/O 器件 大多数情况下 I/O 器件是比较少的 所以 地址线的高位可接解码器工作给外围器件提
广州周立功单片机发展有限公司Tel:(020)38730916387309173873097638730977Fax:38730925 供使能信号。一个为系统I/0分配地址的例子如A-2-8051总线I/0所示。可以看到,通 过减少地址解码器的数量简化了硬件设计。因为在I/0操作中不用装载DPTR的低8位,使 软件设计也得到简化 on0-FFFF 了4373 74973 6225 74138 图A-2-8051总线I/0 对输入输出锁存器的寻址如下例 列表A-6 MOV DPTR, #09000H 设置指针 MOVX A, ODPTR MOVX DPTR, A 可以看到,因为电路设计,连续的I/0操作将被简化,软件不需要考虑数据指针的低 字节。第一条指令也可用MVDH,#090H代替。 12结论 我希望上面所讲的关于8051的基本知识能给你一些启发。但这不能代替8051厂商提 供的数据书,因为每款芯片都有其自身的特点。下面,我们将开始讨论8051的软件设计 包括用C进行软件开发
广州周立功单片机发展有限公司 Tel 020 38730916 38730917 38730976 38730977 Fax:38730925 15 供使能信号 一个为系统 I/O 分配地址的例子如 A-2-8051 总线 I/O 所示 可以看到 通 过减少地址解码器的数量简化了硬件设计 因为在 I/O 操作中不用装载 DPTR 的低 8 位 使 软件设计也得到简化 图 A-2-8051 总线 I/O 对输入输出锁存器的寻址如下例 列表 A-6 MOV DPTR #09000H 设置指针 MOVX A @DPTR MOV DPH #080H MOVX @DPTR A 可以看到 因为电路设计 连续的 I/O 操作将被简化 软件不需要考虑数据指针的低 字节 第一条指令也可用 MOV DPH #090H 代替 12 结论 我希望上面所讲的关于 8051 的基本知识能给你一些启发 但这不能代替 8051 厂商提 供的数据书 因为每款芯片都有其自身的特点 下面 我们将开始讨论 8051 的软件设计 包括用 C 进行软件开发