单片机
返回首页

单片机C语言程序设计:按键控制 8X8LED 点阵屏显示图形

2013-08-31 来源:21ic

 /*  名称:按键控制 8X8LED 点阵屏显

示图形

说明:每次按下 K1 时,会使 8X8LED

点阵屏循环显示不同图形。

本例同时使用外部中断和定

时中断。

*/

#include


#include

#define uchar unsigned char

#define uint unsigned int

//待显示图形编码

uchar code M[][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

};

uchar i,j;

//主程序

void main()

{

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 中断控制点阵屏显示

void Show_Dot_Matrix() interrupt 1

{

TH0=(65536-2000)/256;//恢复初值

TL0=(65536-2000)%256;

 

 

 

 

P0=0xff;       //输出位码和段码

P0=~M[i][j];

P1=_crol_(P1,1);

j=(j+1)%8;

}


//INT0 中断(定时器由键盘中断启动)

void Key_Down() interrupt 0

{

P0=0xff;

P1=0x80;

j=0;

 

 


i=(i+1)%3;    //i 在 0,1,2 中取值,因为只要 3 个图形

TR0=1;

}

单片机C语言程序设计:按键控制 8X8LED 点阵屏显示图形

 

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

精选电路图
  • 家用电源无载自动断电装置的设计与制作

  • 短波AM发射器电路设计图

  • 带有短路保护系统的5V直流稳压电源电路图

  • 如何调制IC555振荡器

  • 基于ICL296的大电流开关稳压器电源电路

  • 基于TDA2003的简单低功耗汽车立体声放大器电路

    相关电子头条文章