除法指令DIV也會影響溢出標誌。當除數為0時,OV=1,否則OV=0。
f.P(PSW.0)奇偶標誌:
每個指令周期都由硬件來置位或清零,以表示累加器A中1的位數的奇偶數。若1的位數為奇數,P置“1”,否則P清零。
P標誌位對串行通信中的數據傳輸有重要的意義,在串行通信中常用奇偶校驗的辦法來檢驗數據傳輸的可靠性。在發送端可根據P的值對數據的奇偶置位或清零。通信協議中規定采用奇校驗的辦法,則P=0時,應對數據(假定由A取得)的奇偶位置位,否則就清零。
4)棧指針:
棧指針SP是一個8位特殊功能寄存器。它指示出堆棧頂部在內部RAM中的位置。係統複位後,SP初始化為07H,使得堆棧事實上由08H單元開始。考慮到08H-1FH單元分屬於工作寄存器區1-3,若程序設計中要用到這些區,則最好把SP值改置為1FH或更大的值,SP的初始值越小,堆棧深度就可以越深,堆棧指針的值可以由軟件改變,因此堆棧在內部RAM中的位置比較靈活。
除用軟件直接改變SP值外,在執行PUSH,POP指令,各種子程序調用,中斷響應,子程序返回(RET)和中斷返回(RETI)等指令時,SP值將自動調整。
5)數據指針:
數據指針DPTR是一個16位特殊功能寄存器,其高位字節寄存器用DPH表示,低位字節寄器用DPL表示,既可以作為一個16位寄存器DPTR來處理,也可以作為兩個獨立的8位寄存器DPL和DPL來處理。
DPTR主要用來存放16位地址,當對64KB外部存儲器尋址時,可作為間址寄存器用。可以用下列兩條傳送指令:MOVXA,@DPTR和MOVX@DPTR,A。在訪問程序存儲器時,DPTR可用作基址寄存器,有一條采用基址+變址尋址方式的指令MOVCA,@A+DPTR,常用於讀取存放在程序存儲器內的表格常數。
2.2顯示的選擇
對於數字顯示電路,通常采用液晶顯示或數碼管顯示。對於一般的段式液晶屏,需要專門的驅動電路,而且液晶顯示作為一種被動顯示,可視性差,不適合遠距離觀看;對於具有驅動電路和單片機接口的液晶顯示模塊(字符或點陣),一般多采用並行接口,對單片機的接口要求較高,占用資源多;另外,AT89C51單片機本身無專門的液晶驅動接口。而數碼管作為一種主動顯示器件,具有亮度高、響應速度快、防潮防濕性能好、溫度特性極性、價格便宜、易於購買等優點,而且有遠距離視覺效果,很適合夜間或是遠距離操作。因此,本設計的顯示電路采用7段數碼管作為顯示介質。
數碼管顯示可以分為靜態顯示和動態顯示兩種。由於本設計需要采用8位數碼管顯示,如果靜態顯示則占用的口線多,硬件電路複雜。所以采用動態顯示。
LED是發光二極管的英文縮寫,LED顯示器是由發光二極管構成的,它在單片機中的應用非常普遍。通常所說的LED顯示器由7個發光二極管組成,其排列形狀。此外,顯示器中還有一個圓點型發光二極管以dp表示,用於小數點表示。通過7個發光二極管亮暗的不同組合,可以顯示多種數字、字母以及其他符號。LED顯示中的發光二極管共有兩種連接方法:
共陽極接法:把發光二極管的陽極連在一起構成公共陽極。使用時公共陽極接+5V。這樣陰極端輸入低電平的段發光二極管就導通點亮,而輸入高電平的則不亮。
共陰極接法:把發光二極管的陰極連在一起構成公共陰極。使用時公共陰極接地。這樣陽極端輸入高電平的段發光二極管就導通點亮,而輸入低電平的則不亮。
控製數碼管驅動級的控製電路有靜態式和動態式兩類:
靜態驅動:它是指每個數碼管都要用一個譯碼器譯碼驅動。
動態驅動:它是所有的數碼管使用一個專門的譯碼驅動器,使各位數碼管逐個輪流顯示,它的掃描速度極快,因此顯示效果與靜態驅動相同。
采用動態數碼管顯示,可以大幅度地降低硬件成本和電源的功耗,因為某一時刻隻有一個數碼管工作,就是所謂的分時顯示,顯示所需要的硬件電路可分時複用。
本次設計選擇的LED顯示器為7SEG-MPX6-CA-BLUE,為六位八段,共陽極接法的顯示器。
按鍵控製計數,分別控製開始計數、停止計數和歸零,功能分配如下所示:
按鍵K1:控製秒表的啟動、停止,並且K2鍵暫停後按K1鍵歸零。
按鍵K2:控製數碼管顯示暫停,繼續。
2.4鎖存器(74ls373)
2.4.1鎖存器的作用
在LED和數碼管顯示方麵,要維持一個數據的顯示,往往要持續的快速的刷新。尤其是在四段八位數碼管等這些要選通的顯示設備上。在人類能夠接受的刷新頻率之內,大概每三十毫秒就要刷新一次。這就大大占用了處理器的處理時間,消耗了處理器的處理能力,還浪費了處理器的功耗。
鎖存器的使用可以大大的緩解處理器在這方麵的壓力。當處理器把數據傳輸到鎖存器並將其鎖存後,鎖存器的輸出引腳便會一直保持數據狀態直到下一次鎖存新的數據為止。這樣在數碼管的顯示內容不變之前,處理器的處理時間和IO引腳便可以釋放。可以看出,處理器處理的時間僅限於顯示內容發生變化的時候,這在整個顯示時間上隻是非常少的一個部分。而處理器在處理完後可以有更多的時間來執行其他的任務。這就是鎖存器在LED和數碼管顯示方麵的作用:節省了寶貴的MCU時間。
2.4.274LS373功能簡介
74LS373是常用的地址鎖存器芯片,它實質是一個是帶三態緩衝輸出的8D觸發器,在單片機係統中為了擴展外部存儲器,通常需要一塊74LS373芯片,本文將介紹74LS373的工作原理,引腳圖,內結構圖、主要參數及在單片機係統中的典型應用電路。
2.4.374LS373工作原理簡述
373為三態輸出的八D透明鎖存器,共有74S373和74LS373兩種線路結構型式,其主要電器特性的典型值如下(不同廠家具體值有差別):373的輸出端O0~O7可直接與總線相連。當三態允許控製端OE為低電平時,O0~O7為正常邏輯狀態,可用來驅動負載或總線。當OE為高電平時,O0~O7呈高阻態,既不驅動總線,也不為總線的負載,但鎖存器內部的邏輯操作不受影響。當鎖存允許端LE為高電平時,O隨數據D而當LE端施密特觸發器的輸入滯後作用,使交流和變。當LE為低電平時,O被鎖存在已建立的數據電平。直流噪聲抗擾度被改善400mV。
引出端符號:
D0~D7數據輸入端
OE三態允許控製端(低電平有效)
LE鎖存允許端
O0~O7輸出端
2.4.474LS373內部邏輯結構
2.4.574LS373的真值表(功能表)
74LS373的真值表。
說明:L——低電平;H——高電平;X——不定態;Q0——建立穩態前Q的電平;G——輸入端,與8031ALE連高電平:暢通無阻低電平:關門鎖存。圖中OE——使能端,接地。
當G=“1”時,74LS373輸出端1Q—8Q與輸入端1D—8D相同;當G為下降沿時,將輸入數據鎖存。
2.4.674LS373引腳(管腳)排列圖:
2.4.774LS373推薦工作條件。
2.4.874ls373在單片機係統中的應用電路圖
在MCS-51單片機係統中,常采用74LS373作為地址鎖存器使用。其中輸入端1D~8D接至單片機的P0口,輸出端提供的是低8位地址,G端接至單片機的地址鎖存允許信號ALE。輸出允許端OE接地,表示輸出三態門一直打開。
1D~8D為8個輸入端。
1Q~8Q為8個輸出端。
G是數據鎖存控製端;當G=1時,鎖存器輸出端同輸入端;當G由“1”變為“0”時,數據輸入鎖存器中。
OE為輸出允許端;當OE=“0”時,三態門打開;當OE=“1”時,三態門關閉,輸出呈高阻狀態。
(1)1腳是輸出使能(OE),是低電平有效,當1腳是高電平時,不管輸入3、4、7、8、13、14、17、18如何,也不管11腳(鎖存控製端,G)如何,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈現高阻狀態(或者叫浮空狀態)。
(2)當1腳是低電平時,隻要11腳(鎖存控製端,G)上出現一個下降沿,輸出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈現輸入腳3、4、7、8、13、14、17、18的狀態。
鎖存端LE由高變低時,輸出端8位信息被鎖存,直到LE端再次有效。當三態門使能信號OE為低電平時,三態門導通,允許Q0~Q7輸出,OE為高電平時,輸出懸空。
2.4.974LS373參數
74LS373參數,
2.5接口電路(8255A)
8255A的內部結構,由三部分電路組成:與CPU的接口電路、內部控製邏輯電路和與外設連接的輸入/輸出接口電路。
D7~D0(databus):三態、雙向數據線,與CPU數據總線連接,用來傳送數據。
CS(chipselect):片選信號線,低電平有效時,芯片被選中。
A1,A0(portaddress):地址線,用來選擇內部端口。