![]() |
發布時間: 2020-4-28 13:05
正文摘要:-55~125℃溫度顯示 精度0.1℃ 功能: (1)使用單片機對DS18B20溫度傳感器進行讀取得到溫度值 (2)使用74hc573鎖存器驅動數碼管的斷碼顯示 (3)使用74hc138譯碼器選擇數碼管 (4)增加了傳感器狀態監測,如 ... |
118句的變量a如果是從0開始到7,那么SMG_Channel函數就可以用幾條語句來替換掉冗長的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;//與二進制數11111000按位與,把低三位清零。 tmp|=a;//通過按位或把a加到后三位上。 P2=tmp;//再把值賦給P2。 當然118行的循環語句也可以改成另一種風格書寫,最好是在定時中斷中調用,把a定義為靜態變量。 a++; a&=0x07;//a的與二進制數00000111按位與,如果小于7,不變,如果變成1000,高位被清零。 |