当前位置:首页 > 单片机 > 单片机
[导读]*.I/O引脚和I/O端口P0(P0.7~P0.0)1.P0是一个漏极开路型准双向I/O口.2.在访问外存时, 它是数据总线和地址总线的低8位分时复用接口.3.在EPROM编程时, 它接收指令字节; 在验证程序时, 输出指令字节, 并要求外接上拉电阻

*.I/O引脚和I/O端口

P0(P0.7~P0.0)

1.P0是一个漏极开路型准双向I/O口.
2.在访问外存时, 它是数据总线和地址总线的低8位分时复用接口.
3.在EPROM编程时, 它接收指令字节; 在验证程序时, 输出指令字节, 并要求外接上拉电阻.

P1(P1.7~P1.0)1.P1口是带内部上拉电阻的8位双向I/O口, 它是通用I/O口.
2.在EPROM编程和程序验证时, 它接收低8位地址.P2(P2.7~P2.0)1.P2是带内部上拉电阻的8位双向I/O口.
2.在访问外存时, 它输出8位高地址.
3.在对EPROM编程时和程序验证时, 它接收8位高地址.P3(P3.7~P3.0)1.P3是带内部上拉电阻的8位双向I/O口, 它是双功能I/O口.
2.除基本输入/输出功能外, 每个引脚还有特殊功能.
I/O口特殊/专用功能P3.0RXD:串行数据接收P3.1TXD:串行数据发送P3.2/INT0:外部中断0输入请求P3.3/INT1:外部中断1请求输入P3.4T0:定时器0外部计数脉冲输入P3.5T1:定时器1外部计数脉冲输入P3.6/WR:外部数据存储器写信号P3.7/RD:外部数据存储器读信号






*.复位寄存器状态

寄存器内容寄存器内容PC0000HTMOD00HA00HTCON00HB00HTH000HPSW00HTL000HSP07HTH100HDPTR0000HTL100HP0~P30FFHSCON00HIPXXX00000BSBUFXXIE0XX00000BPCON00H













*.特殊功能寄存器

特殊功能寄存器功能名称地址复位状态B通用寄存器F0H00HA累加器E0H00HPSW程序状态字D0H00HIP中断优先级控制B8HXXX0000BP3P3端口B0H0FFHIE中断使能控制A8H0XX00000BP2P2端口A0H0FFHSBUF串行发送/接收缓冲器99HXXHSCON串行口控制98H00HP1P1端口90H0FFHTH1T1定时器高8位8DH00HTH0T0定时器高8位8CH00HTL1T1定时器低8位8BH00HTL0T0定时器低8位8AH00HTMOD定时器/计数器方式控制89H00HTCON定时器控制88H00HPCON电源控制87H00HDPH地址寄存器高8位83H00HDPL地址寄存器低8位82H00HSP堆栈指针81H07HP0P0端口80H0FFH

































*.可位寻址的特殊功能寄存器

寄存器名D7D6D5D4D3D2D1D0电源控制寄存器 PCONSMOD


GF1GF0PDIDL波特率倍乘位


用户标志用户标志掉电方式位待机方式位定时器方式控制寄存器 TMODGATEC/-TM1M0GATEC/-TM1M0T1门控位T1定时器/计数器选择T1工作方式选择T0门控位T0定时器/计数器选择T0工作方式选择程序状态字 PSWCYACF0RS1RS0OV
P进位标志辅助进位标志用户标志工作寄存器组选择标志溢出标志
奇偶标志中断优先级控制器 IP


PSPT1PX1PT0PX0


串口优先级设置T1优先级设置/INT1优先级设置T0优先级设置/INT0优先级设置中断使能寄存器 IEEA

ESET1ETXET0EX0CPU总中断使能

串口中断使能T1中断使能/INT1中断使能T0中断使能/INT0中断使能串口控制寄存器 SCONSM0SM1SM2RENTB8RB8TIRI串口工作方式选择位允许接收发送数据第9位接收数据第9位发送完成中断标志接收数据中断标志定时器控制寄存器 TCONTF1TR1TF0TR0IE1IT1IE0IT0T1溢出标志T1运行控制位T0溢出位T0运行控制位/INT1中断标志/INT1触发方式/INT0中断标志/INT0触发方式














