程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 點亮所有點陣(用到動態掃描)

點亮所有點陣(用到動態掃描)

編輯:C++入門知識

[cpp] 
#include<reg52.h> 
typedef unsigned char uint8; 
typedef unsigned int  uint16; 
 
sbit  ADDR0=P1^0; 
sbit  ADDR1=P1^1; 
sbit  ADDR2=P1^2; 
sbit  ENLED1=P1^4; 
sbit  ENLED2=P1^3; 
void display(); 
void int_init(); 
main() 

    P0=0x00; 
    ENLED1=0; 
    ENLED2=0; 
 
    //選中定時器1方式1 
    TMOD |= 0x10; 
    TMOD &= 0xdf;  
    TR1   = 1; 
   //0xF8CD 是2ms,定時器1方式1 
    TH1=0xF8; 
    TL1=0xCD; 
    int_init(); 
    while(1); 

 
void int_init() 

    ET1 = 1; 
    EA  = 1; 

 
 
void display() 

  static uint8 n; 
  switch(n) 
  { www.2cto.com
    case 0:ADDR0=0;ADDR1=0;ADDR2=0;n++;break; 
    case 1:ADDR0=0;ADDR1=0;ADDR2=1;n++;break; 
    case 2:ADDR0=0;ADDR1=1;ADDR2=0;n++;break; 
    case 3:ADDR0=0;ADDR1=1;ADDR2=1;n++;break; 
    case 4:ADDR0=1;ADDR1=0;ADDR2=0;n++;break; 
    case 5:ADDR0=1;ADDR1=0;ADDR2=1;n++;break; 
    case 6:ADDR0=1;ADDR1=1;ADDR2=0;n++;break; 
    case 7:ADDR0=1;ADDR1=1;ADDR2=1;n=0;break; 
 
  } 

 
void interrupt_led() interrupt 3 

    TH1=0xF8; 
    TL1=0xCD; 
    display(); 

作者:chenqiai0

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved