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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4076|回復: 0
收起左側

基于PICf16877的ADC源碼

[復制鏈接]
ID:300200 發(fā)表于 2018-5-3 08:08 | 顯示全部樓層 |閱讀模式
國內關于PIC的內容太少了, 希望大家都相互交流學習.
0.jpg

單片機源程序如下:
  1. //從零到項目開發(fā)學PIC單片機與C語言技術視頻教程配套實驗源碼
  2. #include<pic.h>
  3. #define uchar unsigned char
  4. #define uint  unsigned int
  5. __CONFIG(0x3B31);
  6. const uchar table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,
  7.                         0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
  8. const uchar table1[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,
  9.                         0x87,0xff,0xef};
  10. void delay(uint x);
  11. void init();
  12. void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5);
  13. void disp1(uchar num1,uchar num2,uchar num3,uchar num4);
  14. uint get_ad();
  15. void main()
  16. {
  17.         uint lednum,u1,u2,r1,r2;
  18.           float n;
  19.         uchar a1,a2,a3,a4,a5;
  20.         init();
  21.         while(1)
  22.         {/*
  23.                 lednum=get_ad();
  24.                 a1=lednum/1000;
  25.                 a2=lednum%1000/100;
  26.                 a3=lednum%100/10;
  27.                 a4=lednum%10;
  28.                 disp(a1,a2,a3,a4);
  29.             */
  30.                           lednum=get_ad();
  31.                    // n=(lednum*10)/(10240-lednum);
  32.                     n=lednum;
  33.                     //u1=5120-lednum;
  34.                     //r1=u2/u1;
  35.                    // r2=r2*1000;
  36.                    // r2=lednum;
  37.                     //r1=u1/i;
  38.                    // r2=lednum*10/i*10
  39.                    // r2=i;
  40.                    // i=i*10000
  41.                    // r2=lednum;
  42.                    // r2=u2/i;
  43.                     //i=(5000-lednum)/10000;
  44.                    // r2=lednum/i;
  45.                     //lednum=(int)r2;
  46.                    // n=n*1000;
  47.                     r2=n;
  48.                     //r2=lednum;
  49. /*                  
  50.                 a1=r2/10000;
  51.                 a2=r2%10000/1000;
  52.                 a3=r2%1000/100;
  53.                 a4=r2%100/10;
  54.                     a5=r2%10;
  55.                 disp1(a1,a2,a3,a4,A5);
  56. */
  57.                     a1=r2/1000;
  58.                 a2=r2%1000/100;
  59.                 a3=r2%100/10;
  60.                 a4=r2%10;
  61.                 disp1(a1,a2,a3,a4);
  62.         }       
  63. }
  64. void delay(uint x)
  65. {
  66.         uint a,b;
  67.         for(a=x;a>0;a--)
  68.                 for(b=110;b>0;b--);
  69. }
  70. void init()
  71. {
  72.         TRISA=0x01;//0000 0001
  73.         TRISD=0;
  74.         PORTA=0;
  75.         PORTD=0;
  76.           TRISB=0;
  77.         PORTB=0;
  78.         ADCON0=0x41;
  79.         ADCON1=0x80;
  80.         delay(10);
  81. }
  82. uint get_ad()
  83. {
  84.         uint adval;
  85.         float advalf;
  86.         GO=1;
  87.         while(GO);
  88.         adval=ADRESH;//00000000 00000011
  89.         adval=adval<<8|ADRESL;//00000011 11111111
  90.         //advalf=adval/1023.0*5.0;//==2.3843
  91.           //advalf=adval/1023.0*5.0;//==2.3843
  92.         //adval=advalf*1000;
  93.          // adval=adval*1024;
  94.           adval=adval;
  95.         return (adval);       
  96. }
  97. void disp(uchar num1,uchar num2,uchar num3,uchar num4,uchar num5)
  98. {
  99.         PORTD=table1[num1];//顯示第一個數碼管
  100.         PORTA=0x20;//0010 0000
  101.         delay(2);
  102.         PORTD=table[num2];//顯示第二個數碼管
  103.         PORTA=0x10;//0001 0000
  104.         delay(2);
  105.         PORTD=table[num3];//顯示第三個數碼管
  106.         PORTA=0x08;//0000 1000
  107.         delay(2);
  108.         PORTD=table[num4];//顯示第四個數碼管
  109.         PORTA=0x04;//0000 0100
  110.         delay(2);
  111.           PORTD=table[num5];//顯示第四個數碼管
  112.         PORTB=0x20;//0000 0100
  113.         delay(2);
  114. }
  115. void disp1(uchar num1,uchar num2,uchar num3,uchar num4)
  116. ……………………

  117. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
ADC.zip (110.4 KB, 下載次數: 32)




評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品一区视频 | 欧美一级片久久 | 亚洲一区在线播放 | 亚洲成人日韩 | 亚洲国产欧美国产综合一区 | 精品成人在线视频 | 久草网免费 | 一级二级三级在线观看 | 色综合国产| a级免费视频 | 精品国产一区探花在线观看 | 中文字幕三区 | 午夜看片| 视频一区二区在线观看 | 亚洲日韩中文字幕一区 | 成人视屏在线观看 | 99精品亚洲国产精品久久不卡 | 久久久久一区二区三区 | 蜜桃官网 | www.久草.com | 99精品国自产在线观看 | 成人夜晚看av| 免费看91 | 精品欧美乱码久久久久久1区2区 | 国产成人在线一区 | 超碰地址| 日本欧美在线观看视频 | 91精品国产91久久久久久三级 | 夜久久| 91视频在线观看 | 国产精品亚洲一区二区三区在线观看 | 美女视频一区 | 免费黄色录像视频 | 天天操妹子 | 一区中文字幕 | 日韩一级| 一级aaaaaa毛片免费同男同女 | 久久99精品久久久久久 | 亚洲成人在线免费 | 欧美一区二区三区在线 | 中文字幕日韩一区 |