單片機來電顯示器的設計與實現
2 軟件設計實現
主叫號碼顯示器軟件使用匯編語言編寫,配合硬件完成主叫信息接收、查閱及刪除功能。匯編語言程序主要由主程序、串行中斷處理程序、定時器中斷處理程序組成。
上電時,MCU進入主程序中運行對串口寄存器設置接收波特率等參數,液晶顯示模塊LCD初始化并顯示新呼叫總個數,以0.2s的定時長度設置定時器參數,對有關程序變量初始化,然后進入掉電狀態。主程序框圖如圖4所示。
圖5是串行口中斷接收處理程序。串行口中斷到來時,MCU將收的串行數據暫存在內部RAM中。若收到的信息有誤碼,則在LCD上顯示“ERROR”;若交換機發來的信息格式為“日期+時間+P+..”,則在LCD上顯示“PRIVATE”,表示主叫用戶要求本次呼叫不向被叫用戶傳送其號碼;若交換機發來的信息格式為“日期+時間+O+..”,LCD上將顯示“OUT OF AREA”,表示主叫用戶的本次呼叫超出來電顯示服務范圍。
若接收的主叫信息正常,則按接收的先后順序依次存儲于EEPROM中。當主叫識別信息有重復時,最新呼叫將覆蓋前次呼叫;當存儲空間全部存滿后,按“先進先出”的原則自動刪除最先存儲的主叫信息。

結束語
來電顯示功能目前已獲得普遍使用。本文介紹的來電顯示器在進行軟、硬設計時充分利用MCU的3種工作狀態,盡可能地降低了功耗;配以EEPROM作為存儲器件,使得該產品與同類產品相比使用期限有較大的增加(采用電池供電時)。
評論