/* 名称:按键控制 8X8LED 点阵屏显
示图形
说明:每次按下K1时,会使8X8LED
点阵屏循环显示不同图形。
本例同时使用外部中断和定
时中断。
*/
#includereg51.h>
#includeintrins.h> #defineucharunsignedchar #defineuintunsignedint //待显示图形编码 ucharcodeM[][8]= { {0x00,0x7e,0x7e,0x7e,0x7e,0x7e,0x7e,0x00},  //图1 {0x00,0x38,0x44,0x54,0x44,0x38,0x00,0x00},  //图2 {0x00,0x20,0x30,0x38,0x3c,0x3e,0x00,0x00}  //图3 }; uchari,j; //主程序 voidmain() { P0=0xff; P1=0xff; TMOD=0x01;  //T0方式1 TH0=(65536-2000)/256;  //2ms定时 TL0=(65536-2000)%256; IT0=1;  //下降沿触发 IE=0x83;  //允许定时器0、外部0中断 i=0xff;  //i的初值设为0xff,加1后将从0开始 while(1); } //T0中断控制点阵屏显示 voidShow_Dot_Matrix()interrupt1 { TH0=(65536-2000)/256;//恢复初值 TL0=(65536-2000)%256; P0=0xff;  //输出位码和段码 P0=~M[i][j]; P1=_crol_(P1,1); j=(j+1)%8; } //INT0中断(定时器由键盘中断启动) voidKey_Down()interrupt0 { P0=0xff; P1=0x80; j=0; i=(i+1)%3;  //i在0,1,2中取值,因为只要3个图形 TR0=1; } 扩展阅读:定时器控制数码管动态显示程序

 
					
				
 
			
			
			
						
			 我要赚赏金
 我要赚赏金 STM32
STM32 MCU
MCU 通讯及无线技术
通讯及无线技术 物联网技术
物联网技术 电子DIY
电子DIY 板卡试用
板卡试用 基础知识
基础知识 软件与操作系统
软件与操作系统 我爱生活
我爱生活 小e食堂
小e食堂

