找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

51單片機DS18B20采集溫度,使用74HC573鎖存器和138譯碼器數(shù)碼管顯示

查看數(shù): 4007 | 評論數(shù): 1 | 收藏 2
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2020-4-28 13:05

正文摘要:

-55~125℃溫度顯示 精度0.1℃ 功能: (1)使用單片機對DS18B20溫度傳感器進行讀取得到溫度值 (2)使用74hc573鎖存器驅(qū)動數(shù)碼管的斷碼顯示 (3)使用74hc138譯碼器選擇數(shù)碼管 (4)增加了傳感器狀態(tài)監(jiān)測,如 ...

回復(fù)

ID:496636 發(fā)表于 2022-6-11 08:35
118句的變量a如果是從0開始到7,那么SMG_Channel函數(shù)就可以用幾條語句來替換掉冗長的switch語句。因為a的值就等于輸給三八譯碼器三位二進制的值。如a=0時,LSA = 0;LSB = 0;LSC = 0;a=1時,LSA = 1;LSB = 0;LSC =0;


unsigned char tmp;
tmp=P2;
tmp&=0xf8;//與二進制數(shù)11111000按位與,把低三位清零。
tmp|=a;//通過按位或把a加到后三位上。
P2=tmp;//再把值賦給P2。


當(dāng)然118行的循環(huán)語句也可以改成另一種風(fēng)格書寫,最好是在定時中斷中調(diào)用,把a定義為靜態(tài)變量。
a++;
a&=0x07;//a的與二進制數(shù)00000111按位與,如果小于7,不變,如果變成1000,高位被清零。

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

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

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