实验目的:
通过实验,掌握如何通过74HC595扩展IO口,掌握如何运用动态扫描的方法驱动多位数码管;
实验内容:
判断按键SW8(INT1)是否按下,并对按键次数计数,显示在数码管之上;(单片机刚启动后,数码管显示为全0,当第一次按下SW8后,数码管显示0001,当第二次按下SW8后,数码管显示0002)
代码实现:
//ICC-AVR application builder : 2015-4-1 下午 14:28:10
// Target : M16
// Crystal: 7.3728Mhz
#include <iom16v.h>
#include <macros.h>
#define CLR_SHCLK() PORTB&=~(1<<1) //移位时钟 SCLK
#define SET_SHCLK() PORTB|=(1<<1) //移位时钟 SCLK,上升沿
#define CLR_STCLK() PORTB&=~(1<