久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: PIC16F877A的AD轉換,PWM輸出,lcd1602顯示仿真例子 [打印本頁]

作者: zjjhtony    時間: 2013-12-11 15:20
標題: PIC16F877A的AD轉換,PWM輸出,lcd1602顯示仿真例子
1、AD轉換
2、PWM輸出
3、AD輸入的比例控制PWM的占空比。
4、lcd1602顯示AD測試值,PWM輸出占空比
5、全文注釋
6、proteus仿真圖。
頂一下,謝謝

圖.jpg (168.02 KB, 下載次數: 752)

圖.jpg

picad.7z

209.59 KB, 下載次數: 1019, 下載積分: 黑幣 -5


作者: zjjhtony    時間: 2013-12-12 09:47
有具體要求嗎?使用什么芯片,DS1302嗎?
作者: admin    時間: 2013-12-14 15:32
好程序
作者: zjjhtony    時間: 2013-12-14 15:44
{:soso_e113:},謝謝!
作者: 3lian    時間: 2014-3-7 15:45
好東西啊 幫了我的大忙
作者: 新手兜兜    時間: 2014-3-7 18:50
樓主 好東西啊
作者: ronghaibin    時間: 2014-4-2 11:45
太好了,學習一下
作者: yx_d    時間: 2014-6-14 18:14
學習了,支持樓主!
作者: lq3698    時間: 2014-9-6 20:45
沒M了,可憐了,下不了
作者: daqiche    時間: 2014-9-23 05:45
下載了,謝謝分享!
作者: lising    時間: 2014-10-10 15:49
不錯,下來學習。
作者: ronghongmcu    時間: 2014-10-27 23:27
好東西
作者: wujianguo    時間: 2014-11-25 16:06
樓主,能幫我寫個AD程序嗎?是交流電壓采集的
作者: zjjhtony    時間: 2014-11-25 19:10
可以QQ聯系。
作者: wujianguo123    時間: 2014-12-1 13:53
zjjhtony 發表于 2014-11-25 19:10
可以QQ聯系。

你QQ是多少
作者: wujianguo123    時間: 2014-12-1 13:57
你的這個程序挺好,我試著在你的基礎上改了改,但有地方不是很清楚,希望能賜教下
作者: 月關    時間: 2014-12-4 15:55
不錯  樓主辛苦
作者: lu2013    時間: 2014-12-23 08:37
學習學習
作者: showmeeh    時間: 2014-12-30 16:29
太好了,學習一下
作者: dege    時間: 2015-1-20 14:18
學習一下
作者: YANFEIYUN    時間: 2015-1-23 22:22
下了 ,先學習下
作者: khuohuo    時間: 2015-3-25 10:58
下了 ,先學習下
作者: bg6iim    時間: 2015-4-27 22:18
下了 ,先學習下
作者: 一樣123    時間: 2015-5-7 19:48
黑幣哪里看
作者: skyxunlinfu    時間: 2015-6-6 16:27
仿真和發表的圖片不符,不知道怎么還有這么多人說好。
作者: standgo    時間: 2015-6-8 18:31
樓主,你好。我看了你的程序,里面A/D轉換時鐘選擇的是二分頻,而外部晶振是4M,可以得出A/D轉換一位所需時間TAD=2M,即0.5us,已經超出了A/D轉換一位所必需的最低時間1.6us。所以本人覺得您的程序設計的不是很合理。謝謝!
作者: 戴風海    時間: 2015-7-5 21:11
standgo 發表于 2015-6-8 18:31
樓主,你好。我看了你的程序,里面A/D轉換時鐘選擇的是二分頻,而外部晶振是4M,可以得出A/D轉換一位所需時 ...

謝謝分享!!!!!
作者: ldfd25    時間: 2015-8-14 20:02
這個必須頂,…………………………
作者: waerdeng    時間: 2015-9-22 08:19
感謝樓主分享,這對剛入門的人幫助會很大啊!
作者: 花海里n    時間: 2015-9-23 17:02
這是神馬東西,lcd在哪都看不見,差評
作者: wangwo    時間: 2015-12-29 12:19
樓主發帖辛苦了,謝謝分享!!!!!!!!
作者: lsx435372    時間: 2016-1-22 16:15
感謝樓主分享!!!!!!!!!!
作者: f763    時間: 2016-2-10 23:42
學習了!!!謝謝!!
作者: 落花輕舞    時間: 2016-8-2 11:50
學習了!非常感謝
作者: 低調的lst    時間: 2016-9-13 17:11
仿真還得重新加東西?
作者: benben913    時間: 2016-9-19 17:36
學習學習。。。
作者: bg7nr    時間: 2017-1-1 22:48
剛剛試了下,1602LCD沒有顯示,不知啥問題
作者: bg7nr    時間: 2017-1-1 22:56
Clean: Deleting intermediary and output files.
Clean: Deleted file "E:\pic\picad\main.cce".
Clean: Done.
Executing: "C:\HT-PIC\BIN\PICC.EXE" -C -E"main.cce" "main.c" -O"main.obj" -Zg9 -O -ASMLIST -Q -MPLAB -16F877A

