版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
75实验一单片机并口简单应用(流水灯)7509 电气陈毅斌32号实验目的1、了解单片机汇编语言程序的基本结构2、了解单片机汇编语言程序的设计和调试方法3、掌握顺序控制程序的简单编程实验仪器单片机开发板、万利仿真机、稳压电源、计算机实验原理流水灯硬件电路如图4-1所示,流水灯硬件电路由移位寄存器74LS164、功能选择开关J502、二极管、三极管、单片机并口(P0)、限流电阻等组成。发光二极管连接成共阳极结构。发光二极管点亮的条件是:阳极接高电平、各阴极接低电平。因此,通过程序控制74LS164的Q0端。Q0端输出0,公共端阳极就接成高电平,然后再按一定规则从P0口输出数据,发光二极管就会点亮。图4-1流水灯电路图单片机流水灯程序设计由上图可知,发光二极管要点亮,需要先把J502的2、3脚相连,三极管Q500导通,然后从P0口输出数据。(1)控制三极管导通程序控制三极管有两种方法,第一种:在74LS164的第8脚产生一个正脉冲,此时1脚为0,三极管就导通;为1,三极管就截止。第二种:在单片机IO模拟74LS164时序,一次输出一个字节,只要Q0=0即可控制三极管开通。为1,三极管截止。三极管导通DIN=0,CLK=0,输出8位三极管导通DIN=0,CLK=0,输出8位输出数据=07FH(最高位为0)输出数据左移一位,把移出的位送到DIN,CLK产生正脉冲CLK产生一个正脉冲输出数据位数减1输出完成?三极管导通三极管导通三极管导通DIN=0CLK=0CLK=1CLK=0返回图4-2流水灯位选信号控制(2)产生流水灯效果程序三极管导通后,就可以从P0口输出数据控制发光二极管。P0口输出数据既可以编写程序逐个输出,也可以将输出数据序列定义在存储器中,然后用读程序存储器指令逐个取出并输出到P0口。程序流程图如图4-3所示。流水灯返回流水灯返回P0口输出0FEH延时0.2秒P0口输出0FDH延时0.2秒。。。流水灯返回偏移位置为8从程序存储器中取出偏移位置的数据延时0.2秒,偏移位置计数减1取数完成?YN图4-3流水灯程序流程图实验内容1、直接输出法输出数据序列LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALLLedSequence ;调用LED此程序产生流水灯效果 SJMPMAINLedSequence: CLR LEDCLK ;往74LS164的Q0端送一个0 CLR LEDDIN ;CLK引脚产生一个正脉冲 NOP SETB LEDCLK NOP CLR LEDCLK MOV P0,#0FEH ;为0的位对应的二极管亮,第一个灯亮 MOV R7,#200 ;R7为延时量,Nms LCALL DelayNms ;该程序延时时间由R7决定MOV P0,#0FDH ;第二个灯亮 MOV R7,#200 LCALL DelayNms MOV P0,#0FBH ;第三个灯亮 MOV R7,#200 LCALL DelayNmsMOV P0,#0F7H ;第四个灯亮 MOV R7,#200 LCALL DelayNmsMOV P0,#11101111B ;第五个灯亮 MOV R7,#200 LCALL DelayNmsMOV P0,#11011111B ;第六个灯亮 MOV R7,#200 LCALL DelayNmsMOV P0,#10111111B ;第七个灯亮 MOV R7,#200 LCALL DelayNmsMOV P0,#01111111B ;第八个灯亮 MOV R7,#200 LCALL DelayNms RETDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: ;延时1ms程序 PUSH 07 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 POP 07 RETEND2、查表法输出数据序列LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALL LedSequence ;调用LED此程序查表方法设置流水灯 SJMP MAINLedSequence: LCALL LedLightMOV R6,#8 ;循环次数赋值MOV DPTR,#LedSequenceTab ;查表赋值首地址LedSequence1:MOV A,R6MOVC A,@A+DPTRCPL A ;取反使得只有一个位为0其余为1MOV P0,AMOV R7,#200LCALL DelayNms ;调用延迟时间DJNZ R6,LedSequence1RETLedSequenceTab: DB 80H,40H,20H,10H,08H,04H,02H,01H,00HDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: MOVA,R7 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 MOV R7,A RETLedLight: MOV B,#8 MOV A,#0FEH CLR LEDCLK CLR LEDDINLedLight1: RLC A MOV LEDDIN,CSETB LEDCLK NOP CLR LEDCLK DJNZ B,LedLight1 RET3.将学号后两位对应的二进制为1的灯点亮LEDCLK bitP3.4;LEDDINbitP2.3; ORG0000H SJMPMAIN ORG0030HMAIN: MOV SP,#60H ;设置堆栈 CLR LEDCLK ;开启三极管 CLR LEDDIN SETB LEDCLK MOV P0,#00010000B ;P0口送入值为0口灯亮MAIN1: AJMP MAIN1END运行结果:思考题请把学号后两位数进转换成二进制数,然后依次点亮其中为1对应的二极管,写出输出序列。例如,60号转换成二进制后是00111100B,依次点亮四个1对应的二极管,输出序列是0DFH,0EFH,0F7H,0FCH.(从低位到高位也可以)LEDCLK bit P3.4LEDDIN bit P3.6ORG0000HLJMPMAINORG0030HMAIN: LCALLLedSequence ;调用LED此程序产生流水灯效果 SJMP$LedSequence:此代码能实现思考题的功能? CLR LEDCLK ;往74LS164的Q0端送一个0此代码能实现思考题的功能? CLR LEDDIN ;CLK引脚产生一个正脉冲 NOP SETB LEDCLK NOP CLR LEDCLK MOV P0,#0FEH ;为0的位对应的二极管亮,第一个灯亮 MOV R7,#200 ;R7为延时量,Nms LCALL DelayNms ;该程序延时时间由R7决定MOV P0,#0FDH ;第二个灯亮 MOV R7,#200 LCALL DelayNms MOV P0,#0FBH ;第三个灯亮 MOV R7,#200 LCALL DelayNmsDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1ms: ;延时1ms程序 PUSH 07 MOV R7,#250 ;1ms NOP NOP DJNZ R7,$-2 POP 07 RET参考实验内容2,编写程序把输出序列增加到30个。LEDCLK bit P3.4LEDDIN bit P2.3ORG 0000HLJMP MAINORG 0030HMAIN: LCALL LedSequence ;调用LED此程序查表方法设置流水灯 SJMP MAINLedSequence: LCALL LedLightMOV R6,#30 ;循环次数赋值赋值30个MOV DPTR,#LedSequenceTab ;查表赋值首地址LedSequence1: MOV A,R6MOVC A,@A+DPTRCPL A ;取反使得只有一个位为0其余为1MOV P0,AMOV R7,#200LCALL DelayNms ;调用延迟时间DJNZ R6,LedSequence1RETLedSequenceTab: DB 80H,40H,20H,10H,08H,04H,02H,01H,00H ;查表的增加到30个 DB 11H,22H,33H,44H,55H,66H,77H,88H,99H DB 12H,34H,56H,78H,90H,12H,34H,56H,78H DB 12H,34H,56HDelayNms: LCALL Delay1ms DJNZ R7,$-3 RETDelay1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部门年度绩效目标达成度评估表
- 工业智能电机故障诊断与修复指南
- 关于下发新员工培训计划的通知函(3篇)
- 航空器舱内清洁维护操作指南
- 特殊职业工作成果评估表
- 可持续发展顾问项目完成率评估表
- 服务行业人力资源专员绩效考核表
- 智能物流系统设计与实施预案
- 2026年初级社工考试试卷试题及答案
- 电商平台直播带货流量预测模型实施指南
- 幼儿园秋季流感预防知识
- JJG 1005-2019电子式绝缘电阻表检定规程
- 高三数学一轮复习教学设计:《三角恒等变换》
- 安宁疗护核心技术尊严疗法实践技巧课件
- 全球多中心RCT与区域性RWE的互补网络
- 建设工程质量管理条例2025年
- 2025-2026学年统编版三年级道德与法治上册全册教案(含教学计划)
- 5.1《走近老师》 课件 2025-2026学年统编版道德与法治 七年级上册
- 邮政反诈知识培训课件
- 瓷砖胶基础知识培训课件
- 电路施工方案(3篇)
评论
0/150
提交评论