<acronym id="xonnx"></acronym>
      <td id="xonnx"></td>
    1. <pre id="xonnx"></pre>

      1. 專注電子技術學習與研究
        當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

        ARM7—LPC2124—NXP-Philips實踐

        作者:佚名   來源:互聯網   點擊數:  更新時間:2014年08月10日   【字體:

        1)    單個與多個數碼管 

         

        運行流水燈,運行數碼管,

         

        A)      硬件操作

        同前

        B)       軟件操作

        同前

        C)      控制指令軟件編寫

         

        //雙數碼管共陰極--數組

        #include

        typedef unsigned int uint;

                             

         uint const ShuMa_TAB[]={0xC0C0,0xF9F9,0xA4A4,0xB0B0,0x9999,0x9292,0x8282,

        0xF8F8,0x8080,0x9090,0x8888,0x8383,0xC6C6,0x0A1A1,0x8686,0x8E8E};//共陽極碼

               

        void delay (void)//  軟件延時函數delay()

                                

          unsigned volatile long i,j;

          for(i=0;i<60000;i++);

          for(j=0;j<9;j++);

        }

        int main(void)

         {

          PINSEL0 = 0;    //PINSEL0設置引腳為GPIO ;PINSEL1設置?

          IO0DIR = 0x00FFFF;//P0.0~P0.15設置為輸出,陽極硬件--高電平,陰極硬件可取反;DIR? 

          IO0SET = 0x00FFFF;       //P0.0~P0.151,也就是讓led

         

          while (1)

           {

           unsigned volatile long n;

                 for(n=0;n<16;n++)

                 {

                   IO0SET =~ShuMa_TAB[n];

                   delay();

                  IO0CLR =~ShuMa_TAB[n];

                   delay();

                 }       

           }

        }

        程序說明:

         

        LED組燈的流水掃描,可以過渡到數碼管的顯示與控制問題。比較TAB[]=中的數字碼就明白了。也體現了數組和循環在程序編寫中的作用和好處。

        D)      仿真結果

         

         

        ========================================================

        二進制

        十進制

        二進制

        十進制

        二進制

        十六進制

        二進制

        十六進制

        0000

        0

        0100

        4

        1000

        8

        1100

        C

        0001

        1

        0101

        5

        1001

        9

        1101

        D

        0010

        2

        0110

        6

        1010

        A

        1110

        E

        0011

        3

        0111

        7

        1011

        B

        1111

        F

         

        --------個數碼管------------

        //4數碼管共陰極表--數組

        #include

        typedef unsigned int uint;

                             

         uint const ZIFU_TAB[]={0xC0C0,0xF9F9,0xA4A4,0xB0B0,0x9999,0x9292,0x8282,

        0xF8F8,0x8080,0x9090,0x8888,0x8383,0xC6C6,0x0A1A1,0x8686,0x8E8E};//共陽極碼

         

          uint const ZIFU_TAB1[]={0xC0C0000,0xF9F90000,0xA4A40000,0xB0B00000,

          0x99990000,  0x92920000,0x82820000,0xF8F80000,0x80800000,0x90900000,

          0x88880000,0x83830000,0xC6C60000,0x0A1A10000,0x86860000,0x8E8E0000};//共陽極碼

              

        void delay (void)//  軟件延時函數delay()

                                

          unsigned volatile long i,j;

          for(i=0;i<60000;i++);

          for(j=0;j<600;j++);

        }

        int main(void)

         {

          PINSEL0 = 0;    //PINSEL0設置引腳為GPIO ;

         

          IO0DIR = 0x0FFFFFFFF;//P0.0~P0.30設置為輸出,陽極硬件--高電平,陰極硬件不能取反; 

          IO0SET = 0x0FFFFFFFF; //P0.0~P0.301,也就是讓led

          IODIR1 = 0x0FFFF0000;//P1.16~P1.30設置為輸出,陽極硬件--高電平,陰極硬件不能取反; 

          IOSET1 = 0x0FFFF0000;

         

          while (1)

           {

           unsigned volatile long n,m;

                 for(n=0;n<16;n++)

                 {

                   IO0SET =~ZIFU_TAB[n];

                   delay();

                  IO0CLR =~ZIFU_TAB[n];

                   delay();

                 for(m=0;m<16;m++)

                 {

                   IOSET1 =~ZIFU_TAB1[m];

                   delay();

                  IOCLR1 =~ZIFU_TAB1[m];

                   delay();

               }

                 }       

           }

        }

         

        ------------------------------------------------

         






        關閉窗口

        相關文章

        欧美性色欧美精品视频,99热这里只有精品mp4,日韩高清亚洲日韩精品一区二区,2020国自产拍精品高潮