- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PCA软件定时器实现跑马灯
值得注意的是:与一般的51单片机定时器不同,PCA软件定时/计数方式有2种:
与一般定时器一样的功能,从给定初始值开始计数直到计数到十六进制数0FFFFH后产生定时器溢出以及溢出中断。
从给定初始值开始计数直到计数到一个给定的比较门限值后产生定时器溢出以及溢出中断。
这里我们采用第二种软件定时器延时方法。
思路:设置PCA定时器的脉冲时钟频率,清计数器并设置比较门限值,使定时时间为50ms;然后设置定时器工作在16位计数器模式;设置使能中断,启动PCA
定时/计数器开始计数。当计数器值与比较门限值相等时,就转到PCA中断程序。中断时,先关闭中断,并清中断标志;然后清除计数器,并自加计数寄存
器,当为20时(20*50ms=1s)则判断第四个灯是否亮过。若亮过则转第一个灯亮,否则就亮相应的灯,然后再开中断并返回主程序。若计数寄存器不为20
PCA计数器计数频率为11.0592M/12分频=0.9216M,注意,11.0592M是单片机晶体振荡器的振荡频率。
计数周期=1/0.9216M=1.085μs
定时时间为50ms时所需计数次数为50ms/1.085μs=46083=B403H
流程图如下所示
程序如下:
;-----------------------------------------------------
;定义寄存器地址
CMOD EQU 0D9H
CCON EQU 0D8H
CH EQU 0F9H
CL EQU 0E9H
CCAPM0 EQU 0DAH
CCAP0H EQU 0FAH
CCAP0L EQU 0EAH
CR EQU CCON.6
CCF0 EQU CCON.0
;------------------------------------------------------
ORG 0000H
AJMP MAIN
ORG 0033H ;PCA中断入口
AJMP INTV
ORG 0050H
MAIN: MOV CMOD,#00H;设置PCA脉冲时钟为Fosc/12
MOV R0,#0EFH
MOV P1,R0
MOV R1,#00H
;--------------------------------------
;PCA计数器清零
MOV CH,#00H
MOV CL,#00H
;--------------------------------------
;设置PCA比较/捕获模块寄存器值
MOV CCAP0L,#3
MOV CCAP0H,#0B4H
;--------------------------------------
;设置PCA模式为比较:软件定时器
MOV CCAPM0,#49H
MOV IE,#0C0H ;使能中断
SETB CR ;PCA计数器开始计数
WAIT: AJMP WAIT ;等待中断
;--------------------------------------
;中断服务程序
INTV: MOV A,IE ;停止中断
ANL A,#0BFH
MOV IE,A
CLR CCF0 ;清中断标志
MOV CH,#00H ;清计数器
MOV CL,#00H
INC R1
CJNE R1,#14H,NEXT ;中断20次则执行下面程序,否则到NEXT开中断
MOV R1,#00H
MOV A,R0
RL A
MOV R0,A
CJNE R0,#0FEH,START ;判断第四个灯没亮过则点亮,否则转到第一个灯
MOV R0,#0EFH
START:MOV P1,R0
NEXT: MOV A,IE ;开中断
ORL A,#40H
MOV IE,A
RETI
END
/* case 3:{//保存高报警值
gas.ErrorValue=gas.TempDataValue;
gas.StopTime=0;gas.Menuflag=4;
SaveSystemData();
}break;
case 4:{//零点标定
1亿VIP精品文档
相关文档
最近下载
- 血栓抽吸导管.ppt
- intouch培训传送手册_server.pdf
- 家乡文化寻访活动实施方案.doc
- 金昌市四年级下学期英语期中测试卷.doc VIP
- 四年级英语下学期期中测试卷2.doc VIP
- 四年级英语下学期期中测试卷(含答案).docx VIP
- 135战法55种方法图解(宁俊明版).docx VIP
- Siemens 西门子工业 SINUMERIK 840D sl, CNC 第3 部分(ShopMill) SINUMERIK 840D sl, CNC 第3 部分(ShopMill) 使用手册.pdf
- 2015年防火门国家标准(GB129552015年).doc
- 2023-2024学年人教版四年级数学第一学期期中测试卷含答案.docx
文档评论(0)