• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            光立方程序(光立方程序流程圖)

            更新時間:2023-03-01 06:45:14 閱讀: 評論:0

            光立方取模軟件怎么生成程序

            1、3D8光立方取模軟件的視圖分為:正視圖,側視圖和俯視圖,取模時只需要在你想要的視圖上操作即可,不必管其他視圖的變化
            代表光立方的三視圖分別是:正視圖,側視圖和俯視圖
            2、用鼠標點擊8*8的小方格,白色代表點亮,灰色代表熄滅,數據會顯示在下面的hex顯示區內

            這光立方的程序。0x0000這是什么東西?還有為什么還有數字相加?求解!謝謝。

            0x0000是十六進制的零,數值上和0是一樣的,這樣寫只是為了以后程序維護方便而已。數字相加也是也是為維護方便,比如編程者的本意可以是:加數都是16(或24)告訴看程序的人基地址可能是16或24,被加數是偏移地址,一看就明白。

            你好,作為一個單片機初學者,對光立方真心看不懂,可不可以詳細點介紹一下光立方怎么工作的,求程序參考

            光立方簡單講就是用單片機控制很多規則排列的LED的亮和滅。

            1、先了解單個LED的控制方式,可以是將正極接電源,負極通過一個限流電阻連接至單片機的某個IO口。IO口輸出低電平時,LED就亮,反之,LED滅。

            2、若按照單個LED的控制方式,每個LED需要占用單片機的一個IO口,控制100個LED就需要100個IO口。那么,有沒有一種方式,可以用較少的IO口,控制較多的LED呢?答案是肯定的,這種方法,就是掃描驅動電路。

            3、掃描驅動電路基本原理是利用人眼的視覺停留效應。以2×2掃描驅動電路為例對其工作原理進行簡述,有4LED,分為2行2列,電路如下(圖中省略了限流電阻):

            當:

            C1=x,C2=x,L1=1,L2=1時,全滅

            C1=1,C2=0,L1=0,L2=1時,D11亮

            C1=1,C2=0,L1=1,L2=0時,D12亮

            C1=0,C2=1,L1=1,L2=1時,全滅

            C1=0,C2=1,L1=0,L2=1時,D21亮

            C1=0,C2=1,L1=1,L2=0時,D22亮

            可見,通過控制C1、C2、L1、L2,可以使D11、D12、D21、D22的任意一個LED的亮滅,也可以使四個LED全滅。

            用上述方式輪流點亮D11和D12,一次只亮一個,但是,若將輪換速度加快,每秒之內輪換50次以上,由于人眼的視覺停留效應,視覺效果上就是兩個LED同時亮。

            這樣,通過控制C1、C2、L1、L2,可以控制全部LED的亮滅。

            上述電路用4個IO口控制4個LED,與直接控制相比,并未節約IO口,但是,若將行和列的數量加大,變為16×16時,共256個LED,控制僅需32個IO口,也就是說,行列數越多,相比越節省IO口。

            仔細分析上述控制過程,可以發現,還可以進一步節約IO口的數量。

            以16×16的整列為例,若限定16列中,每次只亮一列,就可以用4根IO線加一個4~16譯碼器替代。這樣,就變為16+4只有20個IO口了。而行還是保留16根,因為這樣做,可以一次控制1列中的多個LED同時亮。加快掃描進度。

            以上就是光立方的基本原理。熟悉其控制過程后,編寫程序并不難。


            51單片機控制的共陽4*4*4光立方的程序

            1、P0和P1連接16個LED陰極,一共64個燈。假設每豎著4個接一個管腳。
            2、假設P0.3控制一豎排4個燈。先讓除第三層陽極其余都輸出低電平,除P0.3之外所有陰極輸出高電平。這時除要控制的燈,其他都熄滅了。
            3、讓第三層輸出高電平,P0.3輸出低電平。你要控制的燈就量了。

            52單片機 4*4*4光立方程序豎共陽層共陰 uln2803 573鎖存,跪求程序

            /*******4*4*4的光立方,層共陰(P0^0~P0^3),列共陽(P1和P2口)*******/

            #include<stdio.h>
            #include<reg52.h>
            #define uchar unsigned char
            #define uint unsigned int
            /*****************************延時函數******************************/
            void Delay(uint del)
            {
            uint i,j;
            for(i=0; i<del; i++)
            for(j=0; j<4000; j++);
            }

            void Delay1(unsigned int t)
            {
            while(--t);
            }

            /***************群體閃爍********************/
            void flash_1() //全部
            {
            uchar i;
            for(i=0;i<3;i++)
            {
            P0=0X00;
            P1=0Xff;
            P2=0Xff;
            Delay(20);
            P1=0X00;
            P2=0X00;
            Delay(20);
            }
            }

            void flash_2() //粒閃
            {
            uchar i,m,n;
            for(i=0;i<12;i++)
            {
            for(m=0;m<3;m++)
            {
            P0=0x05;
            P1=0xaa;
            P2=0xaa;
            Delay(1);
            P0=0x0a;
            P1=0x55;
            P2=0x55;
            Delay(1);

            }
            for(n=0;n<3;n++)
            {
            P0=0x05;
            P1=0x55;
            P2=0x55;
            Delay(1);
            P0=0x0a;
            P1=0xaa;
            P2=0xaa;
            Delay(1);

            }

            }
            }

            void flash_3() //框+立體米
            {
            uchar i,m,n;
            for(i=0;i<7;i++)
            {
            for(m=0;m<3;m++)
            {
            P0=0x00;
            P1=0x09;
            P2=0x90;
            Delay(1);
            P0=0x06;
            P1=0x9f;
            P2=0xf9;
            Delay(1);

            }
            for(n=0;n<3;n++)
            {
            P0=0x06;
            P1=0x60;
            P2=0x06;
            Delay(1);
            P0=0x09;
            P1=0xf6;
            P2=0x6f;
            Delay(1);

            }

            }
            }

            void flash_4(uchar i,uchar j,uchar k) //柱體‘回’閃
            {
            P0=0x00;
            P1=0x60;
            P2=0x06;
            Delay(i);
            P1=0x9f;
            P2=0xf9;
            Delay(i);

            P1=0x60;
            P2=0x06;
            Delay(j);
            P1=0x9f;
            P2=0xf9;
            Delay(j);

            P1=0x60;
            P2=0x06;
            Delay(k);
            P1=0x9f;
            P2=0xf9;
            Delay(k);
            }

            void flash_5() //十字閃
            {
            uchar m,n;
            P0=0x00;
            for(m=0;m<3;m++)
            {
            P1=0x60;
            P2=0x06;
            Delay(10);
            P1=0x00;
            P2=0x00;
            Delay(10);
            }
            for(n=0;n<3;n++)
            {
            P1=0x66;
            P2=0x66;
            Delay(10);
            P1=0x00;
            P2=0x00;
            Delay(10);
            P1=0xf0;
            P2=0x0f;
            Delay(10);
            P1=0x00;
            P2=0x00;
            Delay(10);
            }

            }

            /*********************************列斷續掃描**************************/
            void line_1(uchar i,uchar j,uchar k) //單列亮
            {
            P0=0X00;
            P1=0X1;
            P2=0X00;
            Delay(i);/*1*/
            P1=0X2;
            P2=0X00;
            Delay(i);/*2*/
            P1=0X4;
            P2=0X00;
            Delay(i);/*3*/
            P1=0X8;
            P2=0X00;
            Delay(i);/*4*/
            P1=0X10;
            P2=0X00;
            Delay(j);/*5*/
            P1=0X00;
            P2=0X8;
            Delay(j);/*12*/
            P1=0X00;
            P2=0X10;
            Delay(j);/*13*/
            P1=0X00;
            P2=0X20;
            Delay(j);/*14*/
            P1=0X00;
            P2=0X40;
            Delay(k);/*15*/
            P1=0X00;
            P2=0X80;
            Delay(k);/*16*/
            P1=0X00;
            P2=0X1;
            Delay(k);/*9*/
            P1=0X80;
            P2=0X00;
            Delay(k);/*8*/
            }

            void line_2(uchar i,uchar j,uchar k) //逐漸列全亮
            {
            // P0=0X00;
            P1=0X1;
            P2=0X00;
            Delay(i);/*1*/
            P1=0X3;
            P2=0X00;
            Delay(i);/*2*/
            P1=0X7;
            P2=0X00;
            Delay(i);/*3*/
            P1=0X0f;
            P2=0X00;
            Delay(i);/*4*/
            P1=0X1f;
            P2=0X00;
            Delay(j);/*5*/
            P1=0X1f;
            P2=0X8;
            Delay(j);/*12*/
            P1=0X1f;
            P2=0X18;
            Delay(j);/*13*/
            P1=0X1f;
            P2=0X38;
            Delay(j);/*14*/
            P1=0X1f;
            P2=0X78;
            Delay(k);/*15*/
            P1=0X1f;
            P2=0Xf8;
            Delay(k);/*16*/
            P1=0X1f;
            P2=0Xf9;
            Delay(k);/*9*/
            P1=0X9f;
            P2=0Xf9;
            Delay(k);/*8*/
            }

            void line_3(uchar n,uchar j,uchar k) //雙列繞心轉
            {
            uchar i;
            for(i=0;i<3;i++)
            {
            P0=0x00;
            P1=0x41;
            P2=0x14;
            Delay(n);
            P1=0x42;
            P2=0x24;
            Delay(n);
            P1=0x24;
            P2=0x42;
            Delay(j);
            P1=0x28;
            P2=0x82;
            Delay(j);
            P1=0x30;
            P2=0x03;
            Delay(k);
            P1=0xc0;
            P2=0x0c;
            Delay(k);
            }
            }

            /****************************************平面掃描*************************************/
            void plan_1(uchar i) //列面掃描
            {
            P0=0x00;
            P1=0XF;
            P2=0X00;
            Delay(i);/*1*/
            P1=0XF0;
            P2=0X00;
            Delay(i);/*2*/
            P1=0X00;
            P2=0XF;
            Delay(i);/*3*/
            P1=0X00;
            P2=0XF0;
            Delay(i);/*4*/
            P1=0X00;
            P2=0XF;
            Delay(i);/*3*/
            P1=0XF0;
            P2=0X00;
            Delay(i);/*2*/
            P1=0XF;
            P2=0X00;
            Delay(i);/*1*/
            }

            void plan_2(uchar i) // 層面掃描
            {
            P0=0XFE;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第1層(從下到上)*/
            P0=0XFD;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第2層(從下到上)*/
            P0=0XFB;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第3層(從下到上)*/
            P0=0XF7;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第4層(從下到上)*/
            P0=0XFB;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第3層(從下到上)*/
            P0=0XFD;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第2層(從下到上)*/
            P0=0XFE;
            P1=0XFF;
            P2=0XFF;
            Delay(i);/*第1層(從下到上)*/
            }

            /*****************逐點走*****************/
            void point()
            {
            P0=0x0e;
            line_2(8,8,8);
            P0=0x0c;
            line_2(7,7,7);
            P0=0x08;
            line_2(6,6,6);
            P0=0x00;
            line_2(5,5,5);
            P0=0x08;
            line_2(4,4,4);
            P0=0x0c;
            line_2(2,2,2);
            P0=0x0e;
            line_2(1,1,1);
            }

            /*****************正方形放大縮小*********************/

            void cube_1() //中心到全部
            {
            uchar i;
            for(i=0;i<3;i++)
            {
            P0=0x09;
            P1=0x60;
            P2=0x06;
            Delay(20);
            P0=0x0f;
            Delay(3);
            P0=0x00;
            P1=0xff;
            P2=0xff;
            Delay(10);
            }
            }

            void cube_2(uchar i) //單旋
            {
            P0=0x00;
            P1=0xc3;
            P2=0x00;
            Delay(i);
            P1=0x66;
            P2=0x00;
            Delay(i);
            P1=0x3c;
            P2=0x00;
            Delay(i);
            P1=0x30;
            P2=0x0c;
            Delay(i);

            P1=0x00;
            P2=0x3c;
            Delay(i);
            P1=0x00;
            P2=0x66;
            Delay(i);
            P1=0x00;
            P2=0xc3;
            Delay(i);
            P1=0xc0;
            P2=0x03;
            Delay(i);
            }

            void cube_3(uchar i) //四旋
            {
            P0=0x00;
            P1=0x60;
            P2=0x06;
            Delay(i);
            P1=0xe7;
            P2=0x07;
            Delay(i);

            P1=0x60;
            P2=0x06;
            Delay(i);
            P1=0xe0;
            P2=0xe7;
            Delay(i);

            P1=0x60;
            P2=0x06;
            Delay(i);
            P1=0x70;
            P2=0x7e;
            Delay(i);

            P1=0x60;
            P2=0x06;
            Delay(i);
            P1=0x7e;
            P2=0x0e;
            Delay(i);
            }

            /****************面變成體******************/
            void plan_cube()
            {
            P0=0x00;
            P1=0x41;
            P2=0x14;
            Delay(20);
            P1=0x28;
            P2=0x82;
            Delay(20);
            P1=0x0f;
            P2=0x00;
            Delay(20);
            P1=0x18;
            P2=0x18;
            Delay(20);
            P1=0x00;
            P2=0xf0;
            Delay(20);
            P1=0x81;
            P2=0x81;
            Delay(20);
            P1=0x00;
            P2=0x00;
            Delay(20);

            P1=0x41;
            P2=0x14;
            Delay(20);
            P1=0x69;
            P2=0x96;
            Delay(20);
            P1=0x6f;
            P2=0x96;
            Delay(20);
            P1=0x7f;
            P2=0x9e;
            Delay(20);
            P1=0x7f;
            P2=0xfe;
            Delay(20);
            P1=0xff;
            P2=0xff;
            Delay(20);
            }

            /*******************************主函數*****************************/
            main()
            {
            uint CYCLE=600,PWM_LOW=0;//定義周期并賦值

            flash_1();
            flash_2();
            line_1(10,9,8);
            line_1(6,5,4);
            line_1(3,2,1);
            line_1(1,1,1);
            line_2(8,6,4);
            line_1(1,1,1);
            line_2(8,6,4);
            flash_2();

            line_3(10,8,6);
            line_3(5,4,3);
            line_3(3,2,1);

            cube_1();

            plan_1(10);
            plan_2(10);

            plan_1(8);
            plan_2(8);
            flash_4(8,8,8);
            line_3(5,5,5);
            line_3(4,4,4);
            flash_2();

            flash_3();
            flash_3();

            cube_2(8);
            cube_2(7);
            cube_2(6);
            cube_2(5);
            cube_2(4);
            cube_2(4);
            cube_2(3);
            cube_2(3);
            cube_2(2);
            cube_2(2);
            cube_2(2);
            cube_2(1);
            cube_2(1);
            cube_2(1);

            cube_1();

            flash_5();
            plan_2(7);
            plan_1(7);

            line_3(10,8,6);
            line_3(5,4,3);
            line_3(3,2,1);

            flash_4(15,14,13);
            flash_4(12,11,10);
            flash_4(9,8,7);
            flash_4(6,5,4);

            cube_1();

            cube_2(15);
            cube_2(12);
            cube_2(10);
            cube_2(8);
            cube_2(8);
            cube_2(8);

            flash_4(8,8,8);
            line_2(8,8,8);
            line_1(5,5,5);
            line_2(2,2,2);
            point();
            plan_cube();

            cube_3(15);
            cube_3(12);
            cube_3(10);
            cube_3(8);
            cube_3(8);
            cube_3(8);

            flash_3();
            flash_3();

            point();
            flash_4(10,10,10);

            point();
            flash_2();
            plan_cube();
            P0=0x00;
            while (1) //主循環
            {
            P1=0x00;
            P2=0x00;
            Delay1(10000); //特意加延時,可以看到熄滅的過程
            for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++){//PWM_LOW表示低
            //電平時間,這個循環中低電平時長從1累加到CYCLE(周期)的值,即600次

            P1=0xff;
            P2=0xff; //點亮LED
            Delay1(PWM_LOW);//延時長度,600次循環中從1加至599
            P1=0x00;
            P2=0x00; //熄滅LED
            Delay1(CYCLE-PWM_LOW);//延時長度,600次循環中從599減至1

            }
            P1=0xff;
            P2=0xff;
            for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--){//與逐漸變亮相反的過程

            P1=0xff;
            P2=0xff;
            Delay1(PWM_LOW);
            P1=0x00;
            P2=0x00;
            Delay1(CYCLE-PWM_LOW);

            }

            }

            }

            光立方單片機外部晶振改成22.1184了,對應程序怎么改?

            晶振頻率改變了,在程序中與晶振頻率有關的部分就要做修改的,一是串口波特率變了,要保持原波特率就得重新計算時間常數,即TH1,TL1的值。二是定時器T0的時間變了,時間常數也要改變,重新計算,那個TH0,TL0的值,不過,如果不變的話,對顯示沒有什么影響就不用變了。

            本文發布于:2023-02-28 19:37:00,感謝您對本站的認可!

            本文鏈接:http://m.newhan.cn/zhishi/a/167762431464298.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:光立方程序(光立方程序流程圖).doc

            本文 PDF 下載地址:光立方程序(光立方程序流程圖).pdf

            標簽:立方   程序   流程圖
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 国产精品v片在线观看不卡| 久久精品不卡一区二区| 人妻少妇偷人精品一区| 国产午夜福利片在线观看| 亚洲AV日韩AV激情亚洲 | 国产又黄又湿又刺激网站| 精品国际久久久久999波多野| 青春草公开在线视频日韩| 麻豆一区二区三区精品视频| 姝姝窝人体色WWW在线观看| 免费大黄网站在线观看| 成年在线观看免费人视频| 欧美成人www免费全部网站| 人妻少妇偷人无码视频| 无码专区中文字幕无码| 国产精品疯狂输出jk草莓视频| 国产午夜精品亚洲精品国产| 99精品国产精品一区二区| 中文字幕日韩人妻一区| 亚洲日韩久热中文字幕| 国产美女白丝袜精品_a不卡| 自拍视频在线观看成人| 成 人 a v免费视频在线观看 | 成人无码视频在线观看免费播放| 欧美高清精品一区二区| 九九久久自然熟的香蕉图片| 一个人看的WWW免费视频在线观看| 中文字幕无码av不卡一区| 欧美偷窥清纯综合图区| 国内少妇偷人精品免费| 亚洲综合无码AV在线观看| 2020精品自拍视频曝光| 精品国产美女福到在线不卡| 国产精品毛片一区二区| 久久精品免视看国产成人| 日韩精品有码中文字幕| 国产精品美女网站| 亚洲国产精品一区二区三 | 欧美不卡无线在线一二三区观| 东京热大乱系列无码| 无码一区+中文字幕|