基础元件初始化步骤
一、GPIO
(1)、确定GPIO的方向:DDRx
(2)、访问GPIO口:PORTx、PTx
注意:输入输出时引脚的初始状态
二、中断
(1)、确定中断的有效信号特性:上升/下降
(2)、使能中断
(3)、开总中断:EnableInterrups;
三、串口通信SCI(别的单片机为UART)
SCI串行通信的基本编程方法:
①初始化:设置波特率寄存器、设置控制寄存器1和设置控制寄存器2;
②发送数据:先判断TDRE位是否可以发送数据,可以时再发送(while(!SCI0SR1_TDRE);)
③接收数据:先判断RDRF位是否可以接收数据,可以时再接收(while(!SCI0SR1_RDRF);)
查询方法接收/发送:
中断方法接收: 中断向量序号20/21
四、ATD
ATD初始化步骤(顺序不分先后):
(1)、ATDCTL1的设置:配置转换位数(精度)
(2)、ATDCTL2的设置:AFFC是否启用快速清除,ASCIE是否开启转换序列中断
(3)、ATDCTL3的设置:对齐、序列长度(每一次对通道访问的次数),FIFO一般为0
(4)、ATDCTL4的设置:ATD采样时间和时钟设置
(5)、ATDCTL5的设置:SCAN扫描,MULT多通道,CD~CA哪个通道
注意:ATDCTL5为启动ATD的使能寄存器,一般不放在初始化子函数内
查询方法:
while(!ATD0STAT2_CCF0); //等待转换完成,CCFx置位
LED = ~ATD0DR0H; //读AD结果,送给PB口显示,清除CCF0位(AFFC = 1时)
中断方法中CPU自动查询CCF0,并响应中断服务函数
五、PWM
初始化步骤:(顺序不分先后)
(1)、PWMCTL:确定是否级联
(2)、PWMCLK:时钟选择
(3)、PWMPRCLK和PWMSCLA、B:时钟设置
(4)、PWMPERx:时钟周期
(5)、PWMDTx:占空比(结合周期和极性确定)
(6)、PWMPOL:极性选择
(7)、PWME:开启PWM
六、定时器和计数器
定时器:
(1)、TIOS:输入捕捉/输出比较
(2)、TCTL1、TCTL2:8对控制位,用来配置各OC通道输出比较成功时的输出动作
// TCTL3、TCTL4用来配置各个IC通道输入捕捉边沿检测器电路
(3)、TSCR1:启动,自动清除标志位 0x90
(4)、TSCR2:开关中断,是否自动重装初值,预分频
(5)、TCx:定时器输入捕捉/输出比较
计数器:PACTL: 使能PA,事件计数,中断,上升/下降沿 计数
PAFLG:_PAOVF 脉冲累加器溢出标志位,清除该标志,需要对PAOVF位写1
_PAIF 脉冲累加器输入边沿有效标志位。输入引脚IOC7检测到有效边沿时被置位。清除该标志,需要对PAIF位写1 。
PACNT:脉冲累加器计数寄存器。 读取该寄存器的值必须在一个时钟周期内完成,如果分别读取高、低字节,将会得到不同于按字读的结果。
上一篇:飞思卡尔16位单片机(一)——飞思卡尔单片机简介
下一篇:飞思卡尔单片机DZ60---TPM1输出比较
推荐阅读最新更新时间:2024-11-01 16:44