基于單片機和CPLD的LED點陣顯示系統(tǒng)附件.doc_第1頁
基于單片機和CPLD的LED點陣顯示系統(tǒng)附件.doc_第2頁
基于單片機和CPLD的LED點陣顯示系統(tǒng)附件.doc_第3頁
基于單片機和CPLD的LED點陣顯示系統(tǒng)附件.doc_第4頁
基于單片機和CPLD的LED點陣顯示系統(tǒng)附件.doc_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

附 錄/* 51控制的點陣顯示C程序 */#include reg51.H#include stdio.h#define uint unsigned int#define uchar unsigned charsbit G1 = P10;sbit G2 = P11;sbit R1 = P12;sbit R2 = P13;sbit RK_595 = P14;sbit SK_595 = P15;sbit A_138 = P20;sbit B_138 = P21;sbit C_138 = P22;sbit D_138 = P23;sbit EN_138 = P24;void init_IO(void);void delay(uint T);void send_byte(uchar ldata);void disp(uchar code *ziku,uchar s_color);void disp_red(void);void disp_green(void);void disp_orange(void);uchar buf32=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;/定義32字節(jié)的緩沖區(qū)uchar code anquan1=0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /YY00x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0x00,0xc0,0x00,0x60,0x00,0x00,0x00,0x80,0x01,0xe0,0x01,0x60,0x00,0x00,0x00, 0xfe,0x3f,0x30,0x03,0x63,0x8c,0xff,0x07, /YY10xfe,0x3f,0x18,0x06,0x63,0x8c,0xff,0x07,0x06,0x30,0xc0,0x0c,0x63,0x8c,0x01,0x06,0x66,0x30,0xff,0x3f,0xff,0x8f,0x01,0x06, 0x60,0x00,0xfb,0x37,0xff,0x8f,0x01,0x06, /YY20xf7,0x3f,0xc0,0x00,0x60,0x80,0x01,0x06,0xf7,0x3f,0xc0,0x00,0x60,0x80,0x01,0x06,0x30,0x06,0xfc,0x0f,0x63,0x8c,0x01,0x06, 0x70,0x06,0xfc,0x0f,0x63,0x8c,0x01,0x06, /YY30xc0,0x03,0xc0,0x00,0x63,0x8c,0xff,0x07,0xe0,0x0f,0xc3,0x00,0xff,0x8f,0xff,0x07,0x7e,0x3c,0xfe,0x1f,0xff,0x8f,0x01,0x06,0x1c,0x30,0xfe,0x1f,0x00,0x0c,0x00,0x00, /YY40x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0x9f,0x83,0x73,0xfe,0x03,0x00, 0x00,0xe0,0x1f,0xc7,0x71,0xfe,0x03,0x00, /YY50x00,0xe0,0x00,0xee,0x70,0x70,0x00,0x00,0x00,0xe0,0x1f,0x7c,0x70,0x70,0x00,0x00,0x00,0xe0,0x1f,0x38,0x70,0x70,0x00,0x00, 0x00,0xe0,0x00,0x7c,0x70,0x70,0x00,0x00, /YY60x00,0xe0,0x00,0xee,0x70,0x70,0x00,0x00,0x00,0xe0,0x1f,0xc7,0x71,0x70,0x00,0x00,0x00,0xe0,0x9f,0x83,0x73,0x70,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /YY70x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00; void init_IO(void) P0=0xff; P1=0xff; P2=0xff; P3=0xff; /SP=0X60; void delay(uint T)uint t=T;for(;t0;t-);void disp(uchar code *ziku,uchar s_color) uchar d_color; uchar i,j,ldata1,ldata2,hscan; uchar code *temp; /*temp=&anquan10;*/ temp=ziku; d_color=s_color; for(hscan=0;hscan16;hscan+) EN_138 = 0;for(i=8*hscan;i8*(hscan+1);i+) ldata1=*(temp+i); /取上半屏字模數(shù)據(jù)(一個字節(jié)) ldata2=*(temp+128+i);/取下半屏字模數(shù)據(jù) for (j=0;j=1; ldata2=1; SK_595 = 1; /* 一行8個字節(jié)數(shù)據(jù)發(fā)完后向595發(fā)出鎖存數(shù)據(jù)脈沖信號*/ RK_595 = 0; RK_595 = 1; P2 = hscan;/行掃描信號由P2口P2.0,P2.1,P2.2送出,再經(jīng)138譯碼器譯碼輸出 EN_138= 1; /使能138譯碼器,開始輸出行掃描信號 delay(20); void disp_red(void) uchar s_color; uchar code *ziku; ziku=anquan1; s_color=1; disp(ziku,s_color); void disp_green(void) uchar code *ziku; uchar s_color; ziku=anquan1; s_color = 2; disp(ziku,s_color); void disp_orange(void) uchar code *ziku; uchar s_color; ziku=anquan1; s_color = 3; disp(ziku,s_color); void disp_left(uchar code *ziku,uchar s_color,uchar speed) uchar d_color; uchar s;/left shift speed uchar i,j,k,ldata1,ldata2,hscan; uchar code *temp; /*temp=&anquan10;*/ temp=ziku; d_color=s_color; s=speed; /EN_138=0; for(i=0;i8;i+) for(j=0;j32;j+) bufj=*(temp+i+j*8); for(k=0;k8;k+) delay(s); ldata1=*(temp+i); /取上半屏字模數(shù)據(jù)(一個字節(jié)) ldata2=*(temp+128+i);/取下半屏字模數(shù)據(jù) for (hscan=0;hscan=1; bufhscan+16=1; /* 一行8個字節(jié)數(shù)據(jù)發(fā)完后向595發(fā)出鎖存數(shù)據(jù)脈沖信號*/ / RK_595 = 0; / RK_595 = 1; / P2 = hscan;/行掃描信號由P2口P2.0,P2.1,P2.2送出,再經(jīng)138譯碼器譯碼輸出 / EN_138= 1; /使能138譯碼器,開始輸出行掃描信號 delay(20); void disp_shift(void) uchar code *ziku; uchar s_color; uchar speed; ziku=anquan1; s_color = 3; speed=1000; disp_left(ziku,s_color,speed); void main( )uchar i,j,k;init_IO();while(1) for(i=0;i100;i+) disp_red(); for(j=0;j100;j+) disp_green(); for(k=0;k100;k+) disp_orange(); for(k=0;k100;k+) disp_shift(); VHDL地址形成模塊程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity scan isport(add:out std_logic_vector(9 downto 0); clr,clk,en:in std_logic; q:buffer std_logic_vector(12 downto 0); ld:out std_logic; hdc:out std_logic);end scan;architecture a of scan isbeginadd0=q(3)add1=q(4)add2=q(5)add3=q(6)add4=q(7)add5=q(8)add6=q(9)add7=q(10)add8=q(11)add9=q(12)hdc=q(1)andq(2)and q(3)andq(4)and q(5)andq(6)and q(7)andq(8);process(clk,clr)beginif (clr=1) then q=0000000000000; else if(clkevent and clk=1)thenif(en=1)thenqq+1;if(q(0)=0and q(1)=0and q(2)=0)thenld=0elseld=1;end if; end if;end if;end process;end a;串/并進-串出移位寄存器程序library ieee;use ieee.std_logic_1164.all;entity sreg597 isport(srclrn:in std_logic; srldn:in std_logic; rclk:in std_logic; d:in std_logic_vector(7 downtown 0); srclk:out std_logic ser:in std_logic; qhn:out std_logic);end sreg597;architecture a of sreg597 issignal temperature8:std_logic_vector(7 downto 0);beginprocess(srclk, rclk,srclrn,srldn)beginif (srclrn=0) then tempeg8=00000000; qhn=tempreg8(7) else if(clkevent and clk=1)thenif(srldn=0and rclk=0)thentempreg8(0)=d(0);tempreg8(1)=d(1);tempreg8(2)=d(2);tempreg8(3)=d(3);tempreg8(4)=d(4);tempreg8(5)=d(5);tempreg8(6)=d(6);tempreg8(7)=d(7);qhn= tempreg8(7);elsetempreg8(0)=ser;tempreg8(1)=d(0);tempreg8(2)=d(1);tempreg8(3)=d(2);tempreg8(4)=d(3);tempreg8(5)=d(4);tempreg8(6)=d(5);tempreg8(7)=d(6);qhnlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineoutlineout=“XXXX”;end case;end process;rcki=hdc;eni=hdc;cp0=not clk and not add5 and not add4;cp1=not clk and not add5 and add4;cp2=not clk and add5 and not add4;cp3=not clk and add5 and add4;end a;袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羈膂莈蚅袇膁蒀袀螃膀薂蚃肂腿節(jié)衿羈腿莄螞襖羋蕆袇螀芇蕿蝕聿芆艿蒃肅芅蒁螈羈芄薃薁袆芃芃螆螂芃蒞蕿肁節(jié)蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈螞螂羂薁袈肀肁芀蟻羆肁莃袆袂肀薅蠆袈聿蚇蒂膇肈莇螇肅肇葿薀罿肆薂螆裊肅芁薈螁膅莃螄聿膄蒆薇袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螇羈蒂蚃衿膆莈螞羈罿芄螁蟻膄膀螁螃羇葿螀裊膃螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅芅蕿袈羋膁蚈羀肁蒀蚇蝕襖莆蚇螂肀莂蚆羅袂羋蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃螞肂莈蒂螄羋芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羈莀蒈羃膇芆蕆蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃蠆羆艿薃袁節(jié)膅薂羄肅蒃薁蚃芀荿薀螆肅

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論