安徽大学历次单片机作业及课程设计

上传人:第*** 文档编号:61577795 上传时间:2018-12-04 格式:DOC 页数:37 大小:684.51KB
返回 下载 相关 举报
安徽大学历次单片机作业及课程设计_第1页
第1页 / 共37页
安徽大学历次单片机作业及课程设计_第2页
第2页 / 共37页
安徽大学历次单片机作业及课程设计_第3页
第3页 / 共37页
安徽大学历次单片机作业及课程设计_第4页
第4页 / 共37页
安徽大学历次单片机作业及课程设计_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《安徽大学历次单片机作业及课程设计》由会员分享,可在线阅读,更多相关《安徽大学历次单片机作业及课程设计(37页珍藏版)》请在金锄头文库上搜索。

1、单片机原理与应用第一次作业学号: 姓名:目录一、题目二、软件三、硬件一、题目 题目:广告灯控制系统内容:做宣传广告时,为了使广告内容醒目,引人注意,往往用灯光闪烁或明暗对比等手段。设有8个广告字,每次亮一个字,亮10ms,依次左移,然后依次右移,循环不止。要求:以LED发光二极管代替广告字,程序延时。硬件:画出硬件电路原理图,考虑LED的驱动问题。软件:画出程序流程图,编写源程序。调试:记录调试过程,分析调试结果。 二、软件1.源程序:ORG 0000H ;定义起始地址 MOV A,#01111111B ;将二进制立即数01111111B放到累加器A中 LJMP START ;长转移到STAR

2、T函数 ORG 0100H ;定义START函数的起始地址START: MOV R0,#7 ;将十进制立即数7放到寄存器R0中 MOV R1,#7 ;将十进制立即数7放到寄存器R1中 LEFT: MOV P1,A ;将A中的内容送到P1口,只有P1.7为低电平,该处二极管被点亮 LCALL DEL10ms ;延时10ms RR A ;将A中的内容右移一位,相应地,低电平所处位置左移一位 DEC R0 ;将R0中的内容减1 CJNE R0,#0,LEFT ;判断R0是否为0,若不是则转移到LEFT函数起始位置,若是则程序顺序执行 RIGHT: MOV P1,A ;将A中的内容送到P1口,此时只有

3、P1.0为低电平,该处二极管被点亮 LCALL DEL10ms ;延时10ms RL A ;将A中的内容左移一位,相应地,低电平所处位置右移一位 DEC R1 ;将R1中的内容减1 CJNE R1,#0,RIGHT ;判断R1是否为0,若不是则转移到RIGHT函数起始位置,若是则程序顺序执行 LJMP START ;长转移到START函数DEL10ms: MOV R7,#25 ;将十进制立即数25放到寄存器R7中DEL1: MOV R6,#200 ;将十进制立即数200放到寄存器R6中DEL2: DJNZ R6,DEL2 ;将R6中的内容减1,判断R6是否为0,若否则转移到DEL2函数起始位置

4、,否则程序顺序执行 DJNZ R7,DEL1 ;将R7中的内容减1,判断R7是否为0,若否则转移到DEL1函数起始位置,否则程序顺序执行 RET ;返回到调用DEL10ms函数的语句的下一条语句END ;程序结束的标志,因为上述程序中有死循环,所以目标程序执行不到这一步注:上述程序已用Proteus 7.8中调试过,能满足题目要求。调试方法为设置执行指定时间分别为10ms,20ms,30ms等整十毫秒,看执行完毕后发光的那个二极管符不符合预期。2. 收获:(1)其实此次作业若在上完第四单元后布置会更好,因为第三章只教了一些指令,第四章教的才是单片机汇编语言程序设计,不过提前布置可以督促大家预习

5、第四单元。(2)写程序的过程中,我深切的感受到了汇编语言指令中的标号带来的便利,其功能实际上与C语言的函数名相同,是为了方便调用或转移。(3)51单片机所有I/O口上电之后全部默认为高电平,想让某一发光二极管发光,就要用程序来使其一端为高电平,另一端为低电平。 (4)上述程序中延时10ms的延时程序是由教材第65面例4-14的延时50ms的延时程序改编而来,我在照搬书上的延时程序,并下载到单片机中或用Proteus 7.8进行仿真时发现只有最右边的二极管发光。认真研究后知道SJMP $其实就是HERE;SJMP HERE的意思,是一个死循环,将其删除后才能正常调用延时函数。三、硬件1.原理图:

6、原理图如下图一所示:图一 用Proteus 7.8绘制的原理图2.考虑LED的驱动问题二极管选用的是红色超亮发光二极管(LED-RED),其参数如下图二所示:图中显示其完全驱动电流为10mA,正向导通压降为2.2V,反向击穿电压为4V,为保证发光二极管被完全驱动,上拉电阻的阻值应为(5-2.2)V/10mA=280,由于图中未给出发光二极管额定电流,故无法计算使发光二极管通过额定电流时的上拉电阻阻值。 图二 LED-RED的参数单片机原理与应用第二次作业学号: 姓名:目录 一、题目及解题思路 二、硬件电路原理图 三、程序流程图与源程序 四、编程时遇到的问题一、题目及解题思路1.题目:汽车方向灯