This compiler will expire in 19 days
Compiler operating in demo mode.
Some command line options are disabled and compilation is delayed.
Register this compiler to enable these options.

Warning[000] E:\pic\picad\sys.h 9 : Missing newline
Warning[000] E:\pic\picad\main.c 125 : Missing newline
Error[000] E:\pic\picad\main.c 17 : undefined identifier: GO
Warning[000] E:\pic\picad\main.c 124 : line does not have a newline on the end
Halting build on first failure as requested.
BUILD FAILED: Sun Jan 01 22:46:01 2017
作者: bg7nr    時間: 2017-1-1 22:57
編譯出現這樣的故障代碼,菜鳥請教
作者: zjjhtony    時間: 2017-1-2 18:10
這個估計是你的編譯器的問題,我使用的是mplab V8.7版本的。

作者: bg7nr    時間: 2017-1-2 22:23
zjjhtony 發表于 2017-1-2 18:10
這個估計是你的編譯器的問題,我使用的是mplab V8.7版本的。

版主:我用的是mplab IDE V8.91版本,PICC V8.05版,編譯其它程序可以的
作者: 1877684916    時間: 2017-1-3 14:38
很實用啊啊啊啊
作者: baishifanzon    時間: 2017-1-10 14:14
真的是一個不錯的學習例子,支持樓主
作者: 吹吹風    時間: 2017-2-5 16:49
謝謝樓主
作者: wym3515400    時間: 2017-3-18 09:49
樓主這個真是我需要學習的資料啊
作者: wym3515400    時間: 2017-3-18 09:50
樓主的資料真的是幫我了大忙
作者: 2916245357    時間: 2017-3-19 09:51
好東西,值得學習。
作者: wuyaning1211    時間: 2017-4-27 16:06
好東西,參考一下
作者: qxh    時間: 2017-7-1 14:15
東西值得去認真看
作者: pinkama    時間: 2017-11-10 13:16
感謝分享!!!
作者: jms208    時間: 2017-11-25 17:53

不錯  樓主辛苦
作者: CSHJJY    時間: 2018-1-1 11:43
沒有lcd1602
作者: JLennon    時間: 2018-1-12 13:30
急需看1602的代碼,我的就是不顯示,只有背光。
作者: Tony1996    時間: 2018-5-4 16:29
學習學習,感謝分享
作者: slim443    時間: 2018-6-1 03:18
有個例程參考,好多了
作者: 務真求實    時間: 2018-11-12 20:25
感謝分享
作者: 夜話港樂_    時間: 2019-1-22 09:57
仿真沒有找到lcd1602啊

