www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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


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


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


片選地址74ls172的接法

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

1. 硬件設(shè)計(jì)

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

元 件 名

所 在 類(lèi)

參 數(shù)

備 注

AT89C51

Microprocessor ICs

8051 Family


單片機(jī)

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

門(mén)電路 & 反相器

或門(mén)

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

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

2. 程序設(shè)計(jì)

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

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

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

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

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

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

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

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

#include "at89x51.h"

#include "absacc.h"

#define A74273 XBYTE[0x7fff]

void main(void)

{

A74273 = 0x2b;

while(1);

}

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


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

銷(xiāo)售GG在工作群里:“弟兄們,快醒醒,咱現(xiàn)場(chǎng)的跑馬燈不跑了?!边€在加班的程序猿:“已經(jīng)查過(guò)了,程序沒(méi)Bug。”帶娃玩的硬件攻城獅:“硬件沒(méi)問(wèn)題,這都是照官方Demo弄的。”刷劇的測(cè)試MM小聲嘀咕:“我可都是按用例測(cè)的,沒(méi)...

關(guān)鍵字: 跑馬燈

銷(xiāo)售GG在工作群里:“弟兄們,快醒醒,咱現(xiàn)場(chǎng)的跑馬燈不跑了?!边€在加班的程序猿:“已經(jīng)查過(guò)了,程序沒(méi)Bug。”帶娃玩的硬件攻城獅:“硬件沒(méi)問(wèn)題,這都是照官方Demo弄的?!彼〉臏y(cè)試MM小聲嘀咕:“我可都是按用例測(cè)的,沒(méi)...

關(guān)鍵字: 跑馬燈

基于51單片機(jī)學(xué)習(xí)板。用S1鍵作為控制跑馬燈的方向按鍵,S5鍵作為控制跑馬燈方向的加速度按鍵,S9鍵作為控制跑馬燈方向的減速度按鍵,S13鍵作為控制跑馬燈方向的啟動(dòng)或者暫停按鍵。記得把輸出線P0.4一直輸出低電平,模擬獨(dú)...

關(guān)鍵字: 51單片機(jī) 數(shù)碼管顯示 跑馬燈

本節(jié)小項(xiàng)目,意在“人機(jī)界面”與“過(guò)程控制”如何關(guān)聯(lián)的練習(xí)。

關(guān)鍵字: 計(jì)數(shù)器 跑馬燈

跑馬燈/輸入輸出接口(片選地址74LS273)

關(guān)鍵字: 74ls273 片選地址 跑馬燈 輸入輸出接口

當(dāng)前開(kāi)發(fā)單片機(jī)應(yīng)用系統(tǒng)程序主要應(yīng)用匯編語(yǔ)言和C51語(yǔ)言,采用匯編語(yǔ)言編寫(xiě)可直接操縱系統(tǒng)的硬件資源,能編寫(xiě)出高效運(yùn)行的程序代碼,程序運(yùn)行速度快。而采用C51語(yǔ)言編寫(xiě)可改善程序的可讀性和可移植性,利于產(chǎn)品的更新?lián)Q代,大大加快...

關(guān)鍵字: C51 匯編語(yǔ)言 跑馬燈

一、跑馬燈和流水燈的區(qū)別好多人分不清跑馬燈和流水燈,還以為是同一種狀態(tài),雖然難度等級(jí)是一樣的,但是燈的亮滅顯示方式是不一樣的。請(qǐng)看下圖 二、單片機(jī)控制LED燈的常用電路接法弄清楚跑馬燈的顯示狀態(tài)后可以開(kāi)始

關(guān)鍵字: 單片機(jī)控制 跑馬燈

我使用的是愛(ài)晶3ePIC實(shí)驗(yàn)板,以下都是自己寫(xiě)的程序,只是為了紀(jì)念和學(xué)習(xí)交流使用,別無(wú)它意。在我的相冊(cè)里有板子的原理圖。跑馬燈實(shí)驗(yàn):程序://適合3epic實(shí)驗(yàn)板,是跑馬燈程序 #include unsigned...

關(guān)鍵字: 數(shù)碼管顯示 跑馬燈 pic入門(mén)

#include #define uchar unsigned char#define uint unsigned int//延時(shí)子程序void mDelay(uchar Delay){ uchar i; for(;...

關(guān)鍵字: C51 單片機(jī) 編程入門(mén) 跑馬燈

很簡(jiǎn)單了哈,這里不羅嗦了。LED.h頭文件#ifndef _LED_H_ #define _LED_H_ // 定義LED名稱(chēng) #define LED1 0x01 #define LED2 0x02 #defi...

關(guān)鍵字: lm3s1138入門(mén) 跑馬燈
關(guān)閉