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

正文內容

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

2025-07-09 21:45 本頁面
 

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