两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

1.同時點亮猜想

在本章第一節(jié)里說過要想點亮數(shù)碼管,那么我們第一章學過的LED小燈就沒有機會點亮了,硬件上的確是這樣。

不過我們軟件上還是可以實現(xiàn)讓一個數(shù)碼管和一盞LED小燈同時點亮的,大家還記得我們之前舉過一個這樣的例子嗎?

#include <reg52.h> 
sbit LED2  = P0^0;
sbit ADDR2 = P1^2;
sbit ADDR1 = P1^1;
sbit ADDR0 = P1^0;
sbit ENLED = P1^4;
sbit ADDR3 = P1^3;
  
void main()
{  
    ADDR3 = 1;//使能三八譯碼器
    ENLED = 0;// 
    
    ADDR2 = 1;//**************************
    ADDR1 = 1;//讓三八譯碼器的IO6輸出低電平
    ADDR0 = 0;//**************************
    
    while (1)
    {
        LED2=0;//點亮最右端的燈
        LED2=1;//熄滅最右端的燈
    }
}

這個程序在硬件上的確是讓LED2熄滅過,但是時間太短了,只持續(xù)了0.00000108秒,所以開發(fā)板上的實驗現(xiàn)象看到的是LED2一直常亮。

那么我們借此思考,三八譯碼器的IO6和IO0輪流輸出低電平就可以實現(xiàn)我們的要求了,不過這個輪流切換時間要快,所以在死循環(huán)里我們都不加延時了。

 

2.代碼分析

我們定義一個變量i,作為每次循環(huán)只執(zhí)行要么是點亮數(shù)碼管要么是點亮LED2的輪流切換功能。

還有我們需在循環(huán)的結尾加入“P0=0xFF;”熄滅所有的發(fā)光二極管,這是用來刷新8個IO端口的,不然有些IO端口的電平會遺留著沒有改變,本來我們只需要LED2被點亮,P0端口沒刷新會造成其他的LED小燈都被點亮。

比如我們只需要P0.0輸出0而其他IO端口需要輸出1這樣只點亮LED2,但數(shù)碼管顯示數(shù)字時卻是要有幾個IO端口需要輸出0的(數(shù)碼管和小燈都用到了P0),所以防止數(shù)碼管顯示之后的IO端口狀態(tài)遺留給LED小燈,所以每次循環(huán)到結尾時需要全部熄滅。

這個熄滅同樣持續(xù)也只是一瞬間而已,但是IO端口狀態(tài)卻改變?yōu)槿?了。

 

3.代碼

#include <reg52.h> 
sbit LED2  = P0^0;
sbit ADDR2 = P1^2;
sbit ADDR1 = P1^1;
sbit ADDR0 = P1^0;
sbit ENLED = P1^4;
sbit ADDR3 = P1^3;

void main()
{  
    unsigned char i;//用來作為輪流切換語句功能的變量 
    ADDR3 = 1;//使能三八譯碼器
    ENLED = 0;// 
   
    while(1)
    {   
        if(i==1){ADDR2 = 0;ADDR1 = 0;ADDR0 = 0;P0=0xC0;}//讓IO0輸出低電平,數(shù)碼管顯示數(shù)字0
        else{ADDR2 = 1;ADDR1 = 1;ADDR0 = 0;LED2=0;}     //讓IO6輸出低電平,點亮LED2
        i++;
        if(i>=2)i=0;//讓i只能在0~1之間變化
        P0=0xFF;    //因為8個LED小燈與數(shù)碼管里的8段LED都是用P0的8個IO端口控制,所以需要全部熄滅來重新刷新顯示 
    }
}

這里大家可以嘗試把“P0=0xFF”注釋掉下載進開發(fā)板看看是什么現(xiàn)象,通過現(xiàn)象自己分析產生這樣現(xiàn)象的原因。

如果把“P0=0xFF”刪除后加入2ms的延時呢,會有什么現(xiàn)象?

點贊(1)

C語言網(wǎng)提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)