《P33口输入 P1口输出.docx》由会员分享,可在线阅读,更多相关《P33口输入 P1口输出.docx(4页珍藏版)》请在三一办公上搜索。
1、P33口输入 P1口输出上海电力学院 单片机实验报告 题 目: P3.3口输入 P1口输出 院 系: 电自学院 班 级: 学生姓名: 学号: 指导教师: 年月日 一、 实验目的 1、掌握单片机P3口、P1口简单使用。 2、学习延时程序的编写和使用。 二、 实验内容 1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一输出。 2、P1口做输出口,编写程序,使P1口接的8个发光二极管L0L7按16进制加一的方式点亮发光二极管。 三、 实验说明 1、P1口是准双向口,它作为输出口时与一般的双向口使用方法相同,由准双向口结构可知:当P1口作为输入口时,必须先对它置高电平,使内部MO
2、S管截止,因内部上拉电阻是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据不正确。 2、延时子程序的延时计算。 对于延时的程序 DELAY :MOV R6,#00H DELAY1:MOV R7,#80H DJNZ R7,$ DJNZ R6,DELAY1 查指令表可知MOV、DJNZ指令均需用两个机器周期,而一个机器周期时间长度为12/ 6.0MHZ,所以该段指令执行时间为: 五、 实验程序框图 主程序: 开 始 P3.3为高吗? N P3.3真的为高吗? Y Y 延时子程序: R6设初值FFH R7设初值FFH N 延 时 N R7-1=0否?
3、 Y R6-1=0否? N Y Y 返 回 P3.3为低吗? N 图 延 时 A+1送P1口 循 环 图 六、 实验步骤 1、P3.3用插针连至K1,JU2用8芯线连至JL。 2、调试、运行程序test1中的MCUIO.ASM。 3、开关K1每拨动一次,L0L7发光二极管按16进制方式加一点亮。 七、实验程序 ORG 0000h AJMP HA1S ORG 0030H HA1S: MOV A,#00H HA1S1: JB P3.3,HA1S1 MOV R2,#20H LCALL DELAY JB P3.3,HA1S1 HA1S2: JNB P3.3,HA1S2 MOV R2,#20H LCAL
4、L DELAY JNB P3.3,HA1S2 INC A PUSH ACC MOV P1,A POP ACC AJMP HA1S1 DELAY:PUSH 02H DELAY1: PUSH 02H DELAY2: PUSH 02H DELAY3: DJNZ R2,DELAY3 POP 02H DJNZ R2,DELAY2 POP 02H DJNZ R2,DELAY1 POP 02H DJNZ R2,DELAY RET END 八、实验心得 通过本次实验我基本学会了单片机P3口、P1口简单使用和延时程序的编写及使用。虽然实验中我也遇到了一些问题,如结果无法显示等,但在老师的指导、帮助下,我最后还是完成了本次实验的实验要求。