freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)論文-基于at89s51單片機的城市交通燈控制系統(tǒng)設(shè)計(編輯修改稿)

2025-02-12 22:07 本頁面
 

【文章內(nèi)容簡介】 20PF 的小電容,可以使系統(tǒng)更穩(wěn)定, 避免噪聲干擾而死機。 RESET: AT89S51 的重置引腳,高電平動作,當(dāng)要對晶片重置時,只要對此引腳電平提升至高電平并保持兩個機器周期以上的時間, AT89S51 便能完成系統(tǒng)重置的各項動作,使青島理工大學(xué)琴島學(xué)院??飘厴I(yè)設(shè)計說明書(論文) 8 得內(nèi)部特殊功能寄存器之內(nèi)容均被設(shè)成已知狀態(tài),并且至地址 0000H 處開始讀入程序代碼而執(zhí)行程序。 EA/Vpp: EA為英文 External Access的縮寫,表示存取外部程序代碼之意, 低電平動作,也就是說當(dāng)此引腳接低電平后,系統(tǒng)會取用外部的程序代碼(存于外部 EPROM中)來執(zhí)行程序。因此在 8031 及 8032中, EA引腳必須接低電平,因為其內(nèi)部無程序存儲器空間。如果是使用 8751 內(nèi)部程序空間時,此引腳要接成高電平。此外,在將程序代碼燒錄至 8751內(nèi)部 EPROM時,可以利用此引腳來輸入 21V的燒錄高壓( Vpp)。 ALE/PROG: ALE 是英文 Address Latch Enable的縮寫,表示地址鎖存器啟用信號。ATAT89S51可以利用這個引腳來觸發(fā)外部的 8位鎖存器(如 74LS373),將端口 0的地址總線( A0~ A7)鎖進鎖存器中,因為 ATAT89S51是以多工的方式送出地址及數(shù)據(jù)。平時在程序執(zhí)行時 ALE 引腳的輸出頻率約是系統(tǒng)工作頻率的 1/6,因此可以用來驅(qū)動其他周邊晶片的時基輸入。此外在燒錄 8751程序代碼時,此引腳會被當(dāng)成程序規(guī)劃的特殊功能來使用。 PSEN:此為 Program Store Enable的縮寫,其意為程序儲存啟用,當(dāng) 8051被設(shè)成為讀取外部程序代碼工作模式時( EA=0),會送出此信號以便取得程序代碼,通常這支腳是接到 EPROM的 OE腳。 ATAT89S51可以 利用 PSEN及 RD引腳分別啟用存在外部的 RAM與 EPROM,使得數(shù)據(jù)存儲器與程序存儲器可以合并在一起而共用 64K的定址范圍。 PORT0( ~ ):端口 0 是一個 8 位寬的開路電極( Open Drain)雙向輸出入端口,共有 8個位, 表示位 0, 1,依此類推。其他三個 I/O端口( P PP3)則不具有此電路組態(tài),而是內(nèi)部有一提升電路, P0 在當(dāng)作 I/O 用時可以推動 8 個 LS的 TTL負載。如果當(dāng) EA 引腳為低電平時(即取用外部程序代碼或數(shù)據(jù)存儲器), P0就以多工方式提供地址總線( A0~ A7)及數(shù)據(jù)總線( D0~ D7)。設(shè)計者必須外加一個鎖存器將端口 0 送出的地址鎖住成為 A0~ A7,再配合端口 2 所送出的 A8~ A15 合成一組完整的 16 位地址總線,而定位地址到 64K的外部存儲器空間。 PORT2( ~ ):端口 2 是具有內(nèi)部提升電路的雙向 I/O 端口,每一個引腳可以推動 4 個 LS 的 TTL 負載,若將端口 2 的輸出設(shè)為高電平時,此端口便能當(dāng)成輸入端口來使用。 P2除了當(dāng)作一般 I/O端口使用外,若是在 ATAT89S51擴充外接程序存儲器或數(shù)據(jù)存儲器時,也提供地址總線的高字節(jié) A8~ A15,這個時候 P2便 不能當(dāng)作 I/O 來使用了。 PORT1( ~ ):端口 1 也是具有內(nèi)部提升電路的雙向 I/O 端口,其輸出緩沖器可以推動 4 個 LS TTL 負載,同樣地,若將端口 1 的輸出設(shè)為高電平,便是由此端口來輸入數(shù)據(jù)。如果是使用 8052 或是 8032 的話, 又當(dāng)作定時器 2 的外部脈沖輸入腳,而 T2EX功能,可以做外部中斷輸入的觸發(fā)引腳。 PORT3( ~ ):端口 3 也具有內(nèi)部提升電路的雙向 I/O 端口,其輸出緩沖器可以推動 4個 TTL負載,同時還多工具有其他的額外特殊功能,包括串行通信、外部中斷 控制、計時計數(shù)控制及外部數(shù)據(jù)存儲器內(nèi)容的讀取或?qū)懭肟刂频裙δ堋? 其引腳分配如下: : RXD,串行通信輸入。 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 9 : TXD,串行通信輸出。 : INT0,外部中斷 0輸入。 : INT1,外部中斷 1輸入。 : T0,計時計數(shù)器 0輸入。 : T1,計時計數(shù)器 1輸入。 : WR:外部數(shù)據(jù)存儲器的寫入信號。 : RD,外部數(shù)據(jù)存儲器的讀取信號。 74HC164 芯片介紹 74HC164為串行輸入、并行輸出移位寄存器, 74HC164為單向總線驅(qū)動器。 在串行口 為方式 0狀態(tài),即工作在移位寄存器方式,波特率為振蕩頻率的十二分之一。器件執(zhí)行任何一條將 SBUF 作為目的寄存器的命令時,數(shù)據(jù)便開始從 RXD 端發(fā)送。在寫信號有效時,相隔 一個機器周期后發(fā)送控制端 SEND 有效,即允許 RXD發(fā)送數(shù)據(jù),同時,允許從 TXD 端輸出移位脈沖。第一幀( 8 位)數(shù)據(jù)發(fā)送完畢時,各控制信號均恢復(fù)原狀態(tài),只有 TI 保持高電平,呈中斷申請狀態(tài)。第一個 74HC164 把第一幀數(shù)據(jù)并行輸出, LED1 顯示該數(shù)據(jù)。然后,用軟件將 TI 清 0,發(fā)送第二幀數(shù)據(jù)。第二幀數(shù)據(jù)發(fā)送完畢, LED1 顯示第二幀數(shù)據(jù),第一幀數(shù)據(jù)串行輸 入給第二個 74HC164, LED2顯示第一幀數(shù)據(jù)。依此類推,直到把數(shù)據(jù)區(qū)內(nèi)所有數(shù)據(jù)發(fā)送出去。應(yīng)該注意,數(shù)據(jù)全部發(fā)送完后,第一幀數(shù)據(jù)在最后一個 LED顯示。由于 TXD 端最多可以驅(qū)動 8個 TTL 門。 74LS04 輸出信號與信號燈 要使行人能看見信號燈的情況,必須把 P1口輸出的信號進行放大,這里我們用 74LS04反向器,當(dāng)極性為高電平時晶閘管導(dǎo)通,該支路指示燈亮;當(dāng)極性為低電平時關(guān)斷,該支路指示燈滅。 LED 燈的顯示原理 :通過同名管腳上所加電平的高低來控制發(fā)光二極管是否點亮。 七段數(shù)碼管的顯示及與 74HC164的連接顯示不同的數(shù)字如 SP, g,f,e,d,c,b,a 管角上加上 0FEH所以 SP上為0伏,不亮其余為TTL高電平,全亮則顯示為8。 74LS04( 6反向器)主要對信號 起了反向作用。 其它器件的功能如: 7805的功能,既提供穩(wěn)定的 +5V電壓。 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 10 交通燈控制線路圖 青島理工大學(xué)琴島學(xué)院??飘厴I(yè)設(shè)計說明書(論文) 11 4 交通燈軟件設(shè)計 程序設(shè)計流程圖 (1) 程序設(shè)計總框圖:如圖 41 圖 41 程序設(shè)計框圖 開 始 鍵盤事件處 理 等 待 鍵 盤 事 件 初始化 顯示程序處理 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 12 (2)程序詳細流程圖:如圖 42 圖 42程序詳細流程圖 開始 設(shè)置定時器 開中斷 賦初值 F0=1 R0,R1 分別送 A。調(diào)用計時程序并調(diào)用延時 R2=011 Flag0=1 跳到 SEC R2=021 Flag1=1 跳到 THR, F0=1 R2=03 Flag1=1 跳到 FOU R2=04 標志位清 0, 跳到 FIR R0=00 R2 加 1,跳到 DIAOY R1,R0 分別送 A。調(diào)用計時程序并調(diào)用延時 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 13 流程圖說明: 圖中定時器在每 50ms 中斷一下,設(shè)置為循環(huán) 20次(此時為 1秒),每 1秒以后, R0,R1自動減 1。 程序中的判斷在相等情況下從右邊出, 不相同的情況往下走。 延時方法可以有兩種一種是利用 AT89S51 內(nèi)部定時器的溢出中斷來確定 1 秒的時間,另一種是采用軟件延時的方法。 計數(shù)器初值計算 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到 TH 和 TL 中的。他是以加法記數(shù)的,并能從全 1到全 0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為 C 和計數(shù)初值設(shè)定為 TC 可得到如下計算通式: TC=M- C 式中, M為計數(shù)器模值,該值和計數(shù)器工作方式有關(guān)。在方式 0時 M為 213 ;在方式 1時 M的值為 216;在方式 2和 3為 28 ; 算法公式: T=( M- TC) T 計數(shù) 或 TC=M- T/T 計數(shù) T 計數(shù) 是單片機時鐘周期T CLK 的 12倍;TC為定時初值 如單片機的主脈沖頻率為T CLK 12MHZ ,經(jīng)過12分頻 方式0 TMAX= 213 1微秒= 方式1 TMAX= 216 1微秒= 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題. 實現(xiàn)1秒的方法: 我們采用在主程序中設(shè)定一個初值為 20的軟件計數(shù)器和使 T1定時 50 毫秒。這樣每當(dāng)T1 到 50 毫秒時 CPU 就響應(yīng)它的溢出中斷請求,進入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中, CPU 先使軟件計數(shù)器減1,然后判斷它是否為零。為 0 表示1秒已到可以返回到輸出時間顯示程序。 相應(yīng)程序代碼 (1)定時器的設(shè)置 定時器需定時50毫秒,故T 1工作于方式1。 初值計算: TC=M- T/T 計數(shù) = 216- 50ms/1us=15536=3CBOH 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 14 START: MOV TMOD, 10H ;令TO為定時器方式1 MOV TH0, 3CH ;裝入定時器初值 MOV TL0, 0BOH SETB EA ; 打開總中斷 SETB ET1 ;開T 1中斷 SETB ER ;啟動T 1計數(shù)器 CLR FLAG1 CLR FLAG2 CLR FLAG3 MOV R3, 20H ;軟件計數(shù)器賦初值 (2)相應(yīng)中斷服務(wù)子程序 ORG 001BH LJMP DSD ORG 0030H DSD: INC R3 MOV TH0, 3CH ;重裝入定時器初值 MOV TL0, BOH CJNE R3, 20, FH DEC R0 DEC R1 MOV R3, 00H FH: RETI 程序的軟件延時 : AT89S51的工作頻率為 0— 33MHZ,我們選用的 AT89S51單片機的工作頻率為 12MHZ。機器周期與主頻有關(guān),機器周期是主頻的 12 倍,所以一個機器周期的時間為 12*( 1/12M)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過指令的執(zhí)行條數(shù)來確定1秒的時間。 具體的延時程序分析 : DELAY: MOV R4,08H 延時 1秒主程序 DE2: LCALL DELAY1 DJNZ R4, DE2 RET DELAY1: MOV R4, 00H ;延時 125us 子程序 D1: MOV R5, 00H D2: DJNE R5, DL2 青島理工大學(xué)琴島學(xué)院專科畢業(yè)設(shè)計說明書(論文) 15 DJNE R4, D1 RET DELAY1為一個雙重循壞 循環(huán)次數(shù)為 256*256=65536 所以延時時間 =65536*2=131072us 約為 125us DELAY R4設(shè)置的初值為 8 主延時程序循環(huán) 8次,所以 125us*8= 1 秒 由于單片機的運行速度很快其他的指令執(zhí)行時間可以忽略不計。 程序的主控制循環(huán)調(diào)用 用來實現(xiàn)四個狀態(tài)之間的轉(zhuǎn)換 ,代碼如下 : DIAOY: ;循環(huán)控制子程序 CJNE R2, 01H, AA ;判斷不相等剛跳轉(zhuǎn) JB FLAG1, AA ; FLAG1為 1則跳轉(zhuǎn) LJMP SEC ;跳轉(zhuǎn)到 SEC AA: CJNE R2, 02H, AAA JB FLAG2, AAA
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1