3个普通IO识别22个按键试验
Bus = 1;
}
while(--i); //延时8us
Bus = 1;
}
//=============== 总线驱动 =================
void Bus_drive()
{
unsigned char i = 0;
unsigned char Sdat;
Send_bit(1); //Bit6消隐
do Bus = 1; while(--i); //延时768us
do Bus = 0; while(--i); //延时768us
Bus = 1;
Sdat = LED_FONT[Disp_buf[Dig++]]; //获取显示数据
Send_bit(Sdat & 0x01); //发送位0
Send_bit(Sdat & 0x02); //发送位1
Send_bit(Sdat & 0x04); //发送位2
Send_bit(Sdat & 0x08); //发送位3
Send_bit(Sdat & 0x10); //发送位4
Send_bit(Sdat & 0x20); //发送位5
Send_bit(Dig & 0x01); //发送位选1
Send_bit(Dig & 0x02); //发送位选2
while(--i); //延时512us
Send_bit(Sdat & 0x40); //发送位6
for (i = 7;i> 0;i--) Send_bit(1); //位6移至Dout
if (Dig == 3) Dig = 0;
}
/*===================================================================
延时 5ms 程序
===================================================================*/
void Delay_5ms()
{
while(!TF1);
TF1 = 0;
TH1 = (- 5000) / 256;
TL1 = (- 5000) % 256;
}
/*===================================================================
主程序
===================================================================*/
void main()
{
TMOD = 0x10; //定时器1,16位模式
TCON = 0xc0; //TR1=1;TF1=1;
while(1) //主循环
{
Bus_drive(); //显示总线驱动
Key_scan(); //检测按键
Delay_5ms(); //延时5MS
}
- Windows CE下驱动程序开发基础(二)(11-09)
- 用NiosII搭建的固态盘设备系统(03-23)
- 采用Linux与DSP/BIOS RTOS实施双OS信号处理技术(02-13)
- 迎合三重播放业务时代需要的基础局端 DSP(01-28)
- 展望未来 多核DSP技术不仅仅是小把戏(04-03)
- 基于Nios II的多媒体广告系统原理设计(02-20)