欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4073|回復: 3
收起左側

單片機新手遇到問題,這些定義是干什么用的

[復制鏈接]
ID:699897 發表于 2020-2-28 23:15 | 顯示全部樓層 |閱讀模式
#include<reg52.h>

sbit LED = P0^0;
sbit ADDR0 = P1^0;
sbit ADDR1 = P1^1;
sbit ADDR2 = P1^2;
sbit ADDR3 = P1^3;
sbit ENLED = P1^4;

void main()
{
while(1)
{

        ENLED = 0;
        ADDR3 = 1;
        ADDR2 = 1;
        ADDR1 = 1;
        ADDR0 = 0;

        LED = 0;
}
        }





想問一下ENLED = 0;
        ADDR3 = 1;
        ADDR2 = 1;
        ADDR1 = 1;
        ADDR0 = 0;這些定義是干什么用的,而且為什么我老是下載不進程序,已經有單片機重啟了,串口也對了

51hei圖片20200228231223.png
回復

使用道具 舉報

ID:235200 發表于 2020-2-29 02:08 | 顯示全部樓層
在你未提供電路的情況下,我猜想
        ENLED = 0;
        ADDR3 = 1;
        ADDR2 = 1;
        ADDR1 = 1;
        ADDR0 = 0;
這些語句是控制一片74ls154的譯碼輸出,該芯片是4-16譯碼器,可以控制選擇16個不同的數碼管動態顯示
回復

使用道具 舉報

ID:155507 發表于 2020-2-29 07:08 | 顯示全部樓層
單片機是根據硬件電路圖的設計來寫代碼的,所以我們不僅僅要學習編程知識,還有硬件知識,也要進一步的學習

2013668594594447 (1).jpg



那么我們在整體捋一遍點亮LED小燈的過程,首先看74HC138,我們要讓LEDS6為低電平才能導通三極管Q16,所以ENLED = 0;ADDR3 = 1;保證74HC138使能。然后ADDR2 = 1; ADDR1 = 1; ADDR0 = 0;這樣保證了三極管Q16這個開關開通,5V電源加到LED上。

而74HC245左側是通過P0口控制,我們讓P0.0引腳等于0,就是DB_0等于0,而右側DB0等于DB_0的狀態,也是0,那么這樣在這一排共8個LED小燈當中,只有最右側的小燈和5V之間有壓差,有壓差就會有電流通過,有電流通過我們的LED2就會發光。



回復

使用道具 舉報

ID:372579 發表于 2020-2-29 18:02 | 顯示全部樓層
我是來學習的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表