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

下载本文档

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

文档简介

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

2、、CLK8zDINLEDQLKAQ0EQIQ2CLK屮Q&MR0U5O074ALS1643R50& FM” i R50SR50S 1】 I科 11 R50k I 汀; 131-Di077jDO.WSSLD0001LD100-LD300-LD400-二二LIO600-VCC J502seLecti CM甘Q500 90121WL图4-1流水灯电路图4-2所示。三极管导通两种方法的程序流程如图DIN=O,CLK=O,输出 8 位 输出数据=07FH (最高位为0)输出数据位数减1输出数据左移一位,把移出的 位送到DIN,CLK产生正脉冲图4-2流水灯位选信号控制(2)产生流水灯效果程序P0 口。三

3、极管导通后,就可以从P0 口输出数据控制发光二极管。P0 口输出数据既 可以编写程序逐个输出,也可以将输出数据序列定义在存储器中, 然后用读程序 存储器指令逐个取出并输出到程序流程图如图4-3所示f1流水灯LP0 口输出 OFEH1延时0.2秒P0 口输出 0FDHI延时0.2秒1O O Or1 返回LJ图4-3流水灯程序流程图 实验内容1.直接法输出数据序列LEDCLKbitP3.4LEDDINbitP2.3LedSequenee:CLRLEDCLKCLRLEDDINNOPSETB LEDCLKNOPCLRLEDCLKMOV P0,#0FEHMOV R7,#200LCALL DelayNms

4、MOV P0,#0FDHMOV R7,#200LCALL DelayNmsMOV P0,#0FBHMOV R7,#200LCALL DelayNmsMOV P0,#0F7HMOV R7,#200LCALL DelayNms MOV P0,#0EFH MOV R7,#200LCALL DelayNmsMOV P0,#0DFHMOV R7,#200 LCALL DelayNmsMOV P0,#0BFHMOV R7,#200LCALL DelayNmsMOV P0,#07FHMOV R7,#200LCALL DelayNmsRETDelayNms:LCALL Delay1msDJNZ R7, $-3

5、RETDelay1ms:PUSH 07MOV R7,#250;1msNOPNOPDJNZ R7, $-2POP 07RET2、查表法输出数据序列;输入 : 无;输出 :无LEDCLK bit P3.4LEDDIN bit P2.3LedSequence:LCALL LedLightMOV R6,#8MOV DPTR,#LedSequenceTabLedSequence1:MOV A,R6MOVC A,A+DPTRCPL AMOV P0,AMOV R7,#200LCALL DelayNmsDJNZ R6,LedSequence1RETLedSequenceTab:DB 80H,40H,20H,1

6、0H,08H,04H,02H,01H,00H DelayNms:LCALL Delay1msDJNZRETR7, $-3Delay1ms:PUSH07MOVR7,#250;1msNOPNOPDJNZR7, $-2POP07RETLedLight:MOVB,#8MOVA,#0FEHCLRLEDCLKCLRLEDDINLedLight1:RLCAMOVLEDDIN,CSETBLEDCLKNOPCLRLEDCLKDJNZB,LedLight1RET实验调试步骤及调试信息1、新建实验项目 2、输入实验程序并补充完整,利用不同的原理,有两种方法可以完成实验。 程序如上面实验内容所述。3、编译下载实验程序

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

8、 改 为 00,80H,40H,20H,10H,08H,04H,02H,01H,00H修改后 8 盏 LED 依次点亮,实现流水灯效果。思考题1、 请把学号后两位数进转换成二进制数,然后依次点亮其中为 1 对应的二 极管,写出输出序列。例如,60号转换成二进制后是0011 1100B,依次点亮四 个1对应的二极管,输出序列是 0DFH, 0EFH, 0F7H, 0FCH.(从低位到高位也可 以)答: 27 后转换二进制后是 0001 1011,依次点亮四个对应的二极管,输出序 列是 0FEH, 0FDH, 0F7H ,0EFH。2、参考实验内容 2,编写程序把输出序列增加到 30 个。star

9、t:LCALL LedSequenceSJMP startLEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALL LedLightMOV R6,#30MOV DPTR,#LedSequenceTabLedSequence1:MOV A,R6MOVC A,A+DPTRCPLAMOV P0,AMOV R7,#200LCALL DelayNmsDJNZ R6,LedSequence1RETLedSequenceTab:DB00H,80H,40H,20H,10H,08H,04H,02H,01H,00H,80H,40H,20H,10H,08H,04H,02H,01 H,00H,80H,40H,20H,10H,08H,04H,02H,01H,80H,40H,02HDelayNms:LCALL Delay1msDJNZ R7, $-3RETDelay1ms:PUSH 07MOV R7,#250;

温馨提示

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

评论

0/150

提交评论