找回密码
 立即注册
×

00:00:00

您有一张0.1元限时体验卡,马上领取获得VIP尊享特权。

中断没有反应,什么动作也没有.哪里错了呢?

2024-9-10 13:49 来自 xiaoxia9623 发布 @ 综合讨论

/****************************************************P1M1|=0X00P1M0|=0XC3P1.0 PCC1 PWM输出 (转强推挽,电阻接地)P3.7 PCC2中断(上升沿)  INT3(下降沿)(高阻态,仅输入)P1.1 自动清洗内壁(可附加润壁功能)(转强推挽,电阻接地)p3.3 p3.4 p3.5 p3.6四路AD转换接口(高阻态,仅输入)P1.6 开启封水碗(转强推挽,电阻接地)P1.7 关闭封水碗并补水(转强推挽,电阻接地)***************************************************/#include <stc8g.h>#include<intrins.h>sbit P1_0=P1^0;sbit P3_7=P3^7;sbit P1_1=P1^1;sbit P3_3=P3^3;sbit P3_4=P3^4;sbit P3_5=P3^5;sbit P3_6=P3^6;sbit P1_6=P1^6;sbit P1_7=P1^7;  unsigned int adcResults;      // 定义 ADC 结果存储数组 void ADC_Init()                            // ADC 初始化函数 {    ADC_CONTR = 0x80;  // 打开 ADC 电源   _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();/*等待电压稳定*/             ADCCFG=0X26;          /*转换结果右对齐,转换速度SYSclk/2/6*/ }  void ADC_Convert()  // 执行 ADC 转换并获取结果函数{                 unsignedchar channel;   for (channel=11;channel < 15;channel++)      {       ADC_CONTR &= 0x80;    // 清除通道选择位       ADC_CONTR |= channel;  // 选择通道       ADC_CONTR |= 0x40;    // 启动转换       while (~ (ADC_CONTR &= 0x20) ); // 等待转换完成       adcResults = (ADC_RES << 8) | ADC_RESL;  // 保存结果       ADC_CONTR &= ~0x20;  // 清除转换完成标志    }}  void Timer0_Init()         {          AUXR |= 0x80;                 //定时器时钟1T模式          TMOD = 0x01; // 设置定时器 0 为模式 1[/

免责声明:

本平台旨在开源共享精神,请勿发布敏感信息,任何违法信息我们将移交公安机关;

热门标签 更多

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-14 19:29 , Processed in 0.061447 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

返回顶部