1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

標(biāo)題: stc12c5a60s2詳細(xì)例程 [打印本頁(yè)]

作者: 1527895421    時(shí)間: 2015-5-11 01:24
標(biāo)題: stc12c5a60s2詳細(xì)例程
其中有20多個(gè)例程!

STC12C5A60S2詳細(xì)例程.rar

728.55 KB, 下載次數(shù): 1461, 下載積分: 黑幣 -5


作者: 初學(xué)者001    時(shí)間: 2015-5-26 20:13
不錯(cuò),留著用得上
作者: xtitxjg    時(shí)間: 2015-5-27 12:31
不錯(cuò)
作者: CAOMINGYU    時(shí)間: 2015-7-27 13:44
其實(shí)我想問(wèn)的是這款單片機(jī)的AD方面的知識(shí)。不知道誰(shuí)有個(gè)好貼鏈接
作者: 騰飛的龍    時(shí)間: 2015-7-28 20:07
CAOMINGYU 發(fā)表于 2015-7-27 13:44
其實(shí)我想問(wèn)的是這款單片機(jī)的AD方面的知識(shí)。不知道誰(shuí)有個(gè)好貼鏈接

STC12C5A60S2片內(nèi)AD程序
  1. /*(1)      
  2. P1_ADC_EN:特殊功能寄存器  
  3. P1.x作為A/D轉(zhuǎn)換輸入通道來(lái)用允許特殊功能寄存器。
  4. 相應(yīng)位為“1”時(shí),對(duì)應(yīng)的P1.x口作為A/D轉(zhuǎn)換使用
  5. ,內(nèi)部上拉電阻自動(dòng)斷開(kāi)。
  6. (2)ADC_CONTR:特殊功能寄存器            
  7. CHS2/CHS1/CHS0是模擬輸入通道選擇,

  8. CHS2/CHS1/CHS0的取值如下表所示

  9. CHS2  CHS1  CHS0  模擬輸入通道選擇
  10. 0                 0         0 選擇P1.0為A/D輸入
  11. 0                 0         1 選擇P1.1為A/D輸入
  12. 0                 1         0  選擇P1.2為A/D輸入
  13. 0                 1         1 選擇P1.3為A/D輸入
  14. 1                 0         0 選擇P1.4為A/D輸入
  15. 1                 0         1 選擇P1.5為A/D輸入
  16. 1                 1         0 選擇P1.6為A/D輸入
  17. 1                  1          1  選擇P1.7為A/D輸入

  18. ADC_START是模擬/數(shù)字轉(zhuǎn)換(ADC)啟動(dòng)控制位,設(shè)置為1時(shí),開(kāi)始轉(zhuǎn)換。      
  19. ADC_FLAG是模擬/數(shù)字轉(zhuǎn)換結(jié)束標(biāo)志位,當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG=1。
  20. (3)ADC_DATA:A/D轉(zhuǎn)換結(jié)果特殊功能寄存器

  21. 模擬/數(shù)字轉(zhuǎn)換結(jié)果計(jì)算公式為 結(jié)果=256×Vin/Vcc

  22. Vin是模擬輸入通道輸入電壓,Vcc為單片機(jī)實(shí)際工作電壓,
  23. 用單片機(jī)工作電壓作為模擬參考電壓 */


  24. //2、STC12C5A60S2內(nèi)ADC采樣電壓值,
  25. //先采樣30次然后去掉上下10個(gè)再取平均值
  26. //STC12C5A60S2內(nèi)ADC采樣
  27. #include <reg51.h>  
  28. #include<math.h>
  29. #define uchar unsigned char
  30. #define uint unsigned int
  31. #define segp P0 //數(shù)據(jù)端口
  32. #define scanp P2  //位端口
  33. sbit wei=P0^6;
  34. sbit duan=P0^7;
  35. sbit fmq =P1^7;
  36. uchar code tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82, 0xf8,0x80,               
  37.                                 0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};     //不帶點(diǎn)共陽(yáng)段驅(qū)動(dòng)信號(hào)

  38. uchar code tab_d[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //帶點(diǎn)共陽(yáng)段驅(qū)動(dòng)

  39. uchar code scan[]={0xfe,0xfd,0xfb,0xf7};

  40.               //位掃描驅(qū)動(dòng)信號(hào)
  41. uint display[4]={0,0,0,0}; //初始顯示數(shù)字
  42. uint con=0, _data=0,data2=0; //con顯示循環(huán)變量_data為ADC采樣值臨時(shí)變量data2顯示數(shù)據(jù)臨時(shí)變量
  43. //下面五行為ADC定義

  44. sfr P1ASF=0x9d;           
  45. sfr ADC_CONTR=0xbc;
  46. sfr ADC_RES=0xbd;
  47. sfr ADC_RESL=0xbe;
  48. sfr AUXR1=0xa2;

  49. /*sfr P1_ADC_EN=0x97;
  50. sfr ADC_CONTR=0xc5;
  51. sfr ADC_DATA=0xc6;*/

  52. void t0_t1_init();//t0顯示掃描定時(shí)器和t1串口比特率定時(shí)器初始化函數(shù)
  53. void adc_init();  //adc初始化函數(shù)
  54. void uart_out(uchar byte);  //串口發(fā)送字節(jié)函數(shù)
  55. uint average(uint buffer[30]); //采樣數(shù)據(jù)處理函數(shù)
  56. void AD();                //電壓采樣30次函數(shù)
  57. void delay1ms(uchar x);     //延時(shí)函數(shù)
  58. void beep()
  59. {
  60.         fmq=0;
  61.         delay1ms(100);
  62.         fmq=1;
  63.         delay1ms(100);
  64. }
  65. void main()
  66. {     
  67.         t0_t1_init();  
  68.         adc_init();  
  69.         while(1)  
  70.         {     
  71.                 AD();
  72.                 if(data2>4700|data2<4000)
  73.                 beep();        //報(bào)警         
  74.         }
  75. }
  76. /////////定時(shí)器初始化///////  
  77. void t0_t1_init()                        
  78. {
  79.         SCON=0x50;  
  80.         PCON=0;  
  81.         TMOD=0x21;  
  82.         TH1=TL1=0xe6;  
  83.         TH0=0xf0;  
  84.         TL0=0x60;  
  85.         EA=ET0=1;
  86.         // ES=1;  
  87.         TR1=1;  
  88.         TR0=1;
  89. }
  90. ////ADC初始化///////  
  91. void adc_init()                     
  92. {
  93.         P1ASF=0x01;//啟動(dòng)P10為ADC模擬輸入口把內(nèi)部上拉電阻斷開(kāi)
  94.         P1ASF=0x02; //啟動(dòng)P11為ADC模擬輸入口把內(nèi)部上拉電阻斷開(kāi)  
  95.         AUXR1&=0xfb; //adrj_0 高8位在ADC_RES     
  96.         ADC_RES=0;    //初值
  97.         //開(kāi)啟ADC電源 并設(shè)置轉(zhuǎn)換周期為540個(gè)時(shí)鐘周期轉(zhuǎn)換一次。
  98.         //SPEED_1_1,chs000(選擇AD采樣通道p10)
  99.         //ADC_POWER=1; CHS2,1,0為0,用p1.0作為輸入。SPEED1,0  
  100.         ADC_CONTR=0x80;//用p1.0作為輸入
  101.         ADC_CONTR=0x81;//用p1.1作為輸入

  102.         delay1ms(2);
  103.         // IE|=0xa0;  
  104. }
  105. //////采集30次電壓值//////  
  106. void AD()                                
  107. {
  108.         char i;  uint temp_buf[30]={0};  
  109.         for(i=0;i<30;i++)  
  110.         {
  111.                 ADC_CONTR |=0x08; //開(kāi)啟轉(zhuǎn)換   
  112.                 while((ADC_CONTR&0x10)==0);   
  113.                 ADC_CONTR &=0xe7;     //清除標(biāo)志   
  114.                 temp_buf[i]=ADC_RES;   //取出數(shù)值到temp_buf      
  115.         }  
  116.         _data=average(temp_buf); //采樣30次后的數(shù)據(jù)代入處理函數(shù)處理后返回處理后的數(shù)值,給下面用串口發(fā)送出去  
  117.         uart_out(_data);  
  118. }
  119. ////先對(duì)整個(gè)數(shù)組的三十個(gè)值進(jìn)行從小到大的排列,
  120. //////  ///再去掉最大5個(gè)和最少5個(gè)再求平均值;函數(shù)返回temp值///
  121. uint average(uint buffer[30])      
  122. {   
  123.         uchar i,j;  
  124.         uint temp;
  125.         for(i=1; i<30; i++)      
  126.         for(j=29; j>=i; --j)   
  127.         {   
  128.                  if(buffer[j-1] > buffer[j])   
  129.                 {      
  130.                         temp = buffer[j-1];     
  131.                         buffer[j-1] = buffer[j];     
  132.                         buffer[j] = temp;
  133.                 }   
  134.         }   
  135.         temp = 0;                                   
  136.         for(i=5; i<25; i++)  
  137.         {   
  138.                 temp += buffer[i];  
  139.         }      
  140.         temp = (uint)(((float)temp) / 20 + 0.5);  
  141.         return(temp);
  142. }
  143. ///顯示數(shù)據(jù)處理及掃描顯示中斷服務(wù)函數(shù)////
  144. void t0_4ms(void) interrupt 1      
  145. {   
  146.         data2=_data;  
  147.         data2=_data*19.53;  
  148.         display[0]=tab_d[data2/1000]; //用帶小數(shù)點(diǎn)的段碼
  149.         display[1]=tab[(data2/100)%10]; //用不帶小數(shù)點(diǎn)的段碼  
  150.         display[2]=tab[(data2/10)%10];  
  151.         display[3]=tab[data2%10];  
  152.         TH0=0xf0;  
  153.         TL0=0x60;
  154.         if(++con==5) con=1;
  155.         // segp=0xff;
  156.         wei=1;
  157.         P2=scan[con-1];
  158.         wei=0;
  159.         duan=1;
  160.         P2=display[con-1];
  161.         duan=0;
  162.         delay1ms(10) ;
  163.         P2=0xff;
  164. //        segp=display[con-1];  
  165. //        scanp=scan[con-1];
  166. }
  167. //串口發(fā)送節(jié)字函數(shù)////  
  168. void uart_out(uchar byte)              
  169. {
  170.         SBUF=byte;  
  171.         while(TI==0);  
  172.         TI=0;
  173. }
  174. ///1ms延時(shí)////  
  175. void delay1ms(uchar x)               
  176. {
  177. uchar i,j;
  178. for(i=0;i<x;i++)  
  179. for(j=0;j<250;j++);  
  180. }

復(fù)制代碼

作者: xsynet    時(shí)間: 2015-12-12 18:47
向樓主學(xué)習(xí),謝謝!
作者: bxyyhan    時(shí)間: 2015-12-24 13:46
內(nèi)容挺豐富,下載學(xué)習(xí)了。
作者: jingboxu    時(shí)間: 2016-3-10 11:56
騰飛的龍 發(fā)表于 2015-7-28 20:07
STC12C5A60S2片內(nèi)AD程序

不錯(cuò),感謝分享,學(xué)習(xí)學(xué)習(xí)
作者: twoseven271    時(shí)間: 2016-3-11 07:33
謝謝樓主,感謝謝分享
作者: liuyuanhui0    時(shí)間: 2016-3-13 22:23
向樓主學(xué)習(xí),謝謝!
作者: no_crazy    時(shí)間: 2016-5-13 16:07
謝謝樓主分享、、、
作者: alsdkfhrig    時(shí)間: 2016-5-13 18:47
學(xué)習(xí)了,謝謝樓主
作者: 2365482    時(shí)間: 2016-5-13 19:50
學(xué)習(xí)了
作者: 我愛(ài)你的不懂    時(shí)間: 2016-5-15 17:23
好強(qiáng)大的    我也剛開(kāi)始學(xué)
作者: 愛(ài)玩單片機(jī)    時(shí)間: 2016-5-16 22:02
很好可以對(duì)比下89c51的時(shí)序問(wèn)題了
作者: buyuan    時(shí)間: 2016-6-4 10:48
太好了,謝謝樓主
作者: tgyh    時(shí)間: 2016-6-14 00:02
學(xué)習(xí)感謝樓主分享學(xué)習(xí)
作者: h1039700894    時(shí)間: 2016-7-21 11:00
樓主,里面差spi的,能不能傳一下呢
作者: DIY電子    時(shí)間: 2016-7-21 14:30
謝謝  學(xué)習(xí).....
作者: 020    時(shí)間: 2016-9-30 20:30
感謝樓主,收藏了
作者: Hijikata    時(shí)間: 2016-11-28 20:48
謝謝樓主分享!
作者: 作業(yè)本    時(shí)間: 2017-1-28 21:04
下載來(lái)看看 好東西
作者: hlywhp123    時(shí)間: 2017-1-31 18:00
正在學(xué)習(xí)中,謝謝
作者: erli122    時(shí)間: 2017-2-1 12:00
謝謝分享很好
作者: qingxinrushui    時(shí)間: 2017-3-2 09:38
內(nèi)容挺豐富,下載學(xué)習(xí)了。
作者: aking@an    時(shí)間: 2017-4-27 14:15
謝謝分享,
作者: display    時(shí)間: 2017-4-27 20:29
謝謝樓主分享,樓主萬(wàn)歲
作者: linnyshow    時(shí)間: 2017-4-27 21:16
沒(méi)有錢下載了。
作者: 陽(yáng)光小美女    時(shí)間: 2017-5-4 21:38
大贊!!!!!!!
作者: zmy的momo    時(shí)間: 2017-5-8 21:44
好貼子
作者: piplxh    時(shí)間: 2017-5-10 20:20
不錯(cuò),慢慢學(xué)習(xí)
作者: 馬海燕    時(shí)間: 2017-5-24 11:47
謝謝分享,謝謝分享
作者: shuige    時(shí)間: 2017-6-18 21:27
幣不夠。。。
作者: OliverZhang    時(shí)間: 2017-7-12 17:16
不錯(cuò)的資源
作者: xcret    時(shí)間: 2017-7-15 17:33
好東西,收藏備用,指不定那天就用到了呢
作者: zzb    時(shí)間: 2017-7-16 23:00
謝謝分享,下了學(xué)習(xí)。
作者: 冠翎歸    時(shí)間: 2017-7-28 15:09
CAOMINGYU 發(fā)表于 2015-7-27 13:44
**** 作者被禁止或刪除 內(nèi)容自動(dòng)屏蔽 ****

STC12C5A60S2單片機(jī)AD采樣程序及其寄存器講解
http://www.raoushi.com/bbs/dpj-42513-1.html
(出處: 單片機(jī)論壇)

作者: SYSUKC    時(shí)間: 2017-8-10 19:01
謝啦~謝啦~謝啦~謝啦~
作者: lw1997    時(shí)間: 2017-8-14 00:16
不錯(cuò),留著以后用
作者: 落花蕭然    時(shí)間: 2017-9-25 15:30
學(xué)習(xí)一下
謝謝分享
作者: 1965501205    時(shí)間: 2017-9-25 23:11
這內(nèi)容應(yīng)該挺有用的,學(xué)習(xí)下。
作者: dreamstar    時(shí)間: 2017-9-28 18:44
有關(guān)于485通信的嗎
作者: mountain46    時(shí)間: 2017-10-12 21:54
正學(xué)習(xí)這個(gè)單片機(jī)中,不錯(cuò)的資料哦。謝謝!
作者: 電子愛(ài)好    時(shí)間: 2017-11-21 08:05
好貼,想下了學(xué)習(xí)
作者: bainianhutuwen    時(shí)間: 2018-1-26 21:25
嗨spi例程有嗎?
作者: Steven159    時(shí)間: 2018-1-26 23:15
我想看STC12C5A60S2使用SPI總線通訊的那個(gè)例程,結(jié)果是空的,很傷心,誰(shuí)有可以分享下嗎
作者: wuxishun    時(shí)間: 2018-1-28 11:18
非常好的資料,謝謝分享
作者: xshx    時(shí)間: 2018-3-6 16:55
看看!!!!
作者: fengye615    時(shí)間: 2018-4-25 20:38
正在研究STC12C5A60S2,謝謝分享!!!
作者: mi30806024    時(shí)間: 2018-6-19 10:03
真不錯(cuò)

作者: w854088557    時(shí)間: 2018-6-23 08:35
謝謝樓主分享
作者: zff1995    時(shí)間: 2018-8-25 13:16
感謝作者的分享!!
作者: 張oa    時(shí)間: 2018-8-25 19:54
不錯(cuò)不錯(cuò)
作者: 猿叔叔    時(shí)間: 2018-8-31 09:51
受教了,十分感謝樓主分享!
作者: tw081531    時(shí)間: 2018-9-2 10:24
不錯(cuò)  學(xué)習(xí)了
作者: small820    時(shí)間: 2018-9-2 17:13
組裝個(gè)t12控制電路

15358795446532967642007059462436.jpg (73.66 KB, 下載次數(shù): 496)

15358795446532967642007059462436.jpg

作者: lizhendong    時(shí)間: 2018-9-17 19:06
支持一下 ,謝謝
作者: caoxiaohong    時(shí)間: 2018-11-18 20:26
初學(xué)者001 發(fā)表于 2015-5-26 20:13
不錯(cuò),留著用得上

n您好,我現(xiàn)在還沒(méi)有積分,能不能分享一下,謝謝~
作者: hfh163    時(shí)間: 2018-11-27 20:42
可以的,參考還是不錯(cuò)的
作者: Daniel_zwm    時(shí)間: 2019-1-9 21:17
謝謝分享
作者: hxszrb    時(shí)間: 2020-2-2 17:49
好東西,正在學(xué)習(xí)
作者: laisq123456    時(shí)間: 2020-2-12 22:10
不錯(cuò),很好的資料
作者: laisq123456    時(shí)間: 2020-2-12 22:11
不錯(cuò)的資料,很好

作者: breakhero    時(shí)間: 2020-5-24 21:31
感謝分享!#^_^#
作者: Tracytra    時(shí)間: 2020-5-25 19:44
點(diǎn)贊,很有用,我想下載
作者: rcyang123    時(shí)間: 2020-5-27 20:47
thanks u
作者: zxy2266    時(shí)間: 2020-9-19 08:37
small820 發(fā)表于 2018-9-2 17:13
組裝個(gè)t12控制電路

這個(gè)很好啊,公布下程序啊




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