




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、江西航空職業技術學院江西航空職業技術學院畢業設計說明書畢業設計說明書(論文)(論文)課題名稱 基于單片機控制文字的顯示 航空電子設備維修 專業 121333 班學生姓名 傅嘉皓_ 學號 121333021指導老師 易麗萍 技術職稱 高級講師2015 年 4 月 9 日江西航空職業技術學院江西航空職業技術學院畢業設計畢業設計(論文)任務書(論文)任務書學生姓名:_傅嘉皓_ 班級:_121333_1.畢業設計(論文)題目:_基于單片機控制文字的顯示 _2.畢業設計(論文)使用的原始資料數據及設計技術要求:各種資料來源于書本和互聯網上查找的資料,設計的要求是利用單片機的控制系統,是文字在 LED 上
2、清晰的顯示出來。3.畢業設計(論文)工作內容及完成時間: 以 MCS-51 系列的單片機為核心器件,組成一個點陣式漢字顯示屏。而顯示屏由一塊 16*16LED 點陣顯示器組成,可以依次顯示四個漢字“歡迎光臨”。而且可以通過編程能夠隨時對漢字進行修改、調整。 日期:自_2015_年_4_月_9_日至_2015_年_4_月_10_日指導老師評語:_ 指導老師: 易麗萍 系主任: 周延 目目 錄錄1 1 引言引言 .1 1.11.1 目的及意義目的及意義 .12 2 總體設計的原理與實現總體設計的原理與實現 .2 2.12.1 方案論證方案論證 .2 2.1.1 漢字顯示分析與論證 .2 2.1.2
3、 時間顯示分析與論證 .3 2.22.2 電路原理的總體設計電路原理的總體設計 .3 2.2.1 漢字顯示的工作原理 .3 2.2.2 系統結構圖 .43 3 硬件部分的設計硬件部分的設計 .5 3.13.1 硬件組成部分硬件組成部分 .5 3.23.2 相關芯片介紹相關芯片介紹 .6 3.2.1 AT89C51 的功能及說明 .6 3.33.3 硬件各部分設計硬件各部分設計 .7 3.3.1 單片機系統及外圍電路 .7 3.3.2 行驅動電路 .7 3.3.3 列驅動電路 .8 3.3.4 LED 點陣顯示電路 .104 4 軟件部分的設計軟件部分的設計 .13 4.14.1 軟件總體設計軟
4、件總體設計 .13 4.24.2 軟件各模塊設計軟件各模塊設計 .14 4.2.1 中斷控制程序 .14 4.2.2 串行中斷程程序 .14 4.2.3 程序清單 .175 5 系統調試系統調試 .21 5.15.1 常見硬件故障調試常見硬件故障調試 .21結束結束 .20 致謝致謝 .21 1 1 引言引言單片機自 20 世紀 70 年代問世,經歷了 SCM、MCU、SOC 三大階段。問世以來以極其高的性能價格比受到人們的重視和關注,所以應用很廣,發展很快。單片機的特點是體積小、集成度高、重量輕、抗干擾能力強,對環境要求不高,價格低廉,可靠性高,靈活性好,開發較為容易。本系統是以 AT89C
5、51 單片機為核心,采用 LED 點陣屏來實現漢字顯示系統。使用該芯片控制一個列驅動器74LS154 和兩個行驅動器 74HC595 來驅 16*16 點陣屏顯示漢字。采用 16*16 點陣屏一次性只能顯示一個符合國家標準的漢字,本設計實現了漢字的靜止、滾動等顯示方式。本設計基于單片機 AT89C51 講述了 16*16 LED 漢字點陣顯示的基本原理、硬件組成與程序設計等基本環節的相關技術。1.11.1 目的及意義目的及意義 隨著信息社會的到來,單片機廣泛的應用于工業控制系統、數據采集系統、自動測試系統、聲學領域和微機技術等廣闊的領域。而利用單片機對語音芯片進行控制可以達到語音報站的效果。因
6、此,了解并掌握單片機智能控制技術工作原理及特性是非常重要的。在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用 LED 點陣顯示圖形和漢字。LED 行業已成為一個快速發展的新興產業,市場空間巨大,前景廣闊。隨著信息產業的高速發展,LED 顯示作為信息傳播的一種重要手段,已廣泛應用于室內外需要進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅客引導信息、公交車輛報站系統、證券與銀行信息顯示、餐館報價信息顯示、高速公路可變情報板、體育場館比賽轉播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED 顯示已成為城市亮化、現代化和信息化社會的一個重要標志。 LE
7、D 電子顯示屏是隨著計算機及相關的微電子光電子技術的迅猛發展而形成的一種新型信息顯示媒體。它利用發光二極管構成的點陣模塊或像素單元組成可變面積的顯示屏幕,它具有高清晰度、色彩鮮艷、視角大、工作穩定、壽命長、功耗低等優點。由于采用單元模塊化結構,屏體大小可按用戶要求靈活拼制;它的超高亮度,使它在戶內外顯示中具有不可替代的作用。以可靠性高、使用壽命長、環境適應能力強、性能價格比高、使用成本低等特點,迅速成長為平板顯示的主流產品,在信息顯示領域得到了廣泛的應用。廣泛應用到軍事、車站、賓館、2體育、新聞、金融、證券、廣告以及交通運輸等許多行業。目前 LED 顯示屏作為新一代的信息傳播媒體,本設計的 L
8、ED 點陣顯示系統自帶字庫。其顯示和動態效果(主要是顯示內容的滾動)的實現主要依靠硬件掃描驅動,該方法方便,且易于實現。2 2 總體設計的原理與實現總體設計的原理與實現2.12.1 方案論證方案論證根據此設計要求,我們認為此設計屬于多輸出量的復雜程序控制問題,結合實際情況,我們擬定了以下兩種方案并進行了綜合的比較論證。方案一:采用組合數字電路實現核心控制的方案 采用組合電路實現控制和處理功能,具有速度快,資源豐富的優點,但在實現多路控制和附加功能上受到種種限制,且功能越多電路越復雜,給電路的設計制作帶來諸多不便,另外設計制作費用高,功能固定,不能擴展,因此該方案不被采用。方案二:采用單片機為核
9、心控制的方案采用單片機作為控制和處理的核心,由于單片機功能的高度集成,能達到多任務的處理,使得電路的復雜程度大大降低,尤其在實現漢字顯示的自動控制和時間顯示、調整上顯現出獨特的優勢。同時能使設計費用降低許多,綜合考慮以上實際情況,采用本方案。2.1.12.1.1 漢字顯示分析與論證漢字顯示分析與論證考慮到元器件的易購性和價格低廉,采用由 256 個發光二極管組成的 16*16漢字點陣陣列作為顯示系統。在顯示驅動電路中我們擬訂了兩種設計方案:方案一:采用靜態顯示的方案 使其列選信號始終為低電平,保證列選始終選中,此方案能使各個漢字呈現出穩定的顯示,但系統占用資源多,使 AT89C51 的 CPU
10、 的使用率降低,不能發揮主處理器應有的功能,因此不采用此方案。方案二:采用動態顯示的方案 動態顯示,即使列選線按已編寫好的方案有序出現低電平,點亮該列上的二極管,由于人眼的視覺暫留,在 20ms 時間內,人的眼睛會認為仍呈現出穩定顯3示,因此結合實際,采用譯碼器為列選線循環出現低電平提供有效的保證,故此漢字顯示模塊采用本方案。2.1.22.1.2 時間顯示分析與論證時間顯示分析與論證 對時間的顯示采用數碼管顯示,同樣也有兩種設計方案方案一:采用靜態顯示的方案 使其位選信號始終為低電平,保證位選始終選中,從而使各個數碼管始終點亮,其特點等同于漢字靜態顯示的特點,因此,不采用此方案。方案二:采用動
11、態顯示的方案采用移位循環使位選線循環出現低電平,從而使各個數碼管依次點亮,此方案能提高 CPU 的效率,其特點等同于漢字動態顯示,顯現出動態顯示的諸多優點,所以此模塊采用本方案。 2.22.2 電路原理的總體設計電路原理的總體設計2.2.12.2.1 漢字顯示的工作原理漢字顯示的工作原理AT89C51 是一種帶 4 kB 閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低電壓、高性能 CMOS 型 8 位微處理器,俗稱單片機。該器件采用 ATMEL 高密度非易失存儲器制造技術制造,與工業標準的 MCS-
12、51 指令集和輸出管腳相兼容。由于將多功能 8 位 CPU 和閃爍存儲器組合在單個芯片中,能夠進行 1 000 次寫擦循環,數據保留時間為 10 年。他是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,在智能化電子設計與制作過程中經常用到 AT89C51 芯片。時鐘電路由 AT89C51 的 18,19 腳的時鐘端(XTALl 及 XTAL2)以及 12 MHz 晶振 X1、電容 C2,C3 組成,采用片內振蕩方式。復位電路采用簡易的上電復位電路,主要由電阻 R1,R2,電容 C1,開關 K1組成,分別接至 AT89C51 的 RST 復位輸入端。 4圖圖 2-1
13、電路原理圖電路原理圖LED 點陣顯示屏采用 1616 共 256 個象素的點陣。我們把行列總線接在單片機的 IO 口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將 LED 點陣的行列端口全部直接接入 89S51 單片機,則需要使用 32條 IO 口,這樣會造成 IO 資源的耗盡,系統也再無擴充的余地。因此,我們在實際應用中只是將 LED 點陣的 16 條行線直接接在 P2 口和 P3 口,至于列選掃描信號則是由 4-16 線譯碼器 74HC154 來選擇控制,這樣一來列選控制只使用了單片機的 4 個 IO 口,節約了很多 IO 資源,為單片機系統擴充使用功能提供了條件。
14、2.2.22.2.2 系統結構圖系統結構圖如圖 2-2 可以看出系統有以下幾部分:電源電路、復位電路、晶振電路、單片機、按鍵電路、行驅動、列驅動電路以及點陣屏構成。5圖圖 2-22-2 系統總體設計框圖系統總體設計框圖如圖 2-2 可以看出系統有以下幾部分:電源電路、復位電路、晶振電路、單片機、按鍵電路、行驅動、列驅動電路以及點陣屏構成。3 3 硬件部分的設計硬件部分的設計3.13.1 硬件組成部分硬件組成部分硬件電路大致上可分為單片機系統及外圍電路、列驅動電路和行驅動電路 3部分。單片機采用 89C51 及其兼容系列,采用 24M 晶振以獲得較高的屏幕刷新率,使顯示更穩定。單片機的串口與列驅
15、動相連,用來送顯示數據。P1 口低 4 位與行驅動相連,送行選信號。P1.5P1.7 口則用來發送控制信號。P0 口和 P2 口可在必要時擴展 ROM 或 RAM,以顯示更多的文字。列驅動電路由 74HC595 構成,它具有一個 8 位串入并出的移位寄存器和一個8 位輸出鎖存器,而且移位寄存器和輸出鎖存器的控制是各自獨立的,可以實現在顯示本行各列數據的同時,傳送下一行的列數據,達到重疊處理的目的。P1 口低四位輸出的行號經 4 線-16 線譯碼器 74LS154 譯碼后生成 16 行選通信號線,再經過行驅動器驅動相應的行線。1 條行線上要帶動 16 列的 LED 進行顯示,按每一 LED 器件
16、 20mA 電流計算,16 個 LED 同時發光時,需要 320mA 電流,選用三極管 8550 作為驅動管可以滿足要求。下面我就先對硬件電路設計中使用的主要器件的技術資料進行相關的介紹。讓我們對硬件進行整體的了解。63.23.2 相關芯片介紹相關芯片介紹3.2.13.2.1 AT89C51AT89C51 的功能及說明的功能及說明(1). AT89C51 的主要性能有:與 MCS-51 兼容;4K 字節可編程閃爍存儲器 ;壽命長:1000 寫/擦循環; 數據保留時間長:10 年;全靜態工作:0Hz-24Hz;三級程序存儲器鎖存;128*8 位內部 RAM;32 可編程 I/O 線;兩個 16
17、位定時器/計數器 1;5 個中斷源 ;可編程串行通道;低功耗的閑置和掉電模式;片內振蕩器和時鐘電路(2)管腳說明:圖圖 3-13-1 AT89C51AT89C51 的引腳的引腳VCC:供電電壓。GND:接地。P0 口:P0 口為一個 8 位漏級開路雙向 I/O 口P1 口:P1 口是一個內部提供上拉電阻的 8 位雙向 I/O 口P2 口:P2 口為一個內部上拉電阻的 8 位雙向 I/O 口 P3 口:P3 口管腳是 8 個帶內部上拉電阻的雙向 I/O 口7P3 口也可作為 AT89C51 的一些特殊功能口,如下表所示:P3.0 RXD(串行輸入口)P3.1 TXD(串行輸出口)P3.2 /IN
18、T0(外部中斷 0)P3.3 /INT1(外部中斷 1)P3.4 T0(記時器 0 外部輸入)P3.5 T1(記時器 1 外部輸入)P3.6 /WR(外部數據存儲器寫選通)P3.7 /RD(外部數據存儲器讀選通)RST:復位輸入。當振蕩器復位器件時,要保持 RST 腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節PSEN:外部程序存儲器的選通信號。EA/VPP:當 EA 端保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器,始終選用外部程序存儲器。當 EA 端保持高電平時,首先選中內部程序存儲
19、器,當存儲容量超過內部程序存儲空間時,如果有外擴程序存儲器則自動調至外部存儲空間。注意加密方式 1 時,EA 將內部鎖定為RESET;在 FLASH 編程期間,此引腳也用于施加 12V 編程電源(VPP)。 XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。3.33.3 硬件硬件各部分設計各部分設計3.3.13.3.1 單片機系統及外圍電路單片機系統及外圍電路本系統由 AT89C51 構成單片機最小應用系統同時配有 110592 MHz 晶振和按鍵復位電路等。系統外擴的一片 Flash 存儲器,可用來存儲由 PC 機串口送來的點陣信息(通過軟件將圖像或
20、文字轉 換成與 LED 顯示屏的像素相對應的點陣信息)。該 Flash 存儲器是一種非易失性存儲器,它在供電電源關閉后仍能保持片8內信息。另外,采用 MAX232 可完成 RS232 與 TTL 電平的轉換,以便使 PC 機與單片機交換信息。3.3.23.3.2 行驅動電路行驅動電路行驅動電路如圖 3-2 所示,P1 口低四位輸出的行號經 4 線-16 線譯碼器 74LS154譯碼后生成 16 行選通信號線,再經過行驅動器驅動相應的行線。1 條行線上要帶動 16 列的 LED 進行顯示,按每一 LED 器件 20mA 電流計算,16 個 LED 同時發光時,需要 320mA 電流,選用三極管
21、8550 作為驅動管可以滿足要求。圖圖 3-23-2 行驅動電路原理圖行驅動電路原理圖3.3.33.3.3 列驅動電路列驅動電路9圖圖 3-33-3 列驅動電路原理圖列驅動電路原理圖列輸入驅動由八個 8 位串行輸入,串行或并行輸出三態移位寄存器 74HC595實現。該芯片具有串行輸入、并行輸出兩個獨立的時鐘信號。輸入數據在串行移位時鐘 SRCLK 上升沿由串行輸入端 SER 輸入到芯片內部串行移位寄存器中,同時,SQH 端串行輸出;在鎖存時鐘信號 RCLK 上升沿到來時,芯片將內部串行移位寄存器 8 位數據并行輸出。正常工作時,應將復位端 SRCLR 與使能端 RCLK 分別接高電平、低電平。
22、單片機輸出信號直接與串入并出移位寄存器 74HC595 的鎖存器輸出端連接。10系統總電路圖如下所示: 圖 3-4 系統總電路圖它的輸入側有 8 個串行移位寄存器,每個移位寄存器的輸出都連接一個輸出鎖存器。引腳 SI 是串行數據的輸入端。引腳 SCK 是移位寄存器的移位時鐘脈沖,在其上升沿將發生移位,并將 SI 的下一個數據打入最低位。移位后的各位信號出現在各移位寄存器的輸出端,也就是輸出寄存器的輸入端。RCK 是輸出鎖存器的打入信號,器上升沿將移位寄存器的輸出打入輸出鎖存器。引腳 G 是輸出三態門的開放信號,只有當其為低時鎖存器的輸出才開放,否則為高阻態。SCLR信號是移位寄存器的清 0 輸
23、入端,當其為低時移位寄存器的輸出全為 O。由于SCK 和 RCK 兩個信號是相互獨立的,所以能夠做到輸入串行移位與輸出鎖存器互不干擾。芯片的輸出端為 QA-QH,最高位 QH 可作為多片 74HC595 級聯應用時,向上一級的級聯輸出。但因 QH 受輸出鎖存器打入控制,所以還從輸出鎖存器前引出了 QH,作為與移位寄存器完全同步的級聯輸出。113.3.3.3.4 4 LEDLED 點陣顯示電路點陣顯示電路顯示數據傳輸采用串行傳輸的方法,控制電路可以只用一根信號線,將列數據一位一位傳往列驅動器,在硬件方面無疑是十分經濟的。但串行傳輸過程較長,數據按順序一位一位地輸出給列驅動器,只有當一行的各列數據
24、都已傳輸到位之后,這一行的各列才能并行地進行顯示。對于串行傳輸方式來說,列數據準備時間可能相當長,在行掃描周期確定的情況下,留給行顯示的時間就太少了,以致影響到 LED 的亮度。基于串行傳輸中列數據準備和列數據顯示的時間矛盾,可以采用重疊處理的方法。即在顯示本行各列數據的同時,傳送下一行的列數據。為了達到重疊處理的方的,列數據的顯示就需要有鎖存功能。對于列數據準備來說,它應能實現串入并出的移位功能。這樣,本行已準備好的數據打入并行鎖存器進行顯示時,串行移位寄存器就可以準備下一行的列數據,而不會影響本行的顯示。經過上述分析,可以歸納出列驅動器電路應具備的主要功能:對數據準備來說,它應能實現串入并
25、出的移位功能;對數據顯示來說,應具有并行鎖存的功能。這樣,本行已準備好的數據打人并行鎖存器進行顯示時,串并移位寄存器就可以準備下一行的列數據,而不會影響本行的顯示。同時為了 LED 顯示的亮度,采用8 行掃描,每個漢字上面有 2 個 16 列驅動器驅動,列驅動器的位置應該是在第 1行跟第 9 行,即每個 16*16 的漢字點陣是有 4 個 8*8 的點陣組成的陣列,掃描的時候同時掃描顯示第 1 行跟第 9 行,第二次掃描的時候顯示第 2 行跟第 10 行,以此類推,最后顯示第 8 行跟第 16 行,如圖 3-4 所示:12第 1 行全亮 | 第 2 行不亮 | 第 3 行不亮 | 第 4 行不
26、亮 | 第 5 行不亮 | 第 6 行不亮 | 第 7 行不亮 | 第 8 行不亮 | 第 9 行全亮 | 第 10 行不亮 | 第 11 行不亮 | 第 12 行不亮 | 第 13 行不亮 | 第 14 行不亮 | 第 15 行不亮 | 第 16 行不亮 | 圖圖 3-43-4 LEDLED 點陣顯示電路點陣顯示電路共陽型 LED 點陣單元(8X8)的結構示意圖如圖 3-5,由行輸入高電平點亮。13 圖圖 3-53-5 LEDLED 點陣單元結構示意圖點陣單元結構示意圖4 4 軟件部分的設計軟件部分的設計4.14.1 軟件總體設計軟件總體設計程序中需要使用兩個計時器,一個用于掃描定時,定時時
27、間到時輸出 1 幀顯示數據,另一個用于循環顯示 7 個漢字,定時時間到時調整字模數據起點,從而改變顯示字符。第二個計時器可以在第一個定時中斷中設置一個計數器,達到預定值后調整字模數據起點。流程圖如下所示:14 圖圖 4-14-1 主程序流程圖主程序流程圖 圖圖 4-24-2 顯示驅動程序流程圖顯示驅動程序流程圖 4.24.2 軟件各模塊設計軟件各模塊設計4.2.14.2.1 中斷控制程序中斷控制程序任務:啟動下一幀數據的發送(發送本幀字模數據的第一個字節) 為每個字符顯示時間(ZFJS)計數,當達到預定值時將顯示字符編號(ZF)加 115.NNYY定時中斷入口保護現場恢復計數初值取字模數據發送
28、字模數據調整字模的指針字符顯示計時時間到?字符號+1字符號*7字符號=0恢復現場返回CTC: PUSH ACC PUSH B MOV TH0, #CTH MOV TL0, #CTL CLR A MOVC A, A+DPTR INC DPTR MOV SBUF, A INC ZFJS MOV A, ZFJS CJNE A, #YS, CTCR MOV ZFJS, #0 INC AF MOV A, ZF CJNE A, #7, CTCR MOV ZF, #0CTCR:POP B POP ACC RETI圖圖 4-34-3 定時計數器定時中斷程序框圖與程序定時計數器定時中斷程序框圖與程序4.2.24
29、.2.2 串行中斷程程序串行中斷程程序任務:發送的字節數(JXJS)為 02 時,繼續發送字模數據,每次發送后發送字節數(JZJS)加 1。 發送的字節數(JZJS)為 3 時,4 字節的字模數據已發送完,發送掃描碼(SMM),發送字節數再加 1。 發送的字節數(JZJS)為 4 時,本幀數據全部發送完成,由 P3.2 產生一個 RCLK 脈沖,使移位寄存器鎖存數據,同時檢查一個字符的全部 8 行數據是16否都發送完成,若是則調整字模數據指針(DPTR)指向本字符字模數據的起點。NY串行中斷入口保護現場取發送字節數字節數4?字符號8?掃描行0調整字模指針返回SHUCHU: PUSH ACCCL
30、R TIMOV A,JZJSCJNE A,#4,SHUCHU1CLR RCLKMOV JZJS,#0INC SMJSMOV A,SMJSSETB RCLKCJNE A,#8,SCRMOV SMJS,#0MOV A,ZFMOV B,#32MUL ABMOV DPTR,#XUADD A,DPLMOV DPL,AMOV A,BADDC A,DPHMOV DPH,ASJMP SCRSHUCHU1:CJNE A,#3,SHUCHU2MOV A,SMMMOV SBUF,ARL AMOV SMM,ASJMP SHUCHU3SHUCHU2: CLR AMOVC A,A+DPTRMOV SBUF,AINC DP
31、TRSHUCHU3: INC JZJSSCR: POP ACCRETI 取掃描行數字節計數器0發送一個鎖存脈沖字符號=0恢復現場字節數3?取掃描碼輸出掃描碼掃描移位取字模數據發送字模數據字模指針+1YNYYN圖圖 4-4 串行中斷程序框圖與程序串行中斷程序框圖與程序17注意:串行中斷首先是在定時中斷中向串行口發送了第一字節,串行口發送完成后產生的。串行中斷程序繼續向串行口發送數據,每當串行口發送完成后繼續產生中斷。當字節計數器達到 4 后,本幀數據發送完畢,不再向串行口發送數據,因此也就不會再有串行中斷產生,直到定時計數器中斷發起下一幀數據的傳送。定時中斷發送一字節字模數據串行中斷發送第二字節
32、字模數據串行中斷發送第三字節字模數據串行中斷發送第四字節字模數據中行中斷發送掃描碼串行中斷不再發送串行數據串行口發送 1 字節串行口發送 1 字節串行口發送 1 字節串行口發送 1 字節串行口發送 1 字節串行口發送 1 字節 圖圖 4-54-5 一幀數據的發送過程示意圖一幀數據的發送過程示意圖4.2.34.2.3 程序程序清單清單由于顯示工作都安排在中斷中完成,主程序的工作只是對定時計數器控制寄存器,串行口控制寄存器進行設置,同時開放定時計數器 0 和串行中斷,啟動定時計數器 0漢字顯示ORG 0000HLJMP MAINORG 000BH ; 定時計數器 0 中斷程序矢量地址SJMP CT
33、C ORG 0023H ;串行中斷程序矢量地址SJMP SHUCHU18主程序MAIN: MOV TMOD,#01H ;設置定時計數器 0 為工作模式 1MOV TH0,#CTH ;設置計數器初值MOV TL0,#CTLMOV SCON,#00H ;設置串行口工作模式MOV SMM,#01 ;掃描碼初值MOV SMJS,#0 ;掃描行計數初值MOV JZJS,#0 ;發送字節計數初值MOV DPTR,#XU ;字模表起點MOV ZF,#0 ;先顯示第 0 個字符SETB TR0 ;啟動定時計數器 0SETB ET0 ;開定時計數器 0 中斷SETB ES ;開串行口中斷SETB EA ;開總中
34、斷定時計數器 0 中斷程序入口CTC: PUSH ACC ;保護現場PUSH BMOV TH0,#CTH ;重置計數器初值MOV TL0,#CTLCLR A ;取字模數據MOVC A,A+DPTRINC DPTR ;字模指針加 1MOV SBUF,A ;發送字模數據INC ZFJS ;字符顯示時間計數器加 1 MOV A,ZFJS ;判斷字符顯示時間是否達到預定值(YS)CJNE A,#YS,CTCR19 MOV ZFJS,#0 ;達到字符顯示時間,字符顯示時間計數器=0INC ZF ;字符編號加 1MOV A,ZF ;字符編號=7,說明 7 個字符已顯示完CJNE A,#12,CTCRMOV
35、 ZF,#0 ;從頭開始顯示CTCR: POP B ;恢復現場POP ACCRETI ;中斷返回串行口中斷服務程序SHUCHU: PUSH ACC ;保護現場CLR TI ;清 TI 標志MOV A,JZJS ;取發送字節計數CJNE A,#4,SHUCHU1 ;本幀未發送完,轉 SHUCHU1CLR RCLK ;本幀發送完,輸出一個鎖存脈沖下降沿MOV JZJS,#0 ;字節計數器清零INC SMJS ;掃描行加 1MOV A,SMJS ;檢查 8 行是否掃描完SETB RCLK ;輸出一個鎖存脈沖上升沿CJNE A,#8,SCR ;未掃描完返回MOV SMJS,#0 ;已掃描完,恢復掃描計
36、數MOV A,ZF ;根據字符計數器調整數據指針 ZFMOV B,#32 ;每個漢字字模為 32 字節MUL ABMOV DPTR,#XUADD A,DPL ;調整指針MOV DPL,AMOV A,B20ADDC A,DPHMOV DPH,ASJMP SCRSHUCHU1: CJNE A,#3,SHUCHU2 ;本幀字模未發送完,輸出掃描碼MOV A,SMM ;本幀字模已發送完,取出掃描碼MOV SBUF,A ;發送掃描碼RL A ;掃描碼移位MOV SMM,ASJMP SHUCHU3SHUCHU2: CLR A ;取字模數據MOVC A,A+DPTRMOV SBUF,A ;發送INC DPTR ;指針指向下一位數據SHUCHU3: INC JZJS ;字節計數器加 1SCR: POP ACC ;恢復現場RETI ;中斷返回變量,常量,字模數據設置SMJS DATA 22H ;掃描計數器JZJS DATA 23H ;輸出字節計數器SMM DATA 24H ;掃描碼ZFJS DATA 25H ;每個字符顯示時間計數器ZF DATA 26H ;當前輸出字符編號RCLK BIT P3.2 ;移位寄存器鎖存端連接在 P3.2YS EQU 200 ;字符顯示時間計數CT EQU 65535-1000*3;12MHz ; 主頻時定時器初值計算公
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編版五年級語文上冊教學工作計劃
- 重癥監護室導管維護與感染防控措施
- 企業人力資源優化計劃
- 航空領域廢舊物資管理及處理流程
- 沿街綠化冬季施工細則措施
- 小學一年級下冊語文教案設計計劃
- 動物實驗倫理培訓實習報告范文
- 某年度稀有稀土金屬壓延加工材競爭策略分析報告
- 非營利組織遺產遺囑范文
- 2025-2030中國抗阻滯劑行業市場現狀供需分析及投資評估規劃分析研究報告
- 國開2025年《中華民族共同體概論》形考作業1-4終考答案
- 2025貴州省專業技術人員繼續教育公需科目考試題庫(2025公需課課程)
- 醫院藥物臨床試驗倫理委員會倫理審查申請及受理表
- 2021譯林版高中英語選擇性必修三課文翻譯
- 智能網聯汽車線控技術課件
- 鄭州大學ppt模板
- (完整版)ECRS培訓課件
- 第1本書出體旅程journeys out of the body精教版2003版
- 塑料制品事業部獨立核算體系文件
- 《鴻門宴》話劇劇本
- 灸法操作規程完整
評論
0/150
提交評論