80C51 单片机程序调试实验 1.按钮控制LED——51 单片机的Proteu s 实验 实验原理 51 单片机的一个I/O 口接按钮,再通过另一个I/O 口控制LED 的亮、灭。 主要器件以及电路图 单片机——AT89C51,上拉电阻——pu llu p,按钮bu tton,发光二极管——LED。 按钮控制LED 汇编程序源码 ORG 0 START: MOV P1,#0 ;LED 不亮 MOV P0,#0FFH ;P0 口准备读数 ST1: JB P0.0,$ ;等待按钮抬起 JNB P0.0,$ ;等待按钮按下 ;以上两句使得只有按一下按钮才可能执行下面的语句 CPL P1.0 ;LED 状态改变 SJMP ST1 ;返回 END 2.流水灯—51 单片机的Proteu s 实验 实验原理 通过个51 单片机的一个I/O 口送不同的数字,实现8 个LED 的流水灯。本实验为移动一个不亮的LED。通过修改送给 I/O 口送的数字可以实现不同方式的流水灯。 主要器件以及电路图 单片机——AT89C51,8 排电阻——RX8,发光二极管——LED。 流水灯汇编程序源码 org 0 sjmp start org 30h start: mov P1,#1 ;P1.0 为1,不亮 mov P1,#2 ;P1.1 为1,不亮 mov P1,#4 ;以下原理同上 mov P1,#8 mov P1,#10h mov P1,#20h mov P1,#40h mov P1,#80h sjmp start delay : nop nop nop nop ret end 3.蜂鸣器—51 单片机的Proteu s 实验 实验原理 51 单片机的一个I/O 口接7 个按钮,再通过另一个I/O 口控制蜂鸣器发出声音。 主要器件以及电路图 单片机——AT89C51,蜂鸣器——speaker,按钮bu tton。 汇编程序源码 晶振 12M,已在 Proteu s 下测试,听起来声音差不多。 ORG 0 SJMP START DLY: MOV R2,#20 ;延时程序 D1: MOV R3,#248 DJNZ R3,$ DJNZ R2,D1 RET ORG 30H START: MOV TMOD,#1 ;定时器0 方式1 MOV P3,#0FFH ;P3 准备读数 JNB P3.0,DODO ACALL DLY JNB P3.1,RERE ACALL DLY JNB P3.2,MIMI ACALL DLY JNB P3.3,FAFA ACALL DLY JNB P3.4,SOSO ACALL DLY JNB P3.5,LALA ACALL DLY JNB P3.6,XIXI ACALL DLY JNB P3.7,DO2DO2 ACALL DLY SJMP START DODO: LJMP DO RERE: LJMP RE MIMI: LJMP MI FAFA: LJMP FA SOSO: LJMP SO LALA: LJMP LA XIXI: LJMP XI DO2DO2: LJMP DO2 DO: MOV TH0,#0FBH MOV TL0,#44H SETB TR0 ;开启定时器 JNB TF0,$ ;等待定时到 CLR TF0 ;清除中断 CPL P2....