330 likes | 532 Views
单片机原理及应用实验. 机械与电子工程学院 指导教师: 李晋阳 E-Mail : ljylmq@sdau.edu.cn. 山东农业大学机械与电子工程学院. 教材与课时安排. 教材 单片机原理及其接口技术实验 丁筱铃等 编著 山东农业大学 课时安排 上 机 : 9 学时. 上机安排 上机地点:机电学院机房 上机时间:根据教学日历安排 上机内容: 随教学进度的基础训练(上机调试每次实验内容) 要求 : 所有作业必须 独立 完成 实验内容必须经 上机调试通过 每次实验必须写出实验报告 上机考勤 3 次 缺席,按不及格处理
E N D
单片机原理及应用实验 机械与电子工程学院 指导教师:李晋阳 E-Mail:ljylmq@sdau.edu.cn 山东农业大学机械与电子工程学院
教材与课时安排 • 教材 单片机原理及其接口技术实验 丁筱铃等 编著 山东农业大学 • 课时安排 上 机: 9学时
上机安排 上机地点:机电学院机房 • 上机时间:根据教学日历安排 • 上机内容: • 随教学进度的基础训练(上机调试每次实验内容) • 要求: • 所有作业必须独立完成 • 实验内容必须经上机调试通过 每次实验必须写出实验报告 • 上机考勤3次缺席,按不及格处理 • 发现上机时间上网,按缺席一次处理
课程要求 课前请做好预习 • 保持课堂安静,头脑清醒,思维活跃 • 认真、独立、按时完成并提交作业 • 重视上机实践,有效利用宝贵的上机时间
实 验 内 容 实验一、汇编语言软件调试实验 实验二、8031单片机P3、P1口应用 实验三、工业顺序控制 实验四、A/D转换0809应用
实验一、软件实验 • 一、实验目的 • 二、实验内容 • 三、实验程序流程图 • 四、实验步骤 • 五、思考
一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。一、实验目的掌握汇编语言设计和调试方法,熟悉键盘操作。 • 二、实验内容把7000H~70FFH的内容清零。
N R0=FF Y 三、实验程序流程图 开始 R0=00 00送到7000H DPTR+1,R0+1 结束
四、实验步骤 (1) 联接DVCC实验系统(Ctrl+H) (2) 装载目标文件(Ctrl+L) (3) 设置PC起始地址 (4) 运行程序 (5) 单步、断点运行完后,在存贮器窗口内检查0000H~70FFH中的内容是否全为00H
五、思考 • 假使要把7000~70FFH中的内容改成FF,如何编制程序。
实验二、8031单片机P3、P1口应用 • 一、实验目的 • 二、实验内容 • 三、实验程序流程图 • 四、实验原理图 • 五、实验步骤 • 六、实验程序
一、实验目的1、 掌握P3口、P1口简单使用。 • 2、 学习延时程序的编写和使用。 • 二、实验内容 • 1、P3.3口做输入口,外接一脉冲,每输入一个脉冲,P1口按十六进制加一。 • 2、 P1口做输出口,编写程序,使P1口接的8个发光二极管L1—L8按16进制加一方式点亮发光二极管。
Y P3.3为高吗? P3.3为高吗? P3.3为低吗? N 延 时 Y N Y N 延 时 A+1送P1口 循 环 三、实验程序流程图 开 始
五、实验步骤 • 1、P3.3用插针连至K1, P1.0—P1.7用插针连至L1—L8。 • 2、从起始地址0540H开始连续运行程序(输入0540后按EXEC键)。 • 3、开关K1每拨动一次,L1—L8发光二极管按16进制方式加一点亮。
ORG 0000H LJMP ST ORG 0030H ST: MOV SP,#60H CLR A KK: SETB P3.3 JB P3.3,KK LCALL DL10MS JB P3.3,KK JNB P3.3,$ LCALL DL10MS INC A MOV P1,A LJMP KK DL10MS:MOV R6,#10 DL1MS:MOV R7,#250 LP:NOP NOP DJNZ R7,LP DJNZ R6,DL1MS RET END 六、实验程序
实验三、工业顺序控制 (中断) • 一、实验目的 • 二、实验内容 • 三、实验程序流程图 • 四、实验原理图 • 五、实验步骤 • 六、实验程序
一、实验目的 • 1、掌握工业顺序控制程序的简单编程,中断的使用。 • 2、 学习延时程序的编写和使用。 • 3、学习现场数据的保护和堆栈
二、实验内容 • 8032的P1.0—P1.6控制注塑机的七道工序,现模拟控制七只发光二极管的点亮,高电平有效,设定每道工序时间转换为延时,P3.4为开工启动开关,低电平启动。P3.3为外故障输入模拟开关,P3.3为0时不断告警,P1.7为报警声音输出,设定6道工序只有一位输出,第七道工序三位有输出。
中断、P1口、P3口初始化,P1口全低 保护现场 报 警 等开工 N 工序1延时 故障清除了吗? Y 工序2延时 恢复现场 · · · · 返回 工序7延时 三、实验程序流程图 中断服务子程序: 主程序: 关输出 开始 · · ·
五、实验步骤 • 七、实验步骤 • ① P3.4连K1,P3.3连K2,P1.0—P1.6分别连到L1—L7,P1.7连SIN(电子音响输入端)。 • K1开关拨在上面,K2拨在上面。 • ③ 用连续方式从起始地址0580H开始运行程序(输入0580后按EXEC键),此时应在等待开工状态。 • ④ K1拨至下面(显低电平),各道工序应正常运行。 • ⑤ K2拨至下面(低电平),应有声音报警(人为设置故障)。 • ⑥ K2拨至上面(高电平),即排除故障,程序应从刚才报警的那道工序继续执行。 • 思考:修改程序,使每道工序中有多位输出。
ORG 0000H LJMP ST ORG 0013H LJMP BREAK ORG 0030H ST: MOV SP,#60H MOV P1,#0 L1:JB P3.4,L1 SETB EA SETB EX1 SETB PX1 LP:MOV P1,#1 LCALL DL10MS MOV P1,#2 LCALL DL10MS MOV P1,#4 LCALL DL10MS MOV P1,#8 LCALL DL10MS MOV P1,#10H LCALL DL10MS MOV P1,#20H LCALL DL10MS MOV P1,#07H LCALL DL10MS LJMP L2 六、实验程序
DL10MS:MOV R6,#10 • DL1MS:MOV R7,#250 • LP:NOP • NOP • DJNZ R7,LP • DJNZ R6,DL1MS • RET • END • BREAK: MOV PSW,#08H • LL: MOV P1,#0 • MOV R3,#10 • KK: SETB P1.7 • LCALL DL10MS • CLR P1.7 • LCALL DL10MS • DJNZ R3,KK • LCALL DL10MS • JNB P3.3, LL • MOV PSW,#00H • RETI
实验四、A/D 转换实验 • 一、实验目的 • 二、实验内容 • 三、实验程序流程图 • 四、实验原理图 • 五、实验步骤 • 六、实验程序
一、实验目的 • 1.掌握A/ D转换与单片机的接口方法。 • 2.了解A/ D芯片0809转换性能及编程方法。 • 3.通过实验了解单片机如何进行数据采集。
二、实验内容 • 利用实验仪上的0809做A/ D转换实验,实验仪上的W1电位器提供模拟量输入。编制程序,将模拟量转换成数字量,通过二位七段数码管显示器显示。
0809初始化 初始显示00 0809通道0采样 数码管显示采样 四、实验原理图 开 始
五、实验步骤 • 1、把A/D区0809的0通道IN0用插针线接至W1的中心抽头V01插孔(0—5V)。 • 2、0809的CLK插孔与分频输出端T4相连。 • 3. 将W2的输入VIN接+12V插孔,+12V插孔再连到外置电源的+12上(电源内置时,该线已连好)。调节W2,使VREF端为+5V。 • 4. 将A/D区的VREF连到W2的输出VREF端。(如果精度要求不高的话,A/D区的VREF直接连到VCC插孔,这样步骤③可以去掉)。 • 5、EXIC1上插上74LS02芯片,将有关线路按图连好。
6、将A/D区D0—D7用排线与BUS2区XD0—XD7相连。 • 7、BUS3区P3.0插孔连到数码管显示区DATA插孔。 • 8、BUS3区P3.1插孔连到数码管显示区CLK插孔。 • 9、单脉冲发生/SP插孔连到数码管显示区CLR插孔。 • 10、 按实验系统上的F2键,仿真实验仪进入仿真状态(内程序,外数据),显示器显示“P……”。 • 11、 以连续方式从起始地址06D0运行程序,在数码管上显示当前采集的电压值转换后的数字量,调节W1数码管显示将随着电压变化而相应变化,典型值为0V—00H,2.5V—80H,5V—FFH。
六、实验程序 • MOVC A,@A+DPTR • MOV SBUF,A • MOV R7,#10 • DJNZ R7,$ • MOV A,R0 • SWAP A • ANL A,#0FH • MOVC A,@A+DPTR • MOV SBUF,A • MOV R7,#10 • DJNZ R7,$ • LCALL DELAY • LJMP ST • ORG 0000H • ST:CLR A • MOV SP,#60H • MOV DPTR,#9000H • MOVX @DPTR,A • MOV R7,#0FFH • MOV SBUF,A • MOV SBUF,A • MOVX A,@DPTR • DISP:MOV R0,A • ANL A,#0FH • LP:MOV DPTR,#TAB
TAB: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H • DB 0FEH,0F6H,0EEH,3EH,9CH,7AH,9EH,BEH • DELAY:MOV R6,#255 • DL:MOV R7,#255 • DL1:DJNZ R7,DL1 • DJNZ R6,DL • RET • END