单片机设计与制作
实训报告
班级:12级机电一班 名字:曹泽鹏,郭兴标
指导老师:郭才东
题目一 两个按键控制LED灯循环闪烁 1.设计要求
P1.0接按钮A,P1.1接按钮B,P2口接8个LED灯。要求:按钮A按下时,灯从左到右依次点亮;按钮B按下时,灯从右到左依次点亮。
2.系统设计
①硬件设计图
②软件设计
程序: 流程图: ORG 0000H START: MOV P1,#0FFH
开始 LOOP: JNB P1.0,ON_1
JNB P1.1,ON_2 JMP LOOP 将p1口设置ON_1: MOV A,#11111110B 成输入功能 LOOPZ: MOV P2,A RL A
读取p1口工作状态 CALL DELAY
JB P1.1,LOOPZ Yes ON_2: MOV A,#01111111B P1.0=0 LOOPY: MOV P2,A RR A CALL DELAY Yes JB P1.0,LOOPY P1.1=0 JMP ON_1
DELAY: MOV R7,#200 D1: MOV R6,#250
No No 灯从左到右依次点亮 灯从右到左依次点亮
DJNZ
DJNZ RET END
R6,$
R7,D1
3. 器件
1) STC89C52RC 2) 8个LED 3) 两个按钮 4) 10个电阻
4.任务完成情况
仿真正确,实验成功。
题目二 外部中断控制LED灯的亮灭
1.设计要求
采用外部中断1中断,P2口接8个LED灯。要求:运行时第1、3、5、7盏灯亮;外部中断1发生中断时,第1、3、5、7盏灯亮熄灭2秒。
2.系统设计
①硬件设计图
②软件设计
程序: 流程图: ORG 0000H JMP START ORG 13H JMP INT_1 START:
MOV IE,#10000100B MOV SP,#30H SETB IT1 MOV P1,#0FFH
LOOP: JNB P1.0,ON_1 MOV A,#01010101B MOV P0,A JMP LOOP INT_1:PUSH PSW PUSH ACC SETB RS0 ON_1:
o 返回 中断子程序 亮1、3、5、7灯 主程序 取回数据 1、3、5、7灯熄灭2秒 初始化及INT1中断设数据备份切换寄存器组 开始 INT1 MOV A,#00000000B
LOOPL: MOV P0,A CALL DELAY DJNZ R0,LOOPL POP ACC POP PSW RETI
DELAY: MOV R7,#5 D1: MOV R6,#250 DJNZ R6,$ DJNZ R7,D1 RET END
3.器件
1) STC89c52RC 2) 8个LED 3) 10个电阻
4.任务完成情况
仿真正确,实验成功。
题目三 两个按键控制数码管的显示内容 1.设计要求
P1.0接按钮A,P1.1接按钮B,P2口通过译码器接一个数码管。要求:按钮A按下时,数码管显示0;按钮B按下时,数码管显示1。 2、系统设计 ①硬件设计图
②软件设计
程序: 流程图: ORG 0000H
START: MOV P1,#0FFH LOOP: JNB P1.0,ON JNB P1.1,OFF JMP LOOP ON: MOV P0,#00H ON_1:JB P1.0,LOOP JMP ON_1 OFF: MOV P0,#01H OFF_1: JB P1.1,LOOP JMP OFF_1 END
No P1.1=1 No P1.0=0 读取p1口工作状态 将p1口设置成输入功能 开始 Yes 数码管显示0 Yes 数码管显示1 3.器件
1) STC89c52RC
2) 七段数码管 3) 10个电阻 4) 2个按钮 5) 译码器
4.任务完成情况
仿真正确,实验成功。
实训总结体会
学校为了培养我们学生的创新精神和和工程实践能力,提高我们的综合素质,所以安排了一周的单片机的实训。通过这次单片机实训,我们受益颇多,单片机实训是我们对这门课有了许多新的了解,弥补了在课堂上学习的不足。相信这对我们以后的学习和工作都会有很大的帮助。我们一定要在最短的时间里对这些不足加以改正。以前,在课堂上老师说单片机一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM,只读存储器ROM、多种I/O口登功能。现在才真正近距离见识到小小单片机的功能。同时,发现在实践过程中,出现的问题在课本上是找不到的,这时,我们就会通过老师、网络、其他有关的书籍,促发了我们学习的动力。
在这很感谢学校和老师给我们安排了这次单片机实训,让我们认识到理论始终要结合到实践的,不能怠慢理论上的知识,也不能忽视实践上知识,两头并抓,方可成效。
因篇幅问题不能全部显示,请点此查看更多更全内容