并作出快速响应、及时处理。这是由片内的中断系统来实现的。当中断请求源发出中断请求时,
如果中断请求被允许,单片机暂时中止当前正在执行的主程序,转到中断服务处理程序处理中断
服务请求。中断服务处理程序处理完中断服务请求后,再回到原来被中止的程序之处(断点),
继续执行被中断的主程序。
图 2-6 为整个中断响应和处理过程。
图 5 中断响应和处理过程
如果单片机没有中断系统,单片机的大量时间可能会浪费在查询是否有服务请求发生的定时
查询操作上。采用中断技术完全消除了单片机在查询方式中的等待现象,大大地提高了单片机的
工作效率和实时性。
3.2 数码管介绍
3.3.1 四位一体数码管概述
LED 数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的
器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管分为动态显
示和静态显示驱动两种,静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码
都由一个单片机的 I/O 端口进行驱动,或者使用如 BCD 码二-十进制译码器译码进行驱动。
静态驱动的优点是编程简单,显示亮度高,缺点是占用 I/O 端口多,如驱动 5 个数码管静
态显示则需要 5×8=40 根 I/O 端口来驱动,要知道一个 STC89C52 的 I/O 端口才 32 个呢:),
实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。数码管动态显示接
口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的 8 个显示笔
划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极 COM 增加位选通控制电
路,位选通由各自独立的 I/O 线控制,当单片机输出字形码时,所有数码管都接收到相同
的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通 COM 端电路的控
制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的
数码管就不会亮。通过分时轮流控制各个数码管的的 COM 端,就使各个数码管轮流受控
显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为 1~2ms,由于人的
视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫
描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果
和静态显示是一样的,能够节省大量的 I/O 端口,而且功耗更低。
3.3.2 四位一体数码管引脚图
光阳数码管共阳端为每一位的 led 阳极都接在一起。引脚图如图 6;