

大家拿到國信長天這塊開發板的時候先不要著急下手編程,一定要先看一下這塊板子都有哪些外設,然后再簡單分析一下原理圖,先大概了解一下各個外設是跟哪些IO口連接,這樣也方便我們后續的編程,
這次我們要做的是如何利用這塊開發板上的LED燈做一個跑馬燈設計,咱們從易到難,逐個講解板子上的外設,
設計內容:
1、讓八只LED燈整體閃爍三次,間隔為1秒鐘;
2、LED燈從左到右逐漸點亮,間隔為0.5秒;
3、LED燈從左到右逐漸熄滅,間隔為0.5秒,
相信大家都已經看過這個電路圖了,板子上的LED燈與一個74HC573鎖存器相連接,74HC573鎖存器又與一個74HC02或非門連接,最后又和74HC138譯碼器相連接,所以我們如果想驅動LED燈的話,需要先驅動74HC138譯碼器,繼而驅動74HC02和74HC573鎖存器對LED進行操作,

74HC138譯碼器真值表

想要控制Y4我們需要怎樣,肯定是通過輸入端A、B、C來控制,通過真值表我們發現,要想選中Y4的話我們只需要讓C為高電平,B為低電平,A為低電平,即C=1;B=0;A=0;此時Y4為低電平,74HC02是一個而輸入或非門,通過電路圖我們可以發現WR實際上是與GND相連接,因為咱們選擇的是IO模式編程,所以用了一個跳線帽把WR與GND連在了一起,那就是低電平嘛,這樣的話那Y4=0,WR=0,Y4C=1;此時74HC573導通,咱們就可以通過單片機P0口來控制LED燈了,總結一下,想要驅動LED燈、繼電器、蜂鳴器等外設的話,咱們只需要通過A、B、C讓74HC138譯碼器的對應輸出端為低電平就行了,

參照上面知識和電路咱們就可以著手寫代碼了,

#include<stc15f2k60s2.h>
sbit HC138_A=P2^5;
sbit HC138_B=P2^6;
sbit HC138_C=P2^7;
void LED_Run();
void delayms(int ms);
void main()
{
while(1)
{
LED_Run();
}
}
void LED_Run()
{
int i;
HC138_C=1;
HC138_B=0;
HC138_A=0;
for(i=0;i<3;i++)
{
P0=0X00;
delayms(1000);
P0=0XFF;
delayms(1000);
}
for(i=0;i<8;i++)
{
P0=(0XFF<<i);
delayms(500);
}
for(i=0;i<8;i++)
{
P0=~(0XFF<<i);
delayms(500);
}
}
void delayms(int ms)
{
int i,j;
for(i=ms;i>0;i--)
for(j=845;j>0;j--);
}
![]()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274120.html
標籤:其他
