8乘8点阵显示.docx_第1页
8乘8点阵显示.docx_第2页
8乘8点阵显示.docx_第3页
8乘8点阵显示.docx_第4页
8乘8点阵显示.docx_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/*8X8LED 点阵显示数字/* 名称:8X8LED 点阵显示数字/*说明:8X8LED 点阵屏循环显/*示数字09,刷新过程由定时器中/*断完成。#include #include #define uchar unsigned char #define uint unsigned int uchar code Table_of_Digits= 0x00,0x3e,0x41,0x41,0x41,0x3e,0x00,0x00, /0 0x00,0x00,0x00,0x21,0x7f,0x01,0x00,0x00, /1 0x00,0x27,0x45,0x45,0x45,0x39,0x00,0x00, /2 0x00,0x22,0x49,0x49,0x49,0x36,0x00,0x00, /3 0x00,0x0c,0x14,0x24,0x7f,0x04,0x00,0x00, /40x00,0x72,0x51,0x51,0x51,0x4e,0x00,0x00, /5 0x00,0x3e,0x49,0x49,0x49,0x26,0x00,0x00, /6 0x00,0x40,0x40,0x40,0x4f,0x70,0x00,0x00, /7 0x00,0x36,0x49,0x49,0x49,0x36,0x00,0x00, /8 0x00,0x32,0x49,0x49,0x49,0x3e,0x00,0x00 /9 ; uchar i=0,t=0,Num_Index; /主程序void main() P3=0x80; Num_Index=0; /从0 开始显示TMOD=0x00; /T0 方式0 TH0=(8192-2000)/32; /2ms 定时TL0=(8192-2000)%32; IE=0x82; TR0=1; /启动T0 while(1); /T0 中断函数void LED_Screen_Display() interrupt 1 TH0=(8192-2000)/32; /恢复初值TL0=(8192-2000)%32; P0=0xff; /输出位码和段码P0=Table_of_DigitsNum_Index*8+i; P3=_crol_(P3,1); if(+i=8) i=0; /每屏一个数字由8 个字节构成if(+t=250) /每个数字刷新显示一段时间 t=0; if(+Num_Index=10) Num_Index=0; /显示下一个数字 /*2. 按键控制8X8LED 点阵屏显示图形/* 名称:按键控制8X8LED 点阵屏显示图形说明:每次按下K1 时,会使/*8X8LED 点阵屏循环显示不同图形。本例同时使用外部中断和定时中断。*/ #include #include #define uchar unsigned char #define uint unsigned int /待显示图形编码uchar code M8= 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=Mij; 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; /程序代码/#include #include #define uchar unsigned char #define uint unsigned int uchar code table2= 0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f; uchar code table1= 0x10,0x10,0x38,0x54,0x18,0x28,0x24,0x00; uchar code table3= 0x10,0x50,0x3C,0x14,0x10,0x28,0x14,0x00 ; sbit led=P20; uint t=0; uchar i=0;uint flag=0;/主程序/void main() TMOD=0x00; /T0 方式0 TH0=(8192-2000)/32; /2ms 定时TL0=(8192-2000)%32; IE=0x82; TR0=1; /启动T0 while(1); /T0 中断函数void LED_Screen_Display() interrupt 1 TH0=(8192-2000)/32; /恢复初值TL0=(8192-2000)%32; t+; i+; if(i=8) i=0; if(t=480)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论