7、控制系统2.内容:汽车在行驶时,有左转弯、右转弯、刹车、警示、停靠等操作。左转弯时,应使左头灯、左尾灯、仪表板左转指示灯闪烁。右转弯时,应使右头灯、右尾灯、仪表板右转指示灯闪烁。刹车时,左右两个尾灯亮。警示时,头灯、尾灯、仪表板指示灯等6个灯全闪烁。汽车停靠时,左右头灯、左右尾灯高频闪烁。3.要求:用按键开关代表汽车的相关操作,以LED发光二极管代替汽车灯。高频闪烁频率为30Hz,其它闪烁频率为1Hz。4.解题思路: 题目只考虑了只按下某一个按键开关时头灯、尾灯、仪表板指示灯的工作状态。为将所有情况都考虑进去,需补上没有任何按键开关按下和同时有多个按键开关按下这两类情况。按照常理,没有任何按键

8、开关按下时,所有指示灯都应该处于熄灭状态。对于该题,同时有多个按键按下属于一种错误,这时应以某种方式提醒驾驶者,考虑到仪表板指示灯位于车内,可让仪表板左转指示灯和仪表板右转指示灯闪烁同时高频闪烁来提醒车内的驾驶者同时有多个按键被按下。频率是周期的倒数,闪烁频率为1Hz意为1s闪一次,30Hz为1s闪30次,即约33333us闪一次。为此,可设计一个500ms的延时子程序,使灯在1s内亮灭各一次,设置一个16640us的延时子程序,使灯在33280us内亮灭各一次(这里采取了近似的做法)。为满足题目中用按键开关控制LED发光二极管的要求,可以将所有按键开关的一端全部连在P2口,另一端全部接地,将

9、P2口作为输入端。将所有LED发光二极管的一端全部连在P1口,另一端全部接+5V高电平,将P1口作为输出端。这样便将按键开关控制LED发光二极管转化为输入端控制输出端。二、硬件电路原理图硬件电路原理图如下图一所示:图一 用Proteus 7.8绘制的硬件电路原理图 因为在电路图中插入太多汉字后再进行仿真会使Proteus 7.8卡住,从而无法仿真。所以上述原理图中未用汉字标注每一个元器件的含义。现说明如下:S1、S2、S3、S4、S5分别表示左转弯指示按键开关、右转弯指示按键开关、刹车指示开关、警示指示开关、停靠指示开关,D1、D2、D3、D4、D5、D6分别表示左尾灯、左头灯、仪表板左转指示

10、灯、仪表板右转指示灯、右头灯、右尾灯,R1R6均为上拉电阻。和上次交的作业一样,二极管选用的是红色超亮发光二极管(LED-RED),其参数如下图二所示,图中显示其完全驱动电流为10mA,正向导通压降为2.2V,反向击穿电压为4V,为保证发光二极管被完全驱动,上拉电阻的阻值应为(5-2.2)V/10mA=280,由于图中未给出发光二极管额定电流,故无法计算使发光二极管通过额定电流时的上拉电阻阻值。 图二 LED-RED的参数3、 程序流程图与源程序1. 流程图(用Edraw Mind Map 7.8制作): 2.源程序:ORG 0000H MOV R0,#1FH JMP STARTORG 010

11、0H START: MOV A,P2 CJNE A,#0FFH,NUM1 JMP NEXT1NUM1: CJNE A,#0FEH,NUM2 JMP NEXT2NUM2: CJNE A,#0FDH,NUM3 JMP NEXT3NUM3: CJNE A,#0FBH,NUM4 JMP NEXT4NUM4: CJNE A,#0F7H,NUM5 JMP NEXT5NUM5: CJNE A,#0EFH,ERROR JMP NEXT6NEXT1: MOV P1,#0FFH ;NEXT1在未按下任何按键时使用 JMP STARTNEXT2: MOV P1,#0F8H ;NEXT2为左转弯指示命令 CALL D

12、EL500ms MOV P1,#0FFH CALL DEL500ms JMP STARTNEXT3: MOV P1,#0C7H ;NEXT3为右转弯指示命令 CALL DEL500ms MOV P1,#0FFH CALL DEL500ms JMP STARTNEXT4: MOV P1,#0DEH ;NEXT4为刹车指示命令 JMP START NEXT5: MOV P1,#0C0H ;NEXT5为警示指示命令 CALL DEL500ms MOV P1,#0FFH CALL DEL500ms JMP STARTNEXT6: MOV P1,#0CCH ;NEXT6为停靠指示命令 CALL DEL16640us MOV P1,#0FFH CALL DEL16640us JMP STARTERROR: MOV P1,#0F3H ;ERROR在同时按下了两个及以上按键时使用 CALL DEL16640us MOV P1,#0FFH CALL DEL16640us JMP STARTDEL500ms: MOV R7,#25 ;延时500m

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号