设某51单片机应用系统的晶振频率为12MHZ,现在要求使用定时器计数器T1在IO
设某51单片机应用系统的晶振频率为12MHZ,现在要求使用定时器计数器T1在IO脚p2.5上输出周期为4ms的方波信号计算T1TL1的初值内容,并编写实现p2.5方波的输...
设某51单片机应用系统的晶振频率为12MHZ,现在要求使用定时器计数器T1在IO脚p2.5上输出周期为4ms的方波信号计算T1TL1的初值内容,并编写实现p2.5方波的输出功能
展开
展开全部
机器周期 =12/Fosc = 12/(12MHz) =1μs,4ms方波的半周期=2ms,
计数值 =2ms/1μs =2000
用单片机定时器T1,工作方式1,16位计数寄存器,
计数初值 =2^16 -2000 =63536 =F830h
;; T1初始化程序:
MOV TMOD, #00010000b ;; T1 , 定时模式 , 方式1
MOV TH1, #0F8h ;; 装入初值高8位
MOV TL1, #30h ;; 装入初值低8位
SETB ET1 ;; 允许T1中断
SETB EA ;; MCU开中断
SETB TR1 ;; 启动T1
WAIT: SJMP WAIT ;; 等待T1中断
;; T1中断服务程序(每隔半周期,T1计时溢出中断一次):
CPL P2.5 ;; P2.5引脚输出电平反转(高变低或低变高)
MOV TH1, #0F8h ;; 重装初值高8位
MOV TL1, #30h ;; 重装初值低8位
RETI ;; 中断返回
计数值 =2ms/1μs =2000
用单片机定时器T1,工作方式1,16位计数寄存器,
计数初值 =2^16 -2000 =63536 =F830h
;; T1初始化程序:
MOV TMOD, #00010000b ;; T1 , 定时模式 , 方式1
MOV TH1, #0F8h ;; 装入初值高8位
MOV TL1, #30h ;; 装入初值低8位
SETB ET1 ;; 允许T1中断
SETB EA ;; MCU开中断
SETB TR1 ;; 启动T1
WAIT: SJMP WAIT ;; 等待T1中断
;; T1中断服务程序(每隔半周期,T1计时溢出中断一次):
CPL P2.5 ;; P2.5引脚输出电平反转(高变低或低变高)
MOV TH1, #0F8h ;; 重装初值高8位
MOV TL1, #30h ;; 重装初值低8位
RETI ;; 中断返回
迪凯特科技(北京)有限公司_
2025-01-03 广告
2025-01-03 广告
单片机串口通信的原理是利用单片机的串口通信模块,通过把数据转化为一位一位的用时序方式传送数据,实现单片机与外部设备之间的数据通信。
串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以...
点击进入详情页
本回答由迪凯特科技(北京)有限公司_提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询