找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5869|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)使用pcf8591實現(xiàn)光敏、熱敏及電位器電壓的測量 源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:427492 發(fā)表于 2019-10-9 16:14 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
     步驟及現(xiàn)象:程序下載前,選擇stc-isp的IRC頻率:12MHz。程序下載后,通過改變開發(fā)板杜邦線的連接方式實現(xiàn)不同功能。

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

    (2)光敏電阻電壓:
    用杜邦線把AIN0與J13右側(cè)兩個排針同時短接。這時數(shù)碼管前三位顯示一個十進(jìn)制數(shù)字,通過遮擋光敏電阻RL或用手電筒照射光敏電阻RL,數(shù)碼管顯示數(shù)字改變,變化范圍0.00~5.00。
         
    (3)熱敏電阻電壓:
    用杜邦線把AIN0與J13左側(cè)兩個排針同時短接。這時數(shù)碼管前三位顯示一個十進(jìn)制數(shù)字,通過用手觸摸熱敏電阻NTC,數(shù)碼管顯示數(shù)字改變,變化范圍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);                                        // 數(shù)據(jù)在數(shù)碼管上顯示               
                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;            // 數(shù)據(jù)輸入端

  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. /***** 延時函數(shù),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. * 函數(shù)名:Send_595
  22. * 描述  :hc595發(fā)送一個字節(jié)數(shù)據(jù)
  23. * 參數(shù)  :dat  (位選或段選)
  24. * 返回值:無
  25. * 調(diào)用  :內(nèi)部調(diào)用
  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產(chǎn)生一個上升沿,數(shù)據(jù)移位
  35.                 _nop_();
  36.                 P_HC595_SRCLK = 1;               
  37.         }
  38. }

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

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


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

工程文件.jpg

工程文件.jpg

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

光敏現(xiàn)象.jpg

光敏現(xiàn)象.jpg

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

熱敏現(xiàn)象.jpg

熱敏現(xiàn)象.jpg

PCF8591實現(xiàn)ADC轉(zhuǎn)換.rar

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

評分

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

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:512761 發(fā)表于 2020-2-2 12:54 | 只看該作者
一樣的板子,真的是謝謝了同學(xué)。線連的厲害了
回復(fù)

使用道具 舉報

板凳
ID:927341 發(fā)表于 2021-8-14 10:32 | 只看該作者
光照越強(qiáng),值是越大還是越小
回復(fù)

使用道具 舉報

地板
ID:893445 發(fā)表于 2022-3-19 11:04 | 只看該作者
請問這個線是怎么連的?一分二的線嗎?
回復(fù)

使用道具 舉報

5#
ID:487079 發(fā)表于 2022-4-8 09:00 | 只看該作者
絕壁羚羊 發(fā)表于 2022-3-19 11:04
請問這個線是怎么連的?一分二的線嗎?

K可以幫我看下我主頁的問題嗎
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表