PIC16C5X系列是PIC系列的基礎級產品,現在,介紹該系列的典型芯片PIC16C54。
一、PIC16C54概述:
1)結構圖:
| 程序存儲器EPROM | |
| 定時器 | 數據存儲器RAM |
| CPU | 輸入輸出接口 |
圖1
PIC16C54主要資源:
* 512×12位EPROM
* 25字節通用RAM
* 12根雙向I/O線
* TMR0定時器/計數器
* 上電復位POR電路
* 復位定時器
* 自振式看門狗WDT.
2)指令周期:
PIC16C54采用8位寬的數據總線和12位寬指令總線相互獨立的哈佛(Harvard)結構,與其它一些單片機相比,程序代碼更加緊湊,指令執行速度更快。圖(2) 所示的是 時鐘/指令時序圖

圖2
[NextPage]
如圖2所示,從引腳OSC1輸入或振蕩電路產生的時鐘信號在內部經四分頻產生四個不重疊的時鐘 Q1,Q2,Q3,Q4。程序計數器PC在每個Q1節拍間加1,指令在Q4節拍從程序存儲器中取出并鎖存于指令寄存器中,在下一指令周期被譯碼并執行。因此,在程序執行過程中,取指令與執行指令可重迭進行,即當一條指令被執行時,下一條指令已從程序存儲器中讀出。
3)引腳功能說明

RA0-RA3:可位控4位雙向I/O口,輸入為TTL電平
RB0-RB7:可位控8位雙向I/O口,輸入為TTL電平
TOCKI:定時器/計數器TMR0的外部觸發計數信號輸入端。軟件定義TMR0為計數器時,此引腳上的信號上升沿或下降沿用于計數,可通過軟件設置OPTION寄存器相應的控制位選擇觸發邊沿,當TMR0為內部時鐘源時,該引腳當接VDD或VSS,以減少功耗。
MCLR:當為低電平時,單片機復位
VSS:地端
VDD:電源電壓
OSC1:振蕩信號輸入端
OSC2:振蕩信號輸出端
二.應用實例
|
如圖4所示,PIC16C54芯片處于睡眠狀態,當任一按鍵按下,將喚醒PIC16C54進行鍵盤處理。本例中,按下SW1,點亮綠燈,按下SW2,點亮紅燈。 進入睡眠時,應將鍵掃描輸出線SCAN1,SCAN2置為低電平,進入睡眠后,電容C被充分充電,使MCLR保持高電平。當有按鍵按下時,電容C經電阻R2或R3放電,其兩端電壓迅速下降(下降時間約為1ms),從而使MCLR下拉為低電平,進入復位。喚醒PIC16C54的復位時間(大約為18ms),也應更小于鍵按下的最小時間(大約為50-100ms)。 每次掃描即SCAN1,SCAN2為低電平的時間大約為10ms,當鍵處理程序完成后,程序對鍵盤循環掃描直至鍵釋放,然后將SCAN1,SCNA2輸出置為低電平,單片機重新進入睡眠。圖中所示的電阻R4-R8用來防止電容C放電產生的大電流,保護芯片。
程序清單: ORG 0 |
![]() 圖5 |












