1、凌阳单片机快速编程凌阳单片机快速编程(目录)一、IO口设置二、AD设置三、CMT定时器设置四、MCP定时器设置五、PDC定时器设置六、中断系统的操作七、SPI的设置八、UART的设置九、内部Flash自编程操作十、Buzzer频率输出操作十一、看门狗的设置十二、低功耗模式十三、程序设计技巧IO口设置1. 将IOA口设置为上拉输入汇编代码:/将IOA口设置为上拉输入r1 = 0x0000P_IOA_Dir = r1 /设置P_IOA_Dir寄存器,将IOA口设置为输入P_IOA_Attrib = r1 /设置P_IOA_Attrib寄存器,将IOA口设置为非悬浮r1 = 0xFFFFP_IOA_
2、Buffer = r1 /设置P_IOA_ Buffer寄存器,将IOA口设置为上拉 C语言代码:/将IOA口设置为上拉输入P_IOA_Dir-W = 0x0000; /设置P_IOA_Dir寄存器,将IOA口设置为输入P_IOA_Attrib-W = 0x0000; /设置P_IOA_Attrib寄存器,将IOA口设置为非悬浮P_IOA_Buffer-W = 0xFFFF; /设置P_IOA_ Buffer寄存器,将IOA口设置为上拉2. 将IOA口设置为下拉输入汇编代码:/将IOA口设置为下拉输入r1 = 0x0000P_IOA_Dir = r1 /设置P_IOA_Dir 寄存器,将IOA
3、口设置为输入P_IOA_Attrib = r1 /设置P_IOA_Attrib 寄存器,将IOA口设置为非悬浮P_IOA_Buffer = r1 /设置P_IOA_ Buffer寄存器,将IOA口设置为下拉 C语言代码:/将IOA口设置为下拉输入P_IOA_Dir-W = 0x0000; /设置P_IOA_Dir 寄存器,将IOA口设置为输入P_IOA_Attrib-W = 0x0000; /设置P_IOA_Attrib 寄存器,将IOA口设置为非悬浮P_IOA_Buffer-W = 0x0000; /设置P_IOA_ Buffer寄存器,将IOA口设置为下拉 3. 将IOA口设置为悬浮输入汇
4、编代码:/将IOA口设置为悬浮输入r1 = 0x0000P_IOA_Dir = r1 /设置P_IOA_Dir 寄存器,将IOA口设置为输入r1 = 0xFFFFP_IOA_Attrib = r1 /设置P_IOA_Attrib 寄存器,将IOA口设置为悬浮 C语言代码:/将IOA口设置为悬浮P_IOA_Dir-W = 0x0000; /设置P_IOA_Dir 寄存器,将IOA口设置为输入P_IOA_Attrib-W = 0xFFFF; /设置P_IOA_Attrib 寄存器,将IOA口设置为悬4. 将IOA口设置为输出,初始化为高电平汇编代码: (1)反向输出/将IOA口设置为反向输出,输出
5、高电平r1 = 0xFFFFP_IOA_Dir = r1 /设置P_IOA_Dir寄存器,将IOA口设置为输出r1 = 0x0000P_IOA_Attrib = r1 /设置P_IOA_Attrib寄存器,将IOA口设置为反向输出P_IOA_Buffer = r1 /设置P_IOA_Buffer寄存器,IOA口输出高电平 (2)非反向输出/将IOA口设置为非反向输出,输出高电平r1 = 0xFFFFP_IOA_Dir = r1 /设置P_IOA_Dir寄存器,将IOA口设置为输出P_IOA_Attrib = r1 /设置P_IOA_Attrib寄存器,将IOA口设置为非反向输出P_IOA_Bu
6、ffer = r1 /设置P_IOA_Buffer寄存器,IOA口输出高电平C语言代码:(1)反向输出/将IOA口设置为反向输出,输出高电平P_IOA_Dir-W = 0xFFFF; /将IOA口设置为输出P_IOA_Attrib-W = 0x0000; /将IOA口设置为反向输出P_IOA_Buffer-W = 0x0000; /IOA口输出高电平(2)非反向输出/将IOA口设置为非反向输出,输出高电平P_IOA_Dir-W = 0xFFFF; /将IOA口设置为输出P_IOA_Attrib-W = 0xFFFF; /将IOA口设置为非反向输出P_IOA_Buffer-W = 0xFFFF;
7、 /IOA口输出高电平5. 将IOA口设置为输出,初始化为低电平汇编代码: (1)反向输出/将IOA口设置为反向输出,输出低电平r1 = 0xFFFF P_IOA_Dir = r1 /设置P_IOA_Dir寄存器,将IOA口设置为输出r1 = 0x0000P_IOA_Attrib = r1 /设置P_IOA_Attrib寄存器,将IOA口设置为反向输出r1 = 0xFFFFP_IOA_Buffer = r1 /设置P_IOA_Buffer寄存器,IOA口输出低电平 (2)非反向输出/将IOA口设置为非反向输出,输出低电平r1 = 0xFFFFP_IOA_Dir = r1 /设置P_IOA_Di
8、r寄存器,将IOA口设置为输出P_IOA_Attrib = r1 /设置P_IOA_Attrib寄存器,将IOA口设为非反向输出r1 = 0x0000 P_IOA_Buffer = r1 /设置P_IOA_Buffer寄存器,IOA口输出低电平C语言代码:(1)反向输出/将IOA口设置为反向输出,输出低电平P_IOA_Dir-W = 0xFFFF; /将IOA口设置为输出P_IOA_Attrib-W = 0x0000; /将IOA口设置为反向输出P_IOA_Buffer-W = 0xFFFF; /IOA口输出低电平(2)非反向输出/将IOA口设置为非反向输出,输出低电平P_IOA_Dir-W
9、= 0xFFFF; /将IOA口设置为输出P_IOA_Attrib-W = 0xFFFF; /将IOA口设置为非反向输出P_IOA_Buffer-W = 0x0000; /IOA口输出低电平6. 将IOA口设置为特殊功能使能汇编代码:/使用IOA口各位的特殊功能/如果只使能其中几位的特殊功能,则只需P_IOA_SPE寄存器中的对应位置1r1 = P_IOA_SPE /取P_IOA_SPE的值r1 |= 0x7E00 /为了不影响其他位的设置P_IOA_SPE = r1 /设置P_IOA_SPE寄存器,使能IOA9-14的特殊功能 C语言代码:/使用IOA口各位的特殊功能/如果只使能其中几位的特
10、殊功能,则只需P_IOA_SPE寄存器中的对应位置1P_IOA_SPE-W |= 0x7E00; 7. 将IOA2设置为上拉输入,不改变其它端口(位操作)汇编代码:/将IOA2设置为上拉输入,不改变其它端口r1 = P_IOA_Dir /取P_IOA_Dir的值r1 &= 0xFFFB /为了不影响其他位的设置 P_IOA_Dir = r1 /设置P_IOA_Dir 寄存器,将IOA2设置为输入r1 = P_IOA_Attribr1 &= 0xFFFBP_IOA_Attrib = r1 /设置P_IOA_Attrib 寄存器,将IOA2设置为非悬浮r1 = P_IOA_Bufferr1 |=
11、0x0004P_IOA_Buffer = r1 /设置P_IOA_Buffer寄存器,将IOA2设置为上拉 C语言代码:/将IOA2设置为上拉输入,不改变其它端口P_IOA_Dir-W &= 0xFFFB; /将IOA2设置为输入,不影响其他位P_IOA_Attrib-W &= 0xFFFB; /将IOA2设置为非悬浮,不影响其他位P_IOA_Buffer-W |= 0x0004; /将IOA2设置为上拉,不影响其他位8. 将IOA2设置为下拉输入,不改变其它端口(位操作)汇编代码:/将IOA2设置为下拉输入,不改变其它端口r1 = P_IOA_Dir /将P_IOA_Dir地址送R1clrb
12、 r1,2 /将P_IOA_Dir第2位清0 r1 = P_IOA_Attrib /将P_IOA_Attrib地址送R1clrb r1,2 /将P_IOA_Attrib第2位清0r1 = P_IOA_Buffer /将P_IOA_Buffer地址送R1clrb r1,2 /将P_IOA_ Buffer第2位清0 C语言代码:/将IOA2设置为下拉输入,不改变其它端口P_IOA_Dir-B.bit2 = 0; /将IOA2设置为输入,不影响其他位P_IOA_Attrib-B.bit2 = 0; /将IOA2设置为非悬浮,不影响其他位P_IOA_Buffer-B.bit2 = 0; /将IOA2设
13、置为下拉,不影响其他位9. 将IOA2设置为悬浮输入,不改变其它端口(位操作)汇编代码:/将IOA2设置为悬浮,不改变其它端口r1 = P_IOA_Dir /将P_IOA_Dir地址送R1clrb r1,2 /将P_IOA_Dir第2位清0r1 = P_IOA_Attrib /将P_IOA_Attrib地址送R1setb r1,2 /将P_IOA_Attrib第2位置1 C语言代码:/将IOA2设置为悬浮,不改变其它端口P_IOA_Dir-B.bit2 = 0; /将IOA2设置为输入,不影响其他位P_IOA_Attrib-B.bit2 = 1; /将IOA2设置为悬浮,不影响其他位10. 将
14、IOA2设置为输出高电平,不改变其它端口(位操作)汇编代码:(1) 反向输出/将IOA2设置为输出高电平(反向输出),不改变其它端口r1 = P_IOA_Dir /将P_IOA_Dir地址送R1setb r1,2 /将P_IOA_Dir第2位置1r1 = P_IOA_Attrib /将P_IOA_Attrib地址送R1clrb r1,2 /将P_IOA_Attrib第2位清0r1 = P_IOA_Buffer /将P_IOA_Buffer地址送R1clrb r1,2 /将P_IOA_Buffer第2位置1 (2)非反向输出/将IOA2设置为输出高电平(非反向输出),不改变其它端口r1 = P_IOA_Dir /将P_IOA_Dir地址送R1setb r1,2 /将P_IOA_Dir第2位置1 r1 = P_IOA_Attrib /将P_IOA_Attrib地址送R1setb r1,2 /将P_IOA_Attrib第2位置1r1 = P_IOA_Buffer /将P_IOA_Buff
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1