VECENT_LIN 发表于 2023-6-21 11:11:15

void ADC_Config()
{
        P1M1 = 0x08;P1M0 = 0x00;                // P1.3设置为高阻输入模式

        ADCTIM = 0x3F;                                                        // ADC时序设置:通道选择时间:1个时钟,通道保持时间:4个时钟,采样时间:32个时钟
        ADCCFG = 0x2F;                                                        // ADC频率设置:系统时钟/2/16,数据右对齐
        ADC_CONTR = 0xC3;

}
梁工,你好!这样设置P1.3口ADC转换启动应该没问题吧?

梁工 发表于 2023-6-21 12:19:45

VECENT_LIN 发表于 2023-6-21 11:11
void ADC_Config()
{
        P1M1 = 0x08;P1M0 = 0x00;                // P1.3设置为高阻输入模式


请参考我的例程:

#define ADC_START        (1<<6)        /* 自动清0 */
#define ADC_FLAG        (1<<5)        /* 软件清0 */

#define        ADC_SPEED        1                /* 0~15, ADC时钟 = SYSclk/2/(n+1) */
#define        RES_FMT                (1<<5)        /* ADC结果格式 0: 左对齐, ADC_RES: D9 D8 D7 D6 D5 D4 D3 D2, ADC_RESL: D1 D0 000000 */
                                                        /*             1: 右对齐, ADC_RES: 000000D9 D8, ADC_RESL: D7 D6 D5 D4 D3 D2 D1 D0 */

#define CSSETUP                (0<<7)        /* 0~1,ADC通道选择时间      0: 1个ADC时钟, 1: 2个ADC时钟,默认0(默认1个ADC时钟)        */
#define CSHOLD                (1<<5)        /* 0~3,ADC通道选择保持时间(n+1)个ADC时钟, 默认1(默认2个ADC时钟)                                        */
#define SMPDUTY                20                /* 10~31, ADC模拟信号采样时间(n+1)个ADC时钟, 默认10(默认11个ADC时钟)                                */
                                                        /* ADC转换时间: 10位ADC固定为10个ADC时钟, 12位ADC固定为12个ADC时钟.                                 */

        P_SW2 |=0x80;        //访问XSFR
        P1n_pure_input(0x40);        //设置要做ADC的IO做高阻输入
        ADC_CONTR = 0x80 + 6;        //ADC on + channel
        ADCCFG = RES_FMT + ADC_SPEED;
        ADCTIM = CSSETUP + CSHOLD + SMPDUTY;

VECENT_LIN 发表于 2023-6-21 13:57:44

梁工 发表于 2023-6-21 12:19
请参考我的例程:

#define ADC_START        (1

音频输入可以直接接P1.3口或P1.6口吗?

梁工 发表于 2023-6-21 14:02:58

VECENT_LIN 发表于 2023-6-21 13:57
音频输入可以直接接P1.3口或P1.6口吗?

任意一个ADC输入口都可以采集音频信号。

VECENT_LIN 发表于 2023-6-23 10:08:10

梁工 发表于 2023-6-21 14:02
任意一个ADC输入口都可以采集音频信号。

已经调试好了,谢谢!

神农鼎 发表于 2023-6-23 10:19:07

开心,一起前进

405616736 发表于 2023-7-18 09:20:21

读取交流电adc的均方根就是交流电的有效值吗?

梁工 发表于 2023-7-18 11:35:51

本帖最后由 梁工 于 2023-7-18 17:08 编辑

405616736 发表于 2023-7-18 09:20
读取交流电adc的均方根就是交流电的有效值吗?
是的,详情可以翻翻《电工学》中相关章节,有效值就是一个积分,程序用离散方式实现,就是采样计算均方根值。

faddei 发表于 2023-7-18 16:08:17

学习学习学习学习学习

kongming 发表于 2023-7-19 16:11:36

学习了
页: 1 [2] 3 4 5 6 7 8
查看完整版本: 交流电压/直流电压ADC测量, 计算有效值 ,送【AIapp-ISP | 调试接口】显示