久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 重寫并擴展LED點陣屏程序框架

重寫并擴展LED點陣屏程序框架

作者: 時間:2016-12-01 來源:網絡 收藏
昨天重寫了LED電子屏的核心程序,重構后的程序框架可以方便的擴展各種顯示特效,我只寫了電子屏右移顯示函數,點陣屏程序的更新就此結束,下一步將會進行步進電動機的控制方面的制作,電路還是按上一版http://www.51hei.com/mcu/2597.html現在上程序:
//行掃1#74hc154芯片對應數據輸入口:P0^0->P0^3數據輸入控制口:P0^4低電平有效;行掃輸出為互斥低電平輸出;//列掃1#74hc595芯片對應數據輸入口:P0^5移位寄存器時鐘信號;P0^6存儲寄存器數據更新時鐘;P0^7數據輸出使能,低電平時輸出有效;//P2^0串行數據輸入#include//包函頭文件#include//包函_nop_延時函數的頭文件#define uchar unsigned char//宏定義#define uint unsigned int//宏定義////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uchar ZMHCQ[]={//16X16點陣顯示緩沖區0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    };////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////uchar code ZM000[]={//源文件 / 文字: 祝0x00,0x00,0x20,0x00,0x11,0xF8,0x01,0x08,0x79,0x08,0x09,0x08,0x11,0x08,0x11,0xF8,0x38,0x90,0x54,0x90,0x10,0x90,0x10,0x90,0x11,0x14,0x11,0x14,0x12,0x0C,0x00,0x00,};uchar code ZM001[]={//源文件 / 文字: 榮0x00,0x00,0x08,0x20,0x7F,0xFC,0x08,0x20,0x00,0x00,0x7F,0xFC,0x40,0x04,0x01,0x00,0x01,0x00,0x7F,0xFC,0x03,0x80,0x05,0x40,0x19,0x30,0x61,0x0C,0x01,0x00,0x00,0x00,};////////////////////////////////////////////////////////////////////////////////sbit HC154_A=P0^0;//HC154數據輸入口sbit HC154_B=P0^1;//HC154數據輸入口sbit HC154_C=P0^2;//HC154數據輸入口sbit HC154_D=P0^3;//HC154數據輸入口sbit G1=P0^4;//HC154使能端控制sbit SH=P0^5;//HC595移位控制sbit ST=P0^6;//HC595鎖存更新顯示sbit OE=P0^7;//HC595使能端控制sbit DS=P2^0;//HC595串行數據輸入////////////////////////////////////////////////////////////////////////////////void chushihua()       //硬件初始化{OE=1;   //關閉HC595輸出G1=1;   //關閉HC154輸出}////////////////////////////////////////////////////////////////////////////////void delay(uint ms)//延時子程序{uint x,y;for(x=ms;x>0;x--)for(y=0;y<240;y++);}//////////////////////////////////////////////////////////////////////////////////低位先入void sendbyte(uchar Rdate)//HC595串行輸入一個字節{uint a;uchar date=Rdate;for(a=0;a<8;a++){SH=0;if(date&0x01)//先將最低位移入{DS=1;SH=1;}else{DS=0;SH=1;}date=date>>1;//輸入的字節位右移}}////////////////////////////////////////////////////////////////////////////////void HC595_GX()     //HC595鎖存數據更新并輸出{ST=0;_nop_();ST=1;    //HC595鎖存數據更新_nop_();OE=0;    //HC595輸出   }////////////////////////////////////////////////////////////////////////////////void HC154_HS(uint x)//X行低電平輸出{G1=0;switch(x){case 1:HC154_A=0;HC154_B=0;HC154_C=0;HC154_D=0;break;case 2:HC154_A=1;HC154_B=0;HC154_C=0;HC154_D=0;break;case 3:HC154_A=0;HC154_B=1;HC154_C=0;HC154_D=0;break;case 4:HC154_A=1;HC154_B=1;HC154_C=0;HC154_D=0;break;case 5:HC154_A=0;HC154_B=0;HC154_C=1;HC154_D=0;break;case 6:HC154_A=1;HC154_B=0;HC154_C=1;HC154_D=0;break;case 7:HC154_A=0;HC154_B=1;HC154_C=1;HC154_D=0;break;case 8:HC154_A=1;HC154_B=1;HC154_C=1;HC154_D=0;break;case 9:HC154_A=0;HC154_B=0;HC154_C=0;HC154_D=1;break;case 10:HC154_A=1;HC154_B=0;HC154_C=0;HC154_D=1;break;case 11:HC154_A=0;HC154_B=1;HC154_C=0;HC154_D=1;break;case 12:HC154_A=1;HC154_B=1;HC154_C=0;HC154_D=1;break;case 13:HC154_A=0;HC154_B=0;HC154_C=1;HC154_D=1;break;case 14:HC154_A=1;HC154_B=0;HC154_C=1;HC154_D=1;break;case 15:HC154_A=0;HC154_B=1;HC154_C=1;HC154_D=1;break;case 16:HC154_A=1;HC154_B=1;HC154_C=1;HC154_D=1;break;default:break;}}				   
				
            
                
			
							
上一頁 1 2 下一頁

關鍵詞: LED點陣屏程序框

評論


技術專區

關閉