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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索

PIC16F877A的AD轉(zhuǎn)換,PWM輸出,lcd1602顯示仿真例子

查看數(shù): 34156 | 評(píng)論數(shù): 65 | 收藏 12
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請(qǐng)稍候......
發(fā)布時(shí)間: 2013-12-11 15:20

正文摘要:

1、AD轉(zhuǎn)換 2、PWM輸出 3、AD輸入的比例控制PWM的占空比。 4、lcd1602顯示AD測(cè)試值,PWM輸出占空比 5、全文注釋 6、proteus仿真圖。 頂一下,謝謝

回復(fù)

ID:1146374 發(fā)表于 2025-4-6 14:22
OK,很有用!
ID:609145 發(fā)表于 2022-7-11 11:10
非常不錯(cuò) 值得學(xué)習(xí)。
ID:18297 發(fā)表于 2022-2-12 09:04
請(qǐng)講述你的問題,你的功能要求。
ID:61632 發(fā)表于 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位轉(zhuǎn)換次數(shù)完成標(biāo)志位清零;
  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;//啟動(dòng)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;//將數(shù)按照 2進(jìn)制像右移動(dòng).每向右移動(dòng)一位,相當(dāng)于 除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. }
復(fù)制代碼

能幫我看看這個(gè)程序問題出在哪里嗎
ID:960452 發(fā)表于 2021-9-13 16:43
求教樓主,我想同時(shí)檢測(cè)電壓 電流該怎么改進(jìn)程序?
ID:387687 發(fā)表于 2021-9-5 21:45
好程序,學(xué)習(xí)了。
ID:625711 發(fā)表于 2021-9-1 15:53
謝謝分享!!!可以很好的學(xué)習(xí)下AD!
ID:713781 發(fā)表于 2020-4-8 15:12
我下載出來的電路圖和上面的電路圖不一樣啊,只有我這樣嗎
ID:103421 發(fā)表于 2019-9-3 16:08
不錯(cuò),下來學(xué)習(xí)。
ID:154187 發(fā)表于 2019-1-22 09:57
仿真沒有找到lcd1602啊
ID:213175 發(fā)表于 2018-11-12 20:25
感謝分享
ID:302666 發(fā)表于 2018-6-1 03:18
有個(gè)例程參考,好多了
ID:322187 發(fā)表于 2018-5-4 16:29
學(xué)習(xí)學(xué)習(xí),感謝分享
ID:209855 發(fā)表于 2018-1-12 13:30
急需看1602的代碼,我的就是不顯示,只有背光。
ID:269685 發(fā)表于 2018-1-1 11:43
沒有l(wèi)cd1602
ID:71549 發(fā)表于 2017-11-25 17:53

不錯(cuò)  樓主辛苦
ID:94088 發(fā)表于 2017-11-10 13:16
感謝分享!!!
ID:183735 發(fā)表于 2017-7-1 14:15
東西值得去認(rèn)真看
ID:186630 發(fā)表于 2017-4-27 16:06
好東西,參考一下
ID:159112 發(fā)表于 2017-3-19 09:51
好東西,值得學(xué)習(xí)。
ID:170103 發(fā)表于 2017-3-18 09:50
樓主的資料真的是幫我了大忙
ID:170103 發(fā)表于 2017-3-18 09:49
樓主這個(gè)真是我需要學(xué)習(xí)的資料啊
ID:162067 發(fā)表于 2017-2-5 16:49
謝謝樓主
ID:161115 發(fā)表于 2017-1-10 14:14
真的是一個(gè)不錯(cuò)的學(xué)習(xí)例子,支持樓主
ID:159601 發(fā)表于 2017-1-3 14:38
很實(shí)用啊啊啊啊
ID:159270 發(fā)表于 2017-1-2 22:23
zjjhtony 發(fā)表于 2017-1-2 18:10
這個(gè)估計(jì)是你的編譯器的問題,我使用的是mplab V8.7版本的。

版主:我用的是mplab IDE V8.91版本,PICC V8.05版,編譯其它程序可以的
ID:18297 發(fā)表于 2017-1-2 18:10
這個(gè)估計(jì)是你的編譯器的問題,我使用的是mplab V8.7版本的。
ID:159270 發(fā)表于 2017-1-1 22:57
編譯出現(xiàn)這樣的故障代碼,菜鳥請(qǐng)教
ID:159270 發(fā)表于 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
ID:159270 發(fā)表于 2017-1-1 22:48
剛剛試了下,1602LCD沒有顯示,不知啥問題
ID:82712 發(fā)表于 2016-9-19 17:36
學(xué)習(xí)學(xué)習(xí)。。。
ID:88073 發(fā)表于 2016-9-13 17:11
仿真還得重新加?xùn)|西?
ID:99245 發(fā)表于 2016-8-2 11:50
學(xué)習(xí)了!非常感謝
ID:105271 發(fā)表于 2016-2-10 23:42
學(xué)習(xí)了!!!謝謝!!
ID:104119 發(fā)表于 2016-1-22 16:15
感謝樓主分享!!!!!!!!!!
ID:85606 發(fā)表于 2015-12-29 12:19
樓主發(fā)帖辛苦了,謝謝分享!!!!!!!!
ID:90884 發(fā)表于 2015-9-23 17:02
這是神馬東西,lcd在哪都看不見,差評(píng)
ID:71535 發(fā)表于 2015-9-22 08:19
感謝樓主分享,這對(duì)剛?cè)腴T的人幫助會(huì)很大啊!
ID:86543 發(fā)表于 2015-8-14 20:02
這個(gè)必須頂,…………………………
ID:84840 發(fā)表于 2015-7-5 21:11
standgo 發(fā)表于 2015-6-8 18:31
樓主,你好。我看了你的程序,里面A/D轉(zhuǎn)換時(shí)鐘選擇的是二分頻,而外部晶振是4M,可以得出A/D轉(zhuǎn)換一位所需時(shí) ...

謝謝分享!!!!!

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久久久黄 | 亚洲视频一区在线观看 | 天堂成人国产精品一区 | 欧美影院| 天天爽夜夜爽精品视频婷婷 | 中文字幕免费在线 | 午夜视频在线观看网址 | 国产在线精品一区二区 | 午夜av一区二区 | 亚洲一二三在线观看 | 99pao成人国产永久免费视频 | 日一区二区| 婷婷综合 | 91大片| 亚洲 欧美 日韩 精品 | 天天草视频 | 九九热在线观看 | 欧美男人天堂 | 日韩视频一区二区 | 亚洲网站在线观看 | 亚洲国产视频一区 | 最新国产精品精品视频 | 国产一卡二卡三卡 | 国产美女视频黄a视频免费 国产精品福利视频 | 玖玖视频 | 成人在线国产 | 国产99久久久久 | 国产精品久久久久久一区二区三区 | 免费黄色a视频 | 国产免费一区二区三区 | 99热国产免费| www.中文字幕av | 日韩一区二区三区在线观看视频 | 一级黄色片美国 | 在线a视频网站 | 久久久久亚洲 | 中文字幕第7页 | 精品久久av | 精品欧美激情精品一区 | 国产精品不卡 | 亚洲乱码一区二区三区在线观看 |