单片机 点阵显示图形

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
};
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开始
#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
while(1);
}
//T0中断控制点阵屏显示
void Show_Dot_Matrix() interrupt 1
{
TH0=(65536-2000)/256;//恢复初值
TL0=(65536-2000)%256;
P0=0xfwk.baidu.com;//输出位码和段码
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;
}
按键控制8X8LED点阵屏显示图形
/*名称:按键控制8X8LED点阵屏显示图形
说明:每次按下K1时,会使8X8LED点阵屏循环显示不同图形。
本例同时使用外部中断和定时中断。
*/
#include<reg51.h>
#include<intrins.h>
#define uchar unsigned char
相关文档
最新文档