| 注意:访问本站需要Cookie和JavaScript支持!请设置您的浏览器! • 打开购物车 • 查看留言 • 付款方式 • 联系我们 | 
![]()  | 
| 首页 | 电子入门 | 学单片机 | 免费资源 | 下载中心 | 商品列表 | 象棋在线 | 在线绘图 | 加盟五一 | 加入收藏 | 设为首页 | 
|   选择分类:当前分类——学单片机    相关联或者相类似的文章:    再度出击,20元打造经典PC遥控器!(531) LED显示应用:生产电子看板系统(530) 1.红外遥控噐软件解码及其应用(529) 25. 点阵式LED“0-9”数字显示技术(526) 28. 数字电压表(526) 29. 两点间温度控制(526) 20. 数字钟﹝★﹞(525) 点阵汉字显示原理 (524) Mon51仿真器(523) 用TC9148遥控MCS-51单片机(521) 数字显式FM无线音频转发板(520) 2. 模拟开关灯(520) 14. 4×4矩阵式键盘识别技术(512) 走向单片机世界(512) 10. 00-99计数器(509) 28. 数字电压表(503) 8路红外遥控开关控制器(可扩展为32路)(500) 点阵汉字显示(499) 单片机解密(破解)常见问题(498) 24Cxx子程序(497) 首页 前页 后页 尾页  本站推荐:        |    26.            点阵式LED简单图形显示技术 1.  实验任务  
在8X8点阵式LED显示“★”、“●”和心形图,通过按键来选择要显示的图形。  
2. 电路原理图  
  图4.26.1  
3. 硬件系统连线  
(1).  把“单片机系统”区域中的P1端口用8芯排芯连接到“点阵模块”区域中的“DR1-DR8”端口上; 
(2).  把“单片机系统”区域中的P3端口用8芯排芯连接到“点阵模块”区域中的“DC1-DC8”端口上; 
(3).  把“单片机系统”区域中的P2.0/A8端子用导线连接到“独立式键盘”区域中的SP1端子上; 
4. 程序设计内容  
(1).  “★”在8X8LED点阵上显示图如下图所示 
1 2 3   4 5  6  7  8 
 
 12H,14H,3CH,48H,3CH,14H,12H,00H 
(2).  “●”在8X8LED点阵上显示图如下图所示 
1 2 3   4 5  6  7  8 
 
 00H,00H,38H,44H,44H,44H,38H,00H 
(3).  心形图在8X8LED点阵上显示图如下图所示 
1 2 3   4 5  6  7  8 
 
 30H,48H,44H,22H,44H,48H,30H,00H 
5. 汇编源程序  
CNTA        EQU 30H  
COUNT    EQU 31H  
                   ORG 00H  
                   LJMP START  
                   ORG 0BH  
                   LJMP T0X  
                   ORG 30H  
START:      MOV CNTA,#00H  
                   MOV COUNT,#00H  
                   MOV TMOD,#01H  
                   MOV TH0,#(65536-4000) / 256  
                   MOV TL0,#(65536-4000) MOD 256  
                   SETB TR0  
                   SETB ET0  
                   SETB EA  
WT:            JB P2.0,WT  
                   MOV R6,#5  
                   MOV R7,#248  
D1:             DJNZ R7,$  
                   DJNZ R6,D1  
                   JB P2.0,WT  
                   INC COUNT  
                   MOV A,COUNT  
                   CJNE A,#03H,NEXT  
                   MOV COUNT,#00H  
NEXT:       JNB P2.0,$  
                   SJMP WT  
T0X: NOP  
                   MOV TH0,#(65536-4000) / 256  
                   MOV TL0,#(65536-4000) MOD 256  
                   MOV DPTR,#TAB  
                   MOV A,CNTA  
                   MOVC A,@A+DPTR  
                   MOV P3,A  
                   MOV DPTR,#GRAPH  
                   MOV A,COUNT  
                   MOV B,#8  
                   MUL AB  
                   ADD A,CNTA  
                   MOVC A,@A+DPTR  
                   MOV P1,A  
                   INC CNTA  
                   MOV A,CNTA  
                   CJNE A,#8,NEX  
                   MOV CNTA,#00H  
NEX:         RETI  
TAB:          DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH  
GRAPH:    DB 12H,14H,3CH,48H,3CH,14H,12H,00H  
                   DB 00H,00H,38H,44H,44H,44H,38H,00H  
                   DB 30H,48H,44H,22H,44H,48H,30H,00H  
                   END  
6. C语言源程序  
#include <AT89X52.H>  
unsigned char code tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};  
unsigned char code graph[3][8]={{0x12,0x14,0x3c,0x48,0x3c,0x14,0x12,0x00},  
                                {0x00,0x00,0x38,0x44,0x44,0x44,0x38,0x00},  
                                {0x30,0x48,0x44,0x22,0x44,0x48,0x30,0x00}  
                               };  
unsigned char count;  
unsigned char cnta;  
void main(void)  
{  
  unsigned char i,j;  
  TMOD=0x01;  
  TH0=(65536-4000)/256;  
  TL0=(65536-4000)%256;  
  TR0=1;  
  ET0=1;  
  EA=1;  
  while(1)  
    {  
      if(P2_0==0)  
        {  
          for(i=5;i>0;i--)  
          for(j=248;j>0;j--);  
          if(P2_0==0)  
            {  
              count++;  
              if(count==3)  
                {  
                  count=0;  
                }  
              while(P2_0==0);  
            }  
        }  
    }  
}  
void t0(void) interrupt 1 using 0  
{  
  TH0=(65536-4000)/256;  
  TL0=(65536-4000)%256;  
  P3=tab[cnta];  
  P1=graph[count][cnta];  
  cnta++;  
  if(cnta==8)  
    {  
      cnta=0;  
    }  
}  1、 本站不保证以上观点正确,就算是本站原创作品,本站也不保证内容正确。  2、如果您拥有本文版权,并且不想在本站转载,请书面通知本站立即删除并且向您公开道歉!  |   
| 
 本站协议 |
 版权信息 | 
 关于我们 | 
 本站地图 | 
 营业执照 | 
 发票说明 | 
 付款方式 | 
 联系方式
 深圳市宝安区西乡五壹电子商行——粤ICP备16073394号-1;地址:深圳西乡河西四坊183号;邮编:518102 E-mail:51dz$163.com($改为@);Tel:(0755)27947428 工作时间:9:30-12:00和13:30-17:30和18:30-20:30,无人接听时可以再打手机13537585389  |