你好!欢迎来到 !
语言
当前位置: 首页>> 技术中心>> 单片机入门>> 单片机C语言程序设计:8X8LED 点阵显示数字

单片机C语言程序设计:8X8LED 点阵显示数字

关键字: 8X8LED 单片机 C语言 程序设计 作者:admin 来源:不详 发布时间:2018-05-18 浏览:13

/* 名称:按键控制 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 点阵显示数字

扩展阅读:定时器控制数码管动态显示程序

编辑:admin 最后修改时间:2018-05-19

联系方式

0755-82591179

传真:0755-82591176

邮箱:vicky@yingtexin.net

地址:深圳市龙华区民治街道民治大道973万众润丰创业园A栋2楼A08

Copyright ? 2014-2023 All Rights Reserved.粤ICP备14043402号-4

Baidu
map