资源描述:
《单片机实验报告六(何俊儒)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、.....一、实验目的和要求:1、掌握单片机与可编程并行接口芯片8255的接口设计方法。2、掌握Proteus软件与Keil软件的使用方法。3、熟悉可编程并行接口芯片8255初始化程序的设计方法。二、设计要求:1、用Proteus软件画出电路原理图,在单片机的外部扩展片外三总线,并通过片外三总线与8255接口。2、在8255PA口或PB口的某一口线上产生周期为500μS的连续方波,接示波器观察波形。3、在8255PC口的PC0-PC3上接4个按键作输入,PC4-PC7上接4个发光二极管作输出,编
2、程实现发光二极管正确指示按键的状态。三、电路原理图:word格式.整理版.....四、实验程序流程框图和程序清单:程序流程图:汇编程序:ORG0000HSTART:LJMPMAINORG000BHLJMPTTC0MAIN:MOVSP,#7FHMOVTMOD,#02HMOVTH0,#06HMOVTL0,#06HLCALLDELAYSETBEAword格式.整理版.....SETBET0SETBTR0MOVDPTR,#0300H;指向控制寄存器MOVA,#81H;PA方式0输出,PB方式0输出,PC
3、高输出,PC低输入MOVX@DPTR,AMOVDPTR,#0200H;指向C口LOOP:MOVXA,@DPTR;读C口SWAPAMOVX@DPTR,A;写C口LJMPLOOPDELAY:MOVR7,#0A7HDL1:MOVR6,#0ABHDL0:MOVR5,#10HDJNZR5,$DJNZR6,DL0DJNZR7,DL1NOPRETORG0050HTTC0:PUSHDPHPUSHDPLPUSHACCCPLCword格式.整理版.....MOVACC.0,CMOVDPTR,#0000H;指向A口M
4、OVX@DPTR,A;写A口POPACCPOPDPLPOPDPHRETIENDC语言程序:#include#include#defineucharunsignedchar#defineuintunsignedint#defineCOM8255XBYTE[0x0300]#definePA8255XBYTE[0x0000]voidmain(){ucharj;TMOD=0x02;TH0=0x06;TL0=0x06;COM8255=0x80;TR0=1;while(
5、1){do{word格式.整理版.....}while(!TF0);TF0=0;PA8255=j;j=!j;}}end;#include#include#defineucharunsignedchar#defineuintunsignedint#defineCOM8255XBYTE[0x0300]#definePC8255XBYTE[0x0200]voidmain(){ucharj;COM8255=0x81;while(1){j=PC8255;j=j<<4;
6、PC8255=j;}}word格式.整理版.....end;五、实验结果:PA.0口线上产生周期500us的连续方波,其中高低电平均为25ms,有1um误差。当按下S1时,D1亮;当按下S2时,D2亮;当按下S3时,D3亮;当按下S4时,D4亮,互不影响。六、实验总结:word格式.整理版.....通过本次实验我掌握了8255上电复位时间较单片机长,需要进行等待。掌握了单片机与可编程并行接口芯片8255的接口设计方法,学会了可编程并行接口芯片8255初始化程序的设计方法,对C口位置位/复位命令有
7、了初步了解。掌握了keil软件模拟外部中断的调试方法,掌握了protuse与keil软件的联调,熟练了单片机系统的硬件和软件设计方法。七、思考题:1、在8255PC口上外接8个发光二极管,利用8255PC口的置位/复位控制字控制其按某种规律变化。电路图:程序流程图:word格式.整理版.....汇编程序:ORG0000HSTART:LJMPMAINMAIN:MOVSP,#7FHLCALLDELAYMOVDPTR,#0300H;指向控制寄存器MOVA,#80H;PA方式0输出,PB方式0输出,PC
8、高输出,PC低输出word格式.整理版.....MOVX@DPTR,AMOVDPTR,#0200H;灭灯CLRAMOVX@DPTR,ALOOP:MOVDPTR,#TABLE;指向表首地址MOVA,R0MOVCA,@A+DPTRRLASETBACC.0MOVDPTR,#0300H;指向控制口MOVX@DPTR,AINCR0LCALLDELAYCJNER0,#0FH,LOOPMOVR0,#00HLJMPLOOPDELAY:MOVR7,#0A7HDL1:MOVR6,#0ABHDL0:MOVR5,#10