(执行到光标所在行),即可全速执行完箭头与光标之间的程序行。第二,在进入该子程序后,使用菜单Debug/Step Out of Current Function(单步执行到该函数外),使用该命令后,即全速执行完调试光标所在的子程序或子函数并指向主程序中的下一行程序(这里是JMP LOOP行)。第三种方法,在开始调试时,按F10而非F11,程序也将单步执行,不同的是,执行到lcall delay行时,按下F10键,调试光标不进入子程序的内部,而是全速执行完该子程序,然后直接指向下一行“JMP LOOP”。灵活应用这几种方法,可以大大提高查错的效率。
停止仿真调试。用鼠标左键单击主菜单Debug/Start/Stop Debug Session推出调试模式。 注意:每次重新Debug 前要按一下复位键使单片机复位。
2.2.7 参看运行结果。在调试程序时往往要查看程序的运行结果,包括程序运行的中间值,这对判断程序的正确性至关重要。Keil提供了方便的查看工具,以便查看诸如变量、I/O口、存储器等各种运行结果。用鼠标左键点击主菜单Peripheral/I/O—Ports即可查看I/O口的结果,用鼠标左键单击子菜单Port1,查看并行口1的运行结果。
实验二 并行口输入输出实验——循环彩灯控制
一、实验目的
1.掌握并行口的输入输出编程方法。 2.掌握分支和循环程序的设计方法。 3.掌握程序的调试方法。
4.掌握外部中断程序的设计方法
二、实验要求
1.P1口接8个开关,P0口接8个灯,每个开关对应一个灯,实时读取开关状态,开关闭合时,灯亮。开关断开时,灯灭。
2.用5个开关K0~K4,控制P0口所接8个灯的循环,各开关的功能要求如下:
(1)K0用于引发外部中断,在外部中断子程序中,读取循环彩灯的循环方式 (2)K1~K2分别选择灯的四种闪动方式;
(3)K3用于控制灯的循环方式(顺时针或逆时针); (4)K4用于选择的两种灯的循环速度
三、所用器件
5个开关,5个5.1KΩ电阻,8个发光二极管,8个220Ω电阻
实验三 七段LED数码管控制实验
一、实验目的
1.掌握并行口的输入输出编程方法。 2.掌握查表程序的设计方法。
3.掌握七段LED数码管的显示控制方法。
二、实验要求
1.首先用万用表判断所用数码管是共阴极还是共阳极数码管,并测出各引脚功能,画出引脚分布图。
2.实验采用4位一体的数码管,用P1口控制段码输出信号线,P0口控制位选线: (1)当开关K0接低电平时,第一位依次显示0~F,然后第二位、第三位、第四位,再循环回第一位。
(2)当开关K0接高电平时,四位动态显示“HELP”。 三、所用器件
1个开关,1个5.1KΩ电阻,4位一体的七段LED数码1个,8个100Ω电阻
实验四 定时器中断实验
一、实验目的
1.掌握定时器中断的编程方法。 2.掌握中断优先级的控制方法。 3. 掌握中断嵌套的编程方法。
二、实验要求
1.用T0定时器实现1秒定时,控制一个LED亮1秒,灭1秒,并不断循环。 2.实现一个4位秒表:
(1)用开关K0模拟秒表的启动、停止、清零功能,按一次启动计时,按一次停止,再按一次清零,在三个状态中循环。
(2)最低位按1/10秒计数,依次计数单位为1秒,1分,10分 3. 要求K0使用外部中断,优先级高于T0的优先级
实验五 脉冲宽度与频率测量实验
一、实验目的
1.掌握计数功能的使用方法。 2.掌握脉冲宽度的测量方法。 3. 掌握脉冲周期的测量方法
二、实验要求
1.自主设计测量方法,编程连续测量输入脉冲宽度,并用七段LED显示结果。
2.自主设计测量方法,编程连续测量输入脉冲周期,并用七段LED显示结果。 3.自主设计测量方法,同时测量脉冲宽度和周期,由开关K0选择显示脉冲宽度还是显示脉冲周期。
4.被测脉冲频率为1KHz左右。