当前位置:首页 > 单片机 > 单片机
[导读]*.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















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

本设计的控制系统主要包括:倾斜模块、超声波模块、语音模块、光敏电阻模块及电源等。

关键字: 单片机 STC51

本文针对电动两轮车自燃防控装置的开发与分析进行了研究。通过电动两轮车自燃原因分析,提出了电动两轮车的自燃防控智能装置设计思路,介绍了电动两轮车的自燃防控智能

关键字: STC89C52RC 单片机 微控制器

现在市面上还不存在一种方便实验人员选取芯片,以及方便管理人员对芯片进行智能化管理的芯片柜,为此希望通过研发这款智能芯片柜,来解决以上问题。​

关键字: 单片机 芯片

这款全新的中端MCU系列为设计人员提供了更高水平的安全性和灵活性

关键字: 嵌入式 单片机

单片机是一种嵌入式系统,它是一块集成电路芯片,内部包含了处理器、存储器和输入输出接口等功能。

关键字: 单片机 编写程序 嵌入式

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器
关闭
关闭