日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀];NAME:跑馬燈;AUTOR:;CONTENT:P1.0~P1.7接發(fā)光二極管L1~L8    CSEGAT4000H;定義起始地址,為什么是4000H呢     ;存儲器:程序存儲器、數(shù)據(jù)存儲器統(tǒng)一編址,達64K,板上ROM(16K);RAM     ;(32K)


;NAME:跑馬燈;AUTOR:;CONTENT:P1.0~P1.7接發(fā)光二極管L1~L8    
CSEGAT4000H;定義起始地址,為什么是4000H呢     ;存儲器:程序存儲器、數(shù)據(jù)存儲器統(tǒng)一編址,達64K,板上ROM(16K);RAM     ;(32K)供用戶使用,可擴展至48k。用戶存儲器起始地址為4000H;8051原     ;有中斷入口地址均定位在偏移4000H之后的相應地址LJMPSTARTCSEGAT4100HSTART:MOVA,#01H ;先讓第一個發(fā)光二極管點亮,選#01的原因是加了反相器LOOP:MOVP1,A ;從P1口輸出到發(fā)光二極管DELAY500MS:;延時0.5秒MOVR7,#0BHDL1:MOVR6,#5CHDL0:MOVR5,#7AHDJNZR5,$DJNZR6,DL0DJNZR7,DL1RLA;左移一位,點亮下一個發(fā)光二極管LJMPLOOPEND


;NAME:輸入輸出接口(讀出開關(guān)的閉合還是斷開);AUTOR:;TIME: 2012年4月12日18:22:14;CONTENT:P1.0~P1.7接按鈕K1~K8;74LS273的SO0~SO7接發(fā)光二極管L1~L8,片選端CSU8接CS0(由程序選擇的入口地址而定)。 PORTEQU0CFA7H;片選地址CS0CSEGAT4000H      ;絕對尋址,同上LJMPSTARTCSEGAT4100HSTART:MOVP1,#0FFHLOOP:MOVA,P1;從P1口讀取開關(guān)狀態(tài)MOVDPTR,#PORTMOVX@DPTR,A;從74LS273輸出到發(fā)光二極管LJMPLOOP;循環(huán)END


片選地址74ls172的接法

74LS273是一個八位的數(shù)據(jù)/地址鎖存器。本例采用74LS273擴展I/O輸出端口,通過片選信號和寫信號將數(shù)據(jù)總線上的值鎖存在74LS273中,同時在74LS273的端口輸出數(shù)據(jù)。當數(shù)據(jù)總線上的值撤銷后,由于74LS273能鎖存信號,所以74LS273的輸出端保持不變,直到有新的數(shù)據(jù)被鎖存。

1. 硬件設計

創(chuàng)建一個新的Design,添加如下元件(略去晶振和復位電路):

元 件 名

所 在 類

參 數(shù)

備 注

AT89C51

Microprocessor ICs

8051 Family


單片機

LED-YELLOW

Optoelectronics

Leds


LED

RES

Resistors

Generic

270Ω

電阻

74LS273

TTL 74LS Series

Flip-Flop & Latches

雙穩(wěn)態(tài)多諧振蕩器&閉鎖

鎖存器

74LS32

TTL 74LS Series

Gates & Inverters

門電路 & 反相器

或門

用8個發(fā)光二極管顯示單片機的輸出數(shù)據(jù),輸出為低電平時LED燈亮。74LS273的D0~D7為8位數(shù)據(jù)輸入端,接單片機的P0口,Q0~Q7為8位數(shù)據(jù)輸出端,CLK為觸發(fā)時鐘輸入端,MR為數(shù)據(jù)清除使能端。采用或門74LS32進行地址譯碼,U3:A的輸入端分別接單片機的P2.7口和WR口,輸出端接74LS273的CLK口。

從74LS273的真值表可以看出,當MR為低電平時,所有的Q端為0,否則Q端隨D端而定,因此,MR應置為高電平。CLK在上升沿時完成數(shù)據(jù)鎖存操作,因此U3:A的輸出必須完成一個由低到高的變化。當寫指令有效時,輸出低電平,只有P2.7同時為低電平時,才能在寫指令完成時實現(xiàn)一個由低到高的電平變化,這樣在寫完成后,數(shù)據(jù)被74LS273鎖定??梢?,74LS273地址應該為0XXX XXXX XXXX XXXX,一般我們設為7FFF。

2. 程序設計

在Keil C51中,有以下的內(nèi)存類型:

code 以 MOVC a,@A+DPTR 讀取的程序內(nèi)存

data 可以直接存取的內(nèi)部數(shù)據(jù)存儲器

idata 以 Mov @Rn 存取的內(nèi)部數(shù)據(jù)存儲器

bdata 可以位尋址(Bit Addressable)的內(nèi)部存儲器

xdata 以 MOVX @DPTR 存取的外部數(shù)據(jù)存儲器

pdata 以 MOVX @Rn 存取的外部數(shù)據(jù)存儲器

為了定義使用方便,在absacc.h文件中對此進行了宏定義,比如此例中的地址0x7fff,就可寫為XBYTE[0x7fff]。

#include "at89x51.h"

#include "absacc.h"

#define A74273 XBYTE[0x7fff]

void main(void)

{

A74273 = 0x2b;

while(1);

}

注意了:當寫指令有效時(應該是WR,無效時為高),輸出低電平,只有P2.7同時為低電平時,才能在寫指令完成時實現(xiàn)一個由低到高的電平變化,這樣在寫完成后,數(shù)據(jù)被74LS273鎖定??梢?,74LS273地址應該為0XXX XXXX XXXX XXXX,一般我們設為7FFF。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