*.中断系统

中断源入口地址长度中断允许中断标志中断优先级位触发方式中断标志清零方式同级内部优先级/INT00003H8EX0(IE.0)IE0(TCON.1)PX0(IP.0)IT0(TCON.0)
0:电平触发
1:下降沿触发
电平触发时需软件清零最高T0000BH8ET0(IE.1)TF0(TCON.5)PT0(IP.1)
无需软件清零
/INT10013H8EX1(IE.2)IE1(TCON.3)PX1(IP.2)IT1(TCON.2)电平触发时需软件清零
T1001BH8ET1(IE.3)TF1(TCON.7)PT1(IP.3)
无需软件清零
串口0023H8ES(IE.4)

RI(SCON.0)
TI(SCON.1)

PS(IP.4)
需软件清零最低





















*.定时器/计数器工作方式

M1M0工作方式功能00方式013位计数器01方式116位计数器10方式2可自动重新装入的8位计数器11方式3T0分为两个独立的8位计数器,T1停止









*.串口工作方式

SM0SM1方式说明000位移寄存器方式(用于I/O扩展)0118位UART,波特率可变(T1溢出率/n)1029位UART,波特率为fosc/64或fosc/321139位UART,波特率可变(TI溢出率/n)








  注:表中n为32/2SMOD,SMOD为PCON的第7位波特率倍乘位

*.定时器/计数器初值的计算
环境:
  晶振:12.0000MHz
  定时器:T0
  溢出条件:(TH0<<8|TL0)由0FFFFH变为0000H(0FFFFH+1 产生的进位置位TF0产生中断)

假设延时时间为50ms,则:
  频率:ft= 12.0000MHz
  时钟周期:Tt= 1/ft(SI)
  机器周期:Tm= 12*Tt= 12*1/(12*10^6),(SI) = 12*1/12 (us) = 1 (us)(前面的12是因为51是12分频,即12个时钟周期为1个机器周期)
  所以:
    50ms == 50000us == 50000个机器周期
    由 0FFFFH 到 10000H 为 1个机器周期,则:
  初值:start = 0FFFFH + 1H - 50000D = 65536D - 50000D = 15536D = 3CB0H
    于是:TH0 = 0x3C,TL0 = 0xB0

  若晶振频率为:ft= 11.0592MHz
  同样:机器周期Tm= 12*Tt= 12*1/(11.0592*10^6),(SI) = 12/11.0592 (us) = 1.085069(us)
  所以:
    50ms == 50000us = 50000/1.085069 = 46080D 个机器周期
    初值:start = 0FFFFH + 1H - 46080D = 65536D - 46080D = 19456D = 4C00H
    于是:TH0 = 0x4C, TL0 = 0x00

*.串口通信中定时器工作方式下波特率初值计算以及晶振的选择
  当串口工作方式为1(8位UART),T1为定时器时:
    k=13:定时器工作方式0; k=16, 工作方式1, k=8, 工作方式2, ...
    T1溢出率 = Fosc/(12*(2k-初值)),即每秒溢出次数,Fosc:晶振频率,*12:转换为时钟周期
    所以 波特率 = T1溢出率/(32/2SMOD) = 2SMOD*/32*T1溢出率 = 2SMOD* Fosc/(32*12*(2k-初值))
    常用波特率:9600bps,192000bps,4800bps, ...
    所以当波特率=9600bps, SMOD=0, k=8时:
      波特率 = 2SMOD* Fosc/(32*12*(2k-初值)) = Fosc/(384*(256-初值)) = 9600
      当晶振为11.0592Mhz时:9600=11.0592*106/(384(256-初值)),求得:初值=253D = 0FDH,此时恰为整数(即TH1=TL1 = 0xFD)
      当晶振为12.0000MHz时:初值为252.744791, 不为整数
这就是为什么在进行串行通信时要选择11.0592MHz晶振, 不选择12MHz晶振的原因.


*.由定时器1产生的常用波特率

波特率 bps晶振频率 Fosc波特率倍乘
SMOD定时器1C/-T模式重装载值62500121020FFH1920011.05921020FDH960011.05920020FDH480011.05920020FAH240011.05920020F4H120011.05920020E8H13750011.05920021DH110600272H110120010FEEBH















本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