新建 文本文档 (2).txt
来自「凌阳单片机脉冲控制DC 利用单片机的定时器和寄存器进行占空比设置」· 文本 代码 · 共 62 行
TXT
62 行
.INCLUDE Spmc75f2413a.inc
.CODE
.PUBLIC _main
_main:
R1=0x7800;
[P_IOA_SPE]=R1
R1=0x0000
[P_IOB_SPE]=R1 //停止计数器功能
[P_IOC_SPE]=R1
R4=0x0000
[P_WatchDog_Ctrl]=R4
////////////////////////////
R1=0x1F00 //IOA端口初始化,将IOA0设置为悬浮输入.IOA0为夹紧电机模拟输入引脚
[P_IOA_Dir]=R1
R1=0x1F01
[P_IOA_Attrib]=R1
R1=0x6010
[P_IOA_Data]=R1
////////////////////////////
R1=0xFF00 //IOD口初始化,IOD10基极,IOD9=IN2,IOD8=IN1
[P_IOD_Dir]=R1
R1=0xFF00
[P_IOD_Attrib]=R1
R1=0x0000
[P_IOD_Data]=R1
////////////////////////////IRQ ON
R1=0x0400 //定时器时钟选fck/16
[P_CMT_Ctrl]=R1
R1=0x0096 //初始化定时器
[P_CMT1_TPR]=R1
R1=0x0002 //开定时器
[P_CMT_Start]=R1
/////////////////////////////
R4=0x000A
START:
R1=0x8400 //清标志
[P_CMT_Ctrl]=R1
R1=[P_IOD_Buffer]
R1=R1&0xFEFF
R1=R1|0x0200 //电机旋转,IN2=1,IN1=0
[P_IOD_Data]=R1
WAIT10:
R3=[P_CMT_Ctrl]
Test R3,0x8000 //测试TPR周期是否匹配
JZ WAIT10
//////////////////////////////
R1=[P_IOD_Buffer]
R1=R1&0xFCFF
[P_IOD_Data]=R1
//////////////////////////////
//////////////////////////////
R4=R4-1
JNZ START
R1=0x0000
[P_CMT_Start]=R1
/////////////////////////////
//////////////////////////////
//IRQ OFF
.END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?