欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 一個關于單片機ADC的小程序,P2八位只有低兩位有變化 請大神幫忙看一下 [打印本頁]

作者: zcwjzwd    時間: 2019-6-8 00:24
標題: 一個關于單片機ADC的小程序,P2八位只有低兩位有變化 請大神幫忙看一下
動手做了一個ADC的小試驗,程序好像有點問題,P2八位只有低兩位有變化,還有就是輸出不應該是5V或0V嗎?為什么我量P2的管腳會有1V到4V的變化。
模擬量輸入P1.1,0到5V可變。
#include <STC12C5A60S2.H>
#include <intrins.h>
typedef unsigned char         uchar;
typedef unsigned int          uint;
sbit LED=P0^4;




void main ()
{
  uint i;
  P0=0XFF;
  LED=0;
  P1ASF=0Xff;
  ADC_CONTR=0X81;
  for(i=0;i<20000;i++);
  CLK_DIV=0X00;
  ADC_CONTR=0X89;
  EADC=1;
  EA=1;

  while(1);

}
void adc_zd() interrupt 5
{
   ADC_CONTR=0X81;

   P3=~((ADC_RES&0x03)<<6);

   P2=~ADC_RESL;
   ADC_CONTR=0X89;


}


作者: angmall    時間: 2019-6-9 12:45
你的程序有缺陷,給你改了一下,你試試。



  1. #include <STC12C5A60S2.H>
  2. #include <intrins.h>

  3. typedef unsigned char  uchar;
  4. typedef unsigned int   uint;

  5. sbit LED=P0^4;

  6. void main ()
  7. {
  8.         uint i;
  9.         P1M1 = 0xFF; P1M0 = 0x00; //設置P1端口全部為高阻
  10.         P0=0XFF;
  11.         LED=0;
  12.         P1ASF=0Xff;  //所有通道設為模擬輸入
  13.         ADC_RES = 0;   //AD數據寄存器高8位清空
  14.         ADC_RESL= 0;   //AD數據寄存器低2位清空
  15.         ADC_CONTR=0X81; //打開電源, 設置頻道
  16.         for(i=0;i<20000;i++);  //延時
  17.         CLK_DIV=0X00; //用來配置CPU主頻,默認值為0x00,不分頻  //這句沒有設置作用
  18.         ADC_CONTR=0X89;  //打開電源, 設置頻道P1.1 //啟動ad轉換,置1為起動,轉換結束后自動置0
  19.         AUXR1|=0x04; //AUXR1/ ADRJ=1 時 ADC_RESL是低位,高2位在ADC_RES上,
  20.         EADC=1;  //開ADC中斷。
  21.         EA=1;    //開總中斷。

  22.         while(1);

  23. }
  24. void adc_zd() interrupt 5
  25. {
  26.         ADC_CONTR=0X81;

  27.         P3=~((ADC_RES&0x03)<<6);

  28.         P2=~ADC_RESL;
  29.         ADC_CONTR=0X89;

  30. }
復制代碼

作者: zcwjzwd    時間: 2019-6-9 23:12
謝謝你的幫助,又學了東西了,真心的感謝你。就還有一個地方不太明白妄不吝賜教
就是AUXR1|=0x04這個語句在此程序沖起什么作用?
作者: yzwzfyz    時間: 2019-6-10 08:49
要學會看手冊,手冊都有,不稀奇。
作者: angmall    時間: 2019-6-10 18:12
zcwjzwd 發表于 2019-6-9 23:12
謝謝你的幫助,又學了東西了,真心的感謝你。就還有一個地方不太明白妄不吝賜教
就是AUXR1|=0x04這個語句 ...

最重要的就是學會看數據手冊,AUXR1|=0x04這個語句也已注釋 解釋很清楚




作者: zcwjzwd    時間: 2019-6-11 20:32
謝謝你的賜教,初學者還有很長很曲折的路要走,你們就是我們黑夜里的一盞明燈。





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1