標(biāo)題: 單片機(jī)可并行接口8255實(shí)驗(yàn)(含匯編語(yǔ)言和C語(yǔ)言代碼+仿真) [打印本頁(yè)]

作者: WEI9980    時(shí)間: 2018-11-25 10:12
標(biāo)題: 單片機(jī)可并行接口8255實(shí)驗(yàn)(含匯編語(yǔ)言和C語(yǔ)言代碼+仿真)
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)


單片機(jī)源程序如下(匯編語(yǔ)言):
  1. CSEG AT 0000H
  2. LJMP START
  3. CSEG AT 4100H
  4. PA EQU 0CFA0H
  5. PB EQU 0CFA1H
  6. PCTL EQU 0CFA3H
  7. START: MOV DPTR,#PCTL ;置8255A控制字,ABC口均工作,方式0,AC口輸出,B口輸入
  8.        MOV A,#082
  9.        MOVX @DPTR,A
  10.        LOOP: MOV DPTR,#PB ;從B口讀入開關(guān)狀態(tài)值
  11.        MOVX A,@DPTR
  12.        MOV DPTR,#PA ;從A口將狀態(tài)值輸出顯示
  13.        MOVX @DPTR,A
  14.        MOV R7,#10H ;延時(shí)
  15. DELO: MOV R6,DEL1
  16. DEL1: DJNZ R6,DEL1
  17.       DJNZ R7,DEL0
  18.       JMP LOOP
  19.       END
復(fù)制代碼

c語(yǔ)言:
  1. #include<absacc.h>
  2. #define PORTC XBYTE[0Xfefe]
  3. #define CONTROL XBYTE[0Xfeff]
  4. void DELAYLONG(void);
  5. void DELAYSHORT(void);
  6. void main(void)
  7. {
  8. CONTROL=0x80;
  9. PORTC=0XFF;
  10. while(1)
  11. {
  12. PORTC=0Xde;
  13. DELAYLONG();
  14. PORTC=0Xee;
  15. DELAYSHORT();
  16. PORTC=0Xef;
  17. DELAYSHORT();
  18. PORTC=0Xee;
  19. DELAYSHORT();
  20. PORTC=0Xef;
  21. DELAYSHORT();
  22. PORTC=0Xee;
  23. DELAYSHORT();
  24. PORTC=0Xef;
  25. DELAYSHORT();

  26. PORTC=0Xf3;
  27. DELAYLONG();
  28. PORTC=0Xf5;
  29. DELAYSHORT();
  30. PORTC=0Xf7;
  31. DELAYSHORT();
  32. PORTC=0Xf5;
  33. DELAYSHORT();
  34. PORTC=0Xf7;
  35. DELAYSHORT();
  36. PORTC=0Xf5;
  37. DELAYSHORT();
  38. PORTC=0Xf7;
  39. DELAYSHORT();
  40. }
  41. }
  42.                                          
  43. void DELAYLONG(void)
  44. {
  45. unsigned i;
  46. for(i=0;i<30000;i++);
  47. }
復(fù)制代碼


所有資料51hei提供下載:
23.zip (90.21 KB, 下載次數(shù): 47)



作者: 筱豆先生    時(shí)間: 2018-12-24 14:46
仿真不走!
作者: bb2018620    時(shí)間: 2019-1-27 17:52
程序有問(wèn)題
作者: stephenwen    時(shí)間: 2019-6-6 21:20
感謝樓主,但是需要測(cè)試看看
作者: qee654    時(shí)間: 2020-12-4 20:50
程序和電路圖都有點(diǎn)問(wèn)題,需要修改一下才能正常運(yùn)行




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1