📄 main.c
字号:
#include <hidef.h> /* common defines and macros */
#include <mc9s12dg128.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dg128b"
void main(void)
{
// PWM使能
PWME = 0xff;
// 极性:高电平
PWMPOL = 0xff;
PWMPER1 = 0xff;
PWMDTY1 = 0x80;
PWMCNT1 = 0x00;
PWMPER2 = 0xff;
PWMDTY2 = 0x80;
PWMCNT2 = 0x00;
PWMPER3 = 0xff;
PWMDTY3 = 0x80;
PWMCNT3 = 0x00;
PWMPER4 = 0xff;
PWMDTY4 = 0x80;
PWMCNT4 = 0x00;
// AD
/*
* AD关断
* 读取时自动清除,转换完成中断使能
*
*/
ATD0CTL2 = 0x62;
/*
* FIFO
* 每次转换8个通道
*
*/
ATD0CTL3 = 0x04;
/*
* 10位
* 总线时钟的12分频
*
*/
ATD0CTL4 = 0x05;
/*
* 右对齐
* 多通道,起始通道是通道0
*
*/
ATD0CTL5 = 0xb0;
/*
* 打开AD
*/
ATD0CTL2_ADPU = 0x01;
/* put your own code here */
EnableInterrupts;
for(;;) {} /* wait forever */
/* please make sure that you never leave this function */
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void ADT0_ISR(void)
{
ATD0CTL2_ASCIF = 0x01;
DDRB=0xff;
PORTB=0x00;
}
#pragma CODE_SEG __NEAR_SEG NON_BANKED
interrupt void ADT1_ISR(void)
{
ATD0CTL2_ASCIF = 0x01;
DDRB=0xff;
PORTB=0x00;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -