新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 8051單片機(jī)典型接口電路——串行擴(kuò)展靜態(tài)顯示電路

8051單片機(jī)典型接口電路——串行擴(kuò)展靜態(tài)顯示電路

作者: 時(shí)間:2016-11-14 來(lái)源:網(wǎng)絡(luò) 收藏

電路——靜態(tài)顯示電路如下圖所示:

例1:按上圖編制顯示子程序,顯示字段碼已分別存在32H~30H內(nèi)RAM中。

  程序1:

  DIR2: MOV SCON,#00H ;置串口方式0

  CLR ES ;串口禁中

  SETB P1.0 ;“與”門(mén)開(kāi),允許TXD發(fā)移位脈沖

  MOV SBUF,30H ;串行輸出個(gè)位顯示字段碼

  JNB TI,$ ;等待串行發(fā)送完畢

  CLR TI ;清串行中斷標(biāo)志

  MOV SBUF,31H ;串行輸出十位顯示字段碼

  JNB TI,$ ;等待串行發(fā)送完畢

  CLR TI ;清串行中斷標(biāo)志

  MOV SBUF,32H ;串行輸出百位顯示字段碼

  JNB TI,$ ;等待串行發(fā)送完畢

  CLR TI ;清串行中斷標(biāo)志

  CLR P1.0 ;“與”門(mén)關(guān),禁止TXD發(fā)移位脈沖

  RET ;

例2:根據(jù)上圖編寫(xiě)通過(guò)串行口和74LS164驅(qū)動(dòng)共陽(yáng)LED數(shù)碼管查表顯示的子程序。條件:系統(tǒng)有6個(gè)LED數(shù)碼管,待顯數(shù)據(jù)(00H—09H)已放在35H—30H單元中(分別對(duì)應(yīng)十萬(wàn)位→個(gè)位)

  程序2:

  DSPLY:MOV DPTR, #TABLE ;共陽(yáng)LED數(shù)碼管譯碼表首址

  MOV R0,#30H ;待顯數(shù)據(jù)緩沖區(qū)的個(gè)位地址

  REDO:MOV A, @R0 ;通過(guò)R0實(shí)現(xiàn)寄存器間接尋址

  MOVC A, @A+DPTR ;查表

  MOV SBUF, A ;經(jīng)串行口發(fā)送到74LS164

  JNB TI, $ ;查詢送完一個(gè)字節(jié)的第8位?

  CLR TI ;為下一字節(jié)發(fā)送作準(zhǔn)備

  INC R0 ;R0指向下一個(gè)數(shù)據(jù)緩沖單元

  CJNE R0,#36H,REDO ;判斷是否發(fā)完6個(gè)數(shù)?

  RET ;發(fā)完6個(gè)數(shù)就返回

  TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;共陽(yáng)LED譯碼表

  DB 92H, 82H, 0F8H, 80H,90H



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