版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验二 单片机并口简单应用(流水灯) 实验目的1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验电路图1、 流水灯硬件电路如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。图4-1 流水灯电
2、路图三极管导通DIN=0,CLK=0,输出8位输出数据=07FH(最高位为0)输出数据左移一位,把移出的位送到DIN,CLK产生正脉冲CLK产生一个正脉冲输出数据位数减1输出完成?三极管导通两种方法的程序流程如图4-2所示。三极管导通DIN=0CLK=0CLK=1CLK=0返回图4-2 流水灯位选信号控制(2)产生流水灯效果程序三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。程序流程图如图4-3所示。流水灯返回P0口输出0FEH延时0.2秒P0口输出0FDH延时0.2秒。
3、流水灯返回偏移位置为8从程序存储器中取出偏移位置的数据延时0.2秒,偏移位置计数减1取数完成?YN图4-3 流水灯程序流程图实验内容1. 直接法输出数据序列LEDCLK bitP3.4LEDDIN bitP2.3LedSequence:CLRLEDCLKCLRLEDDINNOPSETBLEDCLKNOPCLRLEDCLKMOVP0,#0FEHMOVR7,#200LCALLDelayNmsMOVP0,#0FDHMOVR7,#200LCALLDelayNmsMOVP0,#0FBHMOVR7,#200LCALLDelayNmsMOVP0,#0F7HMOVR7,#200LCALLDelayNmsMOV
4、P0,#0EFHMOVR7,#200LCALLDelayNmsMOVP0,#0DFHMOVR7,#200LCALLDelayNmsMOVP0,#0BFHMOVR7,#200LCALLDelayNmsMOVP0,#07FHMOVR7,#200LCALLDelayNmsRETDelayNms:LCALLDelay1msDJNZR7, $-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJNZR7, $-2POP07RET2、查表法输出数据序列;-;输入: 无;输出:无;-LEDCLKbitP3.4LEDDIN bitP2.3LedSequence:LCALLLedL
5、ightMOVR6,#8MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms:LCALLDelay1msDJNZR7, $-3RETDelay1ms:PUSH07MOVR7,#250;1msNOPNOPDJNZR7, $-2POP07RETLedLight:MOVB,#8MOVA,#0FEHCLRLEDCLK
6、CLRLEDDINLedLight1:RLCAMOVLEDDIN,CSETBLEDCLKNOPCLRLEDCLKDJNZB,LedLight1RET实验调试步骤及调试信息1、新建实验项目2、输入实验程序并补充完整,利用不同的原理,有两种方法可以完成实验。程序如上面实验内容所述。3、编译下载实验程序,并修改错误(按调试信息说明)4、将光标指向程序末尾,运行程序至光标处,查看实验现象。5、单步执行,分析各程序的功能特点.6、整理实验设备实验现象全速运行程序1,8个LED依次点亮且循环进行。全速运行程序2,1-7盏LED亮,第8盏LED不亮。说明单片机没有输出序列01111111。调试信息(1)提示
7、: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依次点亮,实现流水灯效果。思考题1、请把学号后两位数进转换成二进制数,然后依次点亮其中为1对应的二极管,写出输出序列。例如,60号转换成二进制后是0011 1100B,
8、依次点亮四个1对应的二极管,输出序列是0DFH, 0EFH, 0F7H, 0FCH.(从低位到高位也可以)答:27后转换二进制后是0001 1011,依次点亮四个对应的二极管,输出序列是0FEH,0FDH,0F7H ,0EFH。2、参考实验内容2,编写程序把输出序列增加到30个。start:LCALL LedSequenceSJMP startLEDCLKbitP3.4LEDDINbitP2.3LedSequence:LCALLLedLightMOVR6,#30MOVDPTR,#LedSequenceTabLedSequence1:MOVA,R6MOVCA,A+DPTRCPLAMOVP0,AMOVR7,#200LCALLDelayNmsDJNZR6,LedSequence1RETLedSequenceTab:DB 00H,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;1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Unit3FoodandCultureReadingandThinking课件高中英语人教版选择性()-4
- 土建工程质量检查方案
- 未来高级时尚元宇宙企划创业项目计划书模板
- 16 散文二篇 我为什么而活着 课件
- 混凝土项目验收标准化方案
- 管道内外部清理技术方案
- 《传感器与检测技术》课件-3.2磁电传感器
- 中草药产业融合项目经济效益和社会效益分析报告
- 钢筋施工设计图纸变更方案
- 2026重庆九龙新城谢家湾学校招聘备考题库含答案
- 企业安全一把手授课课件
- 学校中层干部述职报告会
- 2026届湖南长沙一中高一生物第一学期期末学业质量监测试题含解析
- 音乐疗法对焦虑缓解作用-洞察及研究
- 2023年广东省深圳市中考适应性数学试卷(原卷版)
- 建筑工程钢筋质量验收报告模板
- GB/T 6730.46-2025铁矿石砷含量的测定蒸馏分离-砷钼蓝分光光度法
- 排水管网疏通与养护技术方案
- 肝内胆管恶性肿瘤护理查房
- 河南省省直辖县级行政区划济源市2024-2025学年八年级(上)期末物理试卷(含解析)
- 四川省医疗护理员考试题库及答案
评论
0/150
提交评论