基于PIC12C508的LED顯示電路
1.3 硬件電路設(shè)計
在電路中,兩片74HC595,一片作為段碼驅(qū)動A,另一片作為位碼驅(qū)動B,采用級聯(lián)方式連接。單片機(jī)PIC12C508的GP0,GP1和GP2端口模擬數(shù)據(jù)輸出端和時鐘輸出端。段碼驅(qū)動A的串行數(shù)據(jù)輸入端(SER)和移位寄存器時鐘端 (SRCLK)分別接12C508的GP0和GP1端口,存儲寄存器時鐘端(RCLK)接GP2。位碼驅(qū)動B的SER和SRCLK端分別接段碼驅(qū)動A的級聯(lián)輸出端(Q7')和12C508的GP1端口,RCLK端接GP2。同時,兩片74HC595的E端接地(見圖3)。
在顯示過程中,通過譯碼表確定要顯示字符的段碼值,根據(jù)字符在LED中的顯示位置(假定為最低位)確定其位碼值為FEH(1111 1110)。先將位碼值在SR-CLK脈沖的作用下送入段碼驅(qū)動A;接著取字符段碼值,同樣送入段碼驅(qū)動A。此時,位碼值已通過級聯(lián)端Q7'送入位碼驅(qū)動 B。然后,讓GP2輸出一上升沿,使移位寄存器中的值輸出至存儲寄存器,進(jìn)而從8個并行輸出端輸出。延時2 ms,字符就可在預(yù)定位置顯示。若要求在低二位顯示時,位碼變?yōu)镕DH(1111 1101),再譯得第二個字符的段碼值,重復(fù)上述過程即可。這樣,在主程序中循環(huán)調(diào)用顯示程序,交替發(fā)送段碼和位碼,就可使LED達(dá)到理想的顯示效果。
評論