作者: adccadcc    時間: 2019-9-3 16:08
不錯,下來學習。
作者: 125844584    時間: 2020-4-8 15:12
我下載出來的電路圖和上面的電路圖不一樣啊,只有我這樣嗎
作者: hq0573    時間: 2021-9-1 15:53
謝謝分享!!!可以很好的學習下AD!
作者: xjj850205    時間: 2021-9-5 21:45
好程序,學習了。
作者: ZLKJeng    時間: 2021-9-13 16:43
求教樓主,我想同時檢測電壓 電流該怎么改進程序?
作者: seaup2011    時間: 2021-12-2 16:06
  1. #include <pic.h>
  2. #include <math.h>
  3. //#include <myfuncs1.h>
  4. //#include <seg74.h>
  5. #include <htc.h>
  6. #define SEG_BITSEL_PORT PORTD                   //位選端口
  7. #define SEG_BITSEL_PORT_DIR TRISD               //位選端口的方向寄存器
  8. #define SEG_FONT_PORT PORTC                     //字形輸出端口
  9. #define SEG_FONT_PORT_DIR TRISC                 //字形輸出端口的方向寄存器
  10. #define DLY_MS 67
  11. const char Seg7TableN[]={0b11000000,0b11111001,0b10100100,0b10110000,0b10011001,0b10010010,0b10000010,0b11111000,0b10000000,0b10010000};

  12. //__CONFIG(FOSC_HS & WDTE_ON & PWRTE_OFF & BOREN_ON & LVP_ON & CPD_OFF & WRT_OFF & CP_OFF);
  13. //__CONFIG (XT & WDTDIS & LVPDIS);
  14. unsigned int g_ADRTable[12] = {0,0,0,0,0,0,0,0,0,0,0 };
  15. unsigned char g_Count=0;
  16. bit OverFlag = 0;//12位轉換次數完成標志位清零;
  17. void delayms (int ms);
  18. void DisplayData (unsigned int iData);
  19. void interrupt ISR (void)
  20. {
  21.     if ( ADIE && ADIF  )
  22.     {
  23.        ADIF = 0;
  24.        g_ADRTable[g_Count]=(((unsigned int)ADRESH)<<8)+ADRESL;
  25.        g_Count++;
  26.        if(g_Count==12)
  27.        {
  28.            g_Count =0;
  29.            OverFlag=1;//
  30.        }
  31.        else
  32.        {
  33.            GO_DONE = 1;//啟動AD
  34.        }      
  35.     }
  36.     else
  37.        {
  38.            while(1);
  39.        }
  40. }
  41. void main(void)
  42. {
  43.     //void  DisplayData();
  44.     char i=0,j=0;
  45.     int tmp = 0;//
  46.     int adc_v = 0;
  47.     TRISA0 = 1;
  48.     SEG_BITSEL_PORT_DIR = 0;//位選端口的方向寄存器,確定輸出端口
  49.     SEG_FONT_PORT_DIR = 0;//字形輸出端口的方向寄存器,確定輸出端口
  50.     ADFM = 1;
  51.     PCFG3:PCFG0 = 0000;
  52.     ADCON0 = 0B11000001;
  53.     ADIE = 1;
  54.     ADIF = 0;
  55.     PEIE = 1;
  56.     GIE = 1;
  57.     for(i=0;i<15;i++)
  58.     {
  59.         ;
  60.     }
  61.     GO_DONE = 1;
  62.     while(GO_DONE)
  63.     {
  64.         if(OverFlag==1)
  65.         {
  66.             for(i=0;i<12;i++)//冒泡法排序
  67.             {
  68.                 for(j=i+1;j<12;j++)
  69.                 {
  70.                     if(g_ADRTable[i] > g_ADRTable[j])
  71.                     {
  72.                         tmp = g_ADRTable[i];
  73.                         g_ADRTable[i] = g_ADRTable[j];
  74.                         g_ADRTable[j] = tmp;
  75.                     }
  76.                 }   
  77.             }
  78.         tmp = 0;
  79.         for(i=2;i<10;i++)
  80.         {
  81.             tmp = tmp + g_ADRTable[i];            
  82.         }
  83.         tmp = tmp >>3;//將數按照 2進制像右移動.每向右移動一位,相當于 除2的n次冪
  84.         adc_v = tmp;
  85.         adc_v = ((long)adc_v*5000/1023);
  86.         OverFlag = 0;
  87.         GO_DONE = 1;
  88.         }
  89.         DisplayData(adc_v);
  90.     }
  91. }
  92. void DisplayData (unsigned int iData )
  93. {
  94.     char i=0,j=0;//
  95.     char k = 0,NumStr[ 5 ]={0,0,0,0,0};
  96.     NumStr[1]=iData / 1000;//取整
  97.     NumStr[2]=iData % 1000/100;
  98.     NumStr[3]=iData % 100/10;
  99.     NumStr[4]=iData % 10;
  100.     for(i=0;i<10;i++)
  101.     {
  102.         SEG_BITSEL_PORT = k =0X01;
  103.         for(j=0;j<=4;j++)
  104.         {
  105.             SEG_BITSEL_PORT = k;
  106.             if(j==1)
  107.             {
  108.                 SEG_FONT_PORT = Seg7TableN[NumStr[j]]&0b01111111;         
  109.             }
  110.             else
  111.             {
  112.                 SEG_FONT_PORT = Seg7TableN[NumStr[j]];
  113.                
  114.             }
  115.             delayms(5);
  116.             k = k <<1;//把1向左移1為顯示
  117.         }
  118.     }
  119. }
  120. void delayms (int ms)
  121. {
  122.     int i=0,j =0;
  123.     for(i=0;i < ms;i++)
  124.         for(j =0; j < DLY_MS;j++)
  125.         {;}
  126. }
復制代碼

能幫我看看這個程序問題出在哪里嗎
作者: zjjhtony    時間: 2022-2-12 09:04
請講述你的問題,你的功能要求。
作者: a2458424    時間: 2022-7-11 11:10
非常不錯 值得學習。
作者: gejun    時間: 2025-4-6 14:22
OK,很有用!




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 久久久久久久久久久久久久久久久久久久 | 亚洲 中文 欧美 日韩 在线观看 | 欧美午夜视频 | av网站在线播放 | 黑人巨大精品欧美一区二区免费 | 国产成人99久久亚洲综合精品 | 日韩成人精品在线 | 久久亚洲一区 | 伊人网站在线观看 | 亚洲第一黄色网 | 日本黄色大片免费 | 久久亚洲综合 | 人人澡视频 | 在线视频日韩 | 天天精品综合 | 人成在线视频 | 欧美在线观看一区 | 欧美一区二区三区四区视频 | 国产亚洲一区二区精品 | 黄色一级大片在线免费看产 | 国产精品久久久久久网站 | 日韩成人精品在线 | 国产精品中文字幕在线 | 国产精品久久久久久久久免费桃花 | 超碰人人做 | 91精品国产一区二区三区 | 精品国产免费一区二区三区五区 | 福利电影在线 | 中文字幕韩在线第一页 | 国产精品污www在线观看 | 国产极品车模吞精高潮呻吟 | 99精品欧美一区二区蜜桃免费 | 99爱视频 | 久久精品视频在线观看 | 国产精品视频在线播放 | 免费性视频 | 成人亚洲性情网站www在线观看 | 欧美白人做受xxxx视频 | 日本黄色影片在线观看 | 黄色片大全在线观看 | 偷拍自拍网 |