实验一 IO口输入、输出实验 (2).doc_第1页
实验一 IO口输入、输出实验 (2).doc_第2页
实验一 IO口输入、输出实验 (2).doc_第3页
实验一 IO口输入、输出实验 (2).doc_第4页
实验一 IO口输入、输出实验 (2).doc_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

贵 州 大 学 实 验 报 告 纸系 别电科班 级电科091班姓 名学号课 程 名 称单片机成 绩评 定教师签名实 验 时 间 2012年 5 月5 日实验一 I/O口输入、输出实验一、实验目的 掌握单片机P1口、P3口的使用方法。二、实验要求 根据实验内容编写一个程序,并在实验仪上调试和验证。三、实验内容 以P1口为输出口,接八位逻辑电平显示,LED显示跑马灯效果。以P3口为输入 口,接八位逻辑电平输出,用来控制跑马灯的方向。四、实验说明和电路原理图 P1口是准双向口,它作为输出口时与一般的双向口使用方法相同。由准双向口结构 可知当P1口作为输入口时,必须先对它置高电平使内部MOS管截止。因为内部上拉电阻阻值是20K40K,故不会对外部输入产生影响。若不先对它置高,且原来是低电平,则MOS管导通,读入的数据是不正确的。本实验需要用到CPU模块(F3区)和八位逻辑电平输出模块(E4区)和八位逻辑电平显示模块(B5区),八位逻辑电平输出电路原理图参见图1-1。八位逻辑电平显示电路原理图参见图1-2。 图1-2 八位逻辑电平显示 图1-1 八位逻辑电平输出五、实验步骤 实验程序编写1、 实验程序:;/*;文件名: Port for MCU51;功能: I/O口输入、输出实验 ;接线: 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口),K1;到CPU模块的P3.1口;;用8位数据线连接八位逻辑电平显示模块的JD4B到CPU模块的JD8(P1口)。;/* DIR BIT P3.0 ORG 0000H LJMP START ORG 0100HSTART: Output1: mov a, #0fEH mov r5, #8 loop1: CLR C mov C,DIR JC Output2 mov P1, a rl a Acall Delay djnz r5, loop1 Sjmp Output1Output2: mov a, #07fH mov r5, #8 loop2: CLR C mov C,DIR JNC Output1 mov P1, a rr a Acall Delay djnz r5,loop2 Sjmp Output2Delay: mov r6,#0 DelayLoop1: mov r7,#0DelayLoop2: NOP NOP djnz r7,DelayLoop2 djnz r6,DelayLoop1 ret end2、 修改后的程序为: ORG 0000H LJMP START ORG 0100HSTART: Output1: mov a, #0fEH mov R5, #8 loop1: MOV R2,P3 CJNE R2,#0FFH,Output2 mov P1, a rl a Acall Delay djnz R5, loop1 Sjmp Output1Output2: mov a, #07fH mov R5, #8 loop2: MOV R2,P3 CJNE R2,#0FEH,Output3 mov P1, a rr a Acall Delay djnz R5,loop2 Sjmp Output2Output3: mov a, #0FFH mov R5, #9 loop3: MOV R2,P3 CJNE R2,#0FDH,Output4 CLR C mov P1, a RRC a Acall Delay djnz R5, loop3 mov R5, #8 loop4: SETB C RLC A MOV P1,A Acall Delay djnz R5, loop4 Sjmp Output3 Output4: MOV R2,P3 CJNE R2,#0FCH,Output1 MOV R3,#00H MOV R4,#08H MOV DPTR, #tab ; 表首址 loop5: MOV A,R3 MOVC A, A+DPTR ; 查表读取第一个字节 MOV P1,A INC R3 ACALL DELAY DJNZ R4,loop5 SJMP Output4 Delay: mov r6,#0 ;延时程序DelayLoop1: mov r7,#0DelayLoop2: NOP NOP djnz r7,DelayLoop2 djnz r6,DelayLoop1 ret tab: DB 0FFH,0E7H,0C3H,81H,00H,81H,0C3H,0E7H End 系统各跳线器处在初始设置状态。1、 用导线连接八位逻辑电平输出模块的K0到CPU模块的RXD(P3.0口),K1到CPU模块的TXD(P3.1口);2、用8位数据线连接八位逻辑电平显示模块的JD4B到CPU模块的JD8(P1口)。 启动PC机,打开THGMW-51软件,输入源程序,并编译源程序。编译无误后,下载程序运行。 观察发光二极管显示跑马灯效果六、实验现象和分析 1、实验现象 对于原来的程序,运行程序后,拨动开关K0,可以实现两种流水灯方式的选择,即可以实现左移和右移,而修改程序后,可以实现四种方式的选择,选择通过K1和K0来实现,除了左移和右移,还实现了从左到右逐次亮再从右到左逐次灭和从中间到两边亮,在从两边倒中间灭。2、实验分析对于实验程序,通过检测P3.0和P3.1的状态来实现跳转,这样就可以对于不同的K0K1状态来实现不同流水灯方式调用。在设置流水灯的的方式时,可以采用累加器的移动来实现,也可以用查表发来实现。在发光二极管的显示是还要采用延时程序设计来实现,这样才可以避免因为时间太短而观察不到流水灯现象。实验中可以看到四种流水灯方式的选择是正确的,因此,程序的设计也是正确的。七、实验总结 通过实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论