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

標題: 單片機使用pcf8591實現光敏、熱敏及電位器電壓的測量 源程序 [打印本頁]

作者: 楓樹566    時間: 2019-10-9 16:14
標題: 單片機使用pcf8591實現光敏、熱敏及電位器電壓的測量 源程序
     步驟及現象:程序下載前,選擇stc-isp的IRC頻率:12MHz。程序下載后,通過改變開發板杜邦線的連接方式實現不同功能。

    (1)電位器旋鈕可調電壓:
    用杜邦線或跳線帽把AIN0與RAD短接。這時數碼管前三位顯示一個十進制數字,當擰動電位器時數字也跟著變化,變化范圍為0.00~5.00。

    (2)光敏電阻電壓:
    用杜邦線把AIN0與J13右側兩個排針同時短接。這時數碼管前三位顯示一個十進制數字,通過遮擋光敏電阻RL或用手電筒照射光敏電阻RL,數碼管顯示數字改變,變化范圍0.00~5.00。
         
    (3)熱敏電阻電壓:
    用杜邦線把AIN0與J13左側兩個排針同時短接。這時數碼管前三位顯示一個十進制數字,通過用手觸摸熱敏電阻NTC,數碼管顯示數字改變,變化范圍0.00~5.00。

#include "stc8.h"
#include "pcf8591_i2c.h"
#include "hc595.h"
void main()
{
        int dat;
        while(1)
        {
                dat = ((int)Pcf8591_ReadAD())/51.0*100;    // 讀取ad值
                display(0,dat/100);                                        // 數據在數碼管上顯示               
                display(0,19);
                display(1,dat%100/10);
                display(2,dat%10);
        }
}

  1. #include "hc595.h"
  2. #include "stc8.h"
  3. #include <intrins.h>

  4. sbit P_HC595_SRCLK = P3^5;            // 移位時鐘
  5. sbit P_HC595_RCLK  = P3^4;            // 存儲時鐘
  6. sbit P_HC595_SER   = P3^7;            // 數據輸入端

  7. // 段選:dp、g、f、e、d、c、b、a
  8. unsigned char const LedData[]=
  9.    {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e,0xFF , 0x00, 0xbf,0x7f,0x89};
  10. //  "0"  "1"  "2"  "3"  "4"  "5"  "6"  "7"  "8"   "9"  "A"  "B"  "C"  "D"  "E"  "F" "全滅" "全亮" "-"  "."  "H"

  11. // 位選:CS1、CS2、CS3、CS4、CS5、CS6、CS7、CS8
  12. unsigned char const LedPos[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

  13. /***** 延時函數,xms是多少就延時多少毫秒 *****/

  14. void sDelay_ms(unsigned int xms)    // 晶振:12MHz
  15. {
  16.         unsigned int i, j;
  17.         for(i=xms;i>0;i--)
  18.                 for(j=921;j>0;j--);
  19. }
  20. /*************************************************
  21. * 函數名:Send_595
  22. * 描述  :hc595發送一個字節數據
  23. * 參數  :dat  (位選或段選)
  24. * 返回值:無
  25. * 調用  :內部調用
  26. *************************************************/

  27. void Send_595(unsigned char dat)
  28. {        
  29.         unsigned char i;
  30.         for(i=0; i<8; i++)
  31.         {
  32.                 dat <<= 1;
  33.                 P_HC595_SER   = CY;
  34.                 P_HC595_SRCLK = 0;          // SH_CP產生一個上升沿,數據移位
  35.                 _nop_();
  36.                 P_HC595_SRCLK = 1;               
  37.         }
  38. }

  39. /*************************************************
  40. * 函數名:display
  41. * 描述  :pos位數碼管顯示數字dat
  42. * 參數  :pos,dat
  43. * 返回值:無
  44. * 調用  :外部調用
  45. *************************************************/

  46. void display(unsigned char pos,unsigned char dat)
  47. {
  48.         Send_595(LedPos[pos]);          // 發送位選
  49.         Send_595(LedData[dat]);         // 發送段選
  50.         P_HC595_RCLK = 0;               // ST_CP產生一個上升沿,數據并口輸出
  51.         _nop_();
  52.         P_HC595_RCLK = 1;         
  53.         sDelay_ms(5);                    // 延時5ms
  54. }
復制代碼


pcf.JPG (20.18 KB, 下載次數: 139)

工程文件.jpg

工程文件.jpg

pcf8591.jpg (3.21 MB, 下載次數: 128)

光敏現象.jpg

光敏現象.jpg

remin.jpg (3.28 MB, 下載次數: 131)

熱敏現象.jpg

熱敏現象.jpg

PCF8591實現ADC轉換.rar

72.98 KB, 下載次數: 85, 下載積分: 黑幣 -5


作者: 真-小白    時間: 2020-2-2 12:54
一樣的板子,真的是謝謝了同學。線連的厲害了
作者: 馮666    時間: 2021-8-14 10:32
光照越強,值是越大還是越小
作者: 絕壁羚羊    時間: 2022-3-19 11:04
請問這個線是怎么連的?一分二的線嗎?

作者: 雨寒子蕭    時間: 2022-4-8 09:00
絕壁羚羊 發表于 2022-3-19 11:04
請問這個線是怎么連的?一分二的線嗎?

K可以幫我看下我主頁的問題嗎




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