80c51系統(tǒng)單片機的顯示鍵盤接口電路是多種多樣,常用的顯示鍵盤接口芯片是8155?,F(xiàn)介紹8155作為顯示鍵盤接口的電路,如圖8-17所示。
1.80c51與8155的連接
80c51與8155接連方法如圖8-17所示,與8.6節(jié)8155并行接口中連接方法相同。由8.6節(jié)可知,按圖8-17所示連接方法,8155命令寄存器與a、b、c口地址分別為ff20h~ff25h。
2.顯示電路
用8155的pa0~pa7通過反相放大器7407與八段管的8個引腳a~h連接,因此,8155pa口為字形口,其地址為ff21h。用8155的pb0~pb7通過反相放大器75452與6個八段管的共陰極dg0~dg5連接。因此,8155pb口為位選口,其地址為ff22h。
單片機采用6或8個八段顯示管作為其顯示器,有關八段管的工作原理及顯示電路在第四章的4.5節(jié)介紹過。在4.5節(jié)中采用74ls373鎖存器作為字形接口與位形接口。在本節(jié)中將使用8155的pa與pb口作為字形口與位形口。
3.顯示驅動程序
(1)基本思想
將要顯示的6個數(shù)存放在顯示緩沖區(qū)79h~7eh單元中,將0~f這16個數(shù)的字形碼存放在首地址為code的程序存儲區(qū)。從顯示緩沖區(qū)取出要顯示數(shù)送入累加器a,通過變址尋址指令movc a,@a+pc將顯示數(shù)轉換成對應的字形碼。再將字形碼由a送入字形口pa,位形碼送入位選口pb,即可顯示緩沖區(qū)中對應的數(shù)字。采用動態(tài)掃描法,則可將79h~7eh中6個數(shù)在6個八段管dg0~dg5上顯示出來。
(2)顯示子程序流程圖如圖8-18
(3)顯示子程序
程序存儲區(qū)中字形表:
code: db 0c0h,0f9h,0a4h,0b0h,99h ;0~4的字形碼
db 92h,82h,0f8h,80h,90h,88h ;5~a的字形碼
db 83h,0c6h,0a1h,86h,8eh;b~f的字形碼
end