实验二单片机并口简单应用_第1页
实验二单片机并口简单应用_第2页
实验二单片机并口简单应用_第3页
免费预览已结束,剩余2页可下载查看

付费下载

下载本文档

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

文档简介

1、实验二单片机并口简单应用(流水灯)实验目的1、了解单片机汇编语吉程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验电路图1、流水灯硬件电路如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。VCCJ502gggS8g

2、g:心DDUUU、Drr71/7/图4-1流水灯电路图两种方法的程序流程如图4-2所小。图4-2流水灯位选信号控制(2)产生流水灯效果程序P0口。三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到程序流程图如图4-3所示图4-3流水灯程序流程图实验内容1. 直接法输出数据序列LEDCLKbitP3.4LEDDINbitP2.3LedSequence:CLRLEDCLKCLRLEDDINNOPSETBLEDCLKNOPCLRLEDCLKMOVP0,#0FEHMOVR7,#200LCA

3、LLDelayNmsMOVP0,#0FDHMOVR7,#200LCALLDelayNmsMOVP0,#0FBHMOVR7,#200LCALLDelayNmsMOVP0,#0F7HMOVR7,#200LCALLDelayNmsMOVP0,#0EFHMOVR7,#200LCALLDelayNmsMOVP0,#0DFHMOVR7,#200LCALLDelayNmsMOVP0,#0BFHMOVR7,#200LCALLDelayNmsMOVP0,#07FHMOVR7,#200LCALLDelayNmsRETDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:PUSH0

4、7MOVR7,#250;1msNOPNOPDJNZR7,$-2POP07RET2、查表法输出数据序列;输入:无;输出:无;LEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMOVR6,#8MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms:LCALLDel

5、ay1msDJNZR7,$-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJNZR7,$-2POP07RETLedLight:MOVB,#8MOVA,#0FEHCLRLEDCLKCLRLEDDINLedLight1:RLCAMOVLEDDIN,CSETBLEDCLKNOPCLRLEDCLKDJNZB,LedLight1RET实验调试步骤及调试信息1、新建实验项目2、输入实验程序并补充完整,利用不同的原理,有两种方法可以完成实验。程序如上面实验内容所述。3、编译下载实验程序,并修改错误(按调试信息说明)4、将光标指向程序末尾,运行程序至光标处,查看实验现象。5、

6、单步执行,分析各程序的功能特点.6、整理实验设备实验现象全速运行程序1,8个LED依次点亮且循环进行。全速运行程序2,1-7盏LED亮,第8盏LED不亮。说明单片机没有输出序列01111111。调试信息(1)提示:MISSING'END'STATEMENT原因:文件结尾处没有写END修改后正确。(2) 提示第47行有错把PUSHR7中的R7改成07,修改后正确。(3) 按程序2运行时,8个LED不会循环发光。把80H,40H,20H,10H,08H,04H,02H,01H,改为00,80H,40H,20H,10H,08H,04H,02H,01H,00H修改后8盏LED依次点亮,

7、实现流水灯效果。思考题1、请把学号后两位数进转换成二进制数,然后依次点亮其中为1对应的二极管,写出输出序列。例如,60号转换成二进制后是00111100B,依次点亮四个1对应的二极管,输出序列是0DFH,0EFH,0F7H,0FCH.(从低位到高位也可以)答:27后转换二进制后是00011011,依次点亮四个对应的二极管,输出序列是0FEH,0FDH,0F7H,0EFH。2、参考实验内容2,编写程序把输出序列增加到30个。start:LCALLLedSequenceSJMPstartLEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMOVR6

8、,#30MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB00H,80H,40H,20H,10H,08H,04H,02H,01H,00H,80H,40H,20H,10H,08H,04H,02H,01H,00H,80H,40H,20H,10H,08H,04H,02H,01H,80H,40H,02HDelayNms:LCALLDelay1msDJNZR7,$-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJN

温馨提示

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

最新文档

评论

0/150

提交评论