當前位置:首頁 » 課程大全 » eda課程設計lcd模塊介面電路設計t6963c

eda課程設計lcd模塊介面電路設計t6963c

發布時間: 2021-02-08 00:13:43

❶ 求基於EDA的函數信號發生器的課程設計

本設計採用FPGA和鎖相環4046實現波形發生器。系統由波形產生模塊和可調頻率的時鍾產生模塊,數模轉換模塊和顯示模塊四部分組成。波形產生模塊完成三種波形的產生,並根據控制信號完成選定波形的輸出。可調頻率的時鍾產生模塊能夠產生具有不同頻率的方波clk,用此方波作為時鍾完成輸出波形頻率的調整。顯示模塊用於顯示輸出波形的頻率。數模轉換模塊將波形產生模塊輸出的數字信號轉換為模擬信號;並完成濾波以及放大等功能。此設計的特點在於結合了直接數字頻率合成技術和鎖相技術各自的優點,同時利用了FPGA的強大處理能力使系統易於實現,結構簡單。本設計能產生正弦波,三角波,占空比可調的方波以及它們的線性組合;頻率在100Hz~20KHz之間能以100Hz為步進進行調整;幅度可調范圍為0~5V。

關鍵詞:正弦波;三角波;占空比可調的方波;頻率可調;FPGA;鎖相環4046

目 錄

引言………………………………………………………………………………………1
1 設計任務……………………………………………………………………………1
1.1 基本要求……………………………………………………………………………1
1.2 發揮部分……………………………………………………………………………1
2 方案論證與比較……………………………………………………………………1
2.1 常見信號源製作方法原理…………………………………………………………1
2.2 常見信號產生電路…………………………………………………………………3
3 系統電路的設計………………………………………………………………4
3.1 系統框圖及說明……………………………………………………………………4
3.2 主要電路設計說明…………………………………………………………………6
3.2.1晶體振盪電路………………………………………………………………………6
3.2.2倍頻電路……………………………………………………………………………6
3.2.3數模轉換和放大濾波電路…………………………………………………………7
3.2.4數碼管顯示電路……………………………………………………………………8
3.2.5 輸入去抖電路……………………………………………………………………9
3.3 主要軟體設計說明…………………………………………………………………10
3.3.1前端核心軟體設計………………………………………………………………10
3.3.2波形產生模塊軟體設計…………………………………………………………12
3.4 主要元器件介紹……………………………………………………………………15
3.4.1FPGA介紹…………………………………………………………………………15
3.4.2鎖相環4046介紹…………………………………………………………………16
3.4.3VHDL介紹…………………………………………………………………………19
3.4.4MAX+PLUSII介紹…………………………………………………………………20
4軟體模擬與硬體調試與測試 ……………………………………………………20 4.1 軟體部分模擬……………………………………………………………………20
4.2 硬體調試……………………………………………………………………………22
4.3 硬體電路測試………………………………………………………………………22
4.4 誤差分析……………………………………………………………………………23
5 工程設計……………………………………………………………………………23
6 製作…………………………………………………………………………………24
7 結論…………………………………………………………………………………25
謝辭………………………………………………………………………………………26
參考文獻…………………………………………………………………………………27
附錄………………………………………………………………………………………28

❷ 求常用的由T6963C控制的12864LCD型號有哪些它們的引腳連接以及和單片機的連接圖

這個比較少有,以為我們公司在廣州銳顯那買過一批,還不錯。
型號好像是12864G-4來著。忘了,你可以網路搜搜他們公司去問問。

❸ EDA波形發生器課程設計

MAIN:MOV A,P1
MOV R0,A ;設置高電平
MOV R1,#00H ;設置低電平
LCALL BOXING
SJMP MAIN
BOXING: JNB P1.0,SANJIAO ;P1.0控制三角波的輸出
JNB P1.1,JUXING ;P1.1控制矩形波的輸出
JNB P1.2,JUCHI ;P1.2控制鋸齒波的輸出
JNB P1.3,ZXBO;P1.3控制正弦波的輸出
RET
;**********三角波********
SANJIAO:
MOV DPTR,#7FFFH ; 選中DA0832
MOV A,#00H
UP1: MOVX @DPTR,A ; 向0832輸出數據
INC A
JNZ UP1 ; A=!0 跳轉反之順序執行
DOWN1:DEC A
MOVX @DPTR,A
JNZ DOWN1
RET
;*********矩形波*********
JUXING:
MOV DPTR,#7FFFH
LP:MOV A,R0 ;設置輸出上限
MOVX @DPTR,A
LCALL DEL_H ;調高電平延時程序
MOV A,R1
MOVX @DPTR,A
LCALL DEL_L ;調低電平延時程序
RET
;*********鋸齒波********
JUCHI:
MOV DPTR,#7FFFH
MOV A,#00H
LOOP:MOVX @DPTR,A
INC A
SJMP LOOP
RET
;*********正弦波********
ZZXBO:
DA01 :
MOV R7,#0FFH
MOV DPTR ,#TAB
DA02 :
MOV A , #0H
MOVC A , @A+DPTR
MOV R0,DPL
MOV R1,DPH
MOV DPTR,#7FFFH
MOVX @DPTR, A
MOV DPL,R0
MOV DPH,R1
INC DPTR
DJNZ R7,DA02
AJMP DA01
TAB :
DB 80H,83H,86H,89H,8DH,90H,93H,96H
DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH
DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H
DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H
DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H
DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H
DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH
DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH
DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H
DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH
DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH
DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H
DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H
DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H
DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H
DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H
DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H

DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H
DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H
DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH
DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H
DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H
DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H
DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H
DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H
DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H
DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H
DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH
DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H
DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H
RET
;********延時程序*******
DEL_H: ;高電平
MOV R7,#57
DE:MOV R6,#4

RET
DEL_L: ;低電平
MOV R7,#57
DEL:MOV R6,#4
DJNZ R6,$
DJNZ R7,DE
RET
END

❹ EDA課程設計,利用EP3C5E型FPGA晶元設計流水燈,兩個開關控制8個LED燈,顯示式樣為4種。大神們,求程序!

進行模塊程序的編寫,然後組合調試,

❺ EDA課程設計:彩燈控制器

以前做的設計,粘貼時圖形沒出來,參考一下,記得給分啊

一.設計目的
1、學習EDA開發軟體和MAX+plus Ⅱ的使用方法,熟悉可編程邏輯器件的使用,通過製作來了解彩燈控制系統。
2、進一步掌握數字電路課程所學的知識。
3、了解數字電路設計的一般思路,進一步解決和分析問題。
4、培養自己的編程和謹慎的學習態度
二、.設計題目內容和要求
(1)課題內容:
用EDA技術設計一個彩燈控制器,使彩燈(LED管)能連續發出三種以上不同的花型(自擬);
隨著彩燈顯示圖案的變化,發出不同的音響聲。
要求使用7段數碼管顯示當前顯示的花型,如第一種花型顯示A1,第二種花型顯示b2,第三種花型顯示C3
(2)主要任務:完成該系統的硬體和軟體的設計,並利用實驗箱製作出實物演示,調試好後並能實際運用(指導教師提供製作所需的器件),最後就課程設計本身提交一篇課程設計報告。
三、總體方案設計與選擇
1 總體方案的設計
方案一:電路分為三個部分:彩燈花型模塊、聲音模塊,時鍾模塊。用時鍾控制聲音和花型,整體使用相同的變數與信號,主體框圖如下;

圖三—1-1方案一的的流程圖
方案二:電路分為五個模塊:分頻器模塊、16進制計數器、4進制計數器,4選1選擇器、彩燈控制器。其中彩燈控制器是用來輸出不同的花樣,彩燈控制器的輸出則是用一個16進制的計數器來控制,揚聲器的輸出時用不同的頻率來控制,所以用了一個集成分頻器來使輸入的頻率被分為幾種不同的頻率,不同頻率的選擇性的輸出則是用一個4選一的選擇器來控制。整體框圖如下:

圖三—1-2方案二的流程圖
2、方案的選擇
方案一是將融合在一起,原理思路簡單,元件種類使用少,但是在編程時要使用同一變數和信號,這樣就會給編程帶來很大的困難,另外中間單元連線較多,不容易檢查,門電路使用較多,電路的抗干擾能力會下降。
方案二將彩燈花型控制與聲音控制分開,各單元電路只實現一種功能,電路設計模塊化,且編程時將工作量分開,出現錯誤時較容易檢查,連線較少且容易組裝和調試。
結合兩個方案的優缺點,我選擇容易編程、組裝和調試的方案二。

四、模塊電路的設計
1、分頻器模塊
設計要求顯示不同的彩燈的時候要伴隨不同的音樂,所以設計分頻器來用不同的頻率控制不同的音樂輸出。
模塊說明:
Rst:輸入信號 復位信號 用來復位分頻器的輸出使輸出為「0」,及沒有音樂輸出。
Clk:輸入信號 模塊的功能即為分頻輸入的頻率信號。
Clk_4、clk8、clk_12、clk_16:輸出信號 即為分頻模塊對輸入信號clk的分頻,分別為1/4分頻輸出、1/8分頻輸出、1/12分頻輸出、1/16分頻輸出。不同的頻率會發出不同的聲音。如圖

圖四-1分頻器電路圖
2、16進制計數器
16進制模塊用來控制彩燈輸出模塊,即確定彩燈控制器的不同的輸出。
Rst:輸入信號 復位信號 用來復位16進制使其輸出為「00000」,即彩燈不亮。
Clk1:輸入信號 用來給模塊提供工作頻率。
Count_out[3..0]:輸出信號 即為16進制計數器的輸出,此輸出信號作為彩燈的輸入信號。
如圖四-2
圖四-2 16進制計數器電路圖
3、4進制計數器模塊
4進制計數器作為選擇器的輸入來控制選擇器選擇不同的頻率作為輸出控制揚聲器工作。
Clk2:輸入信號 來為計數器提供工作頻率。
Rst:輸入信號 復位信號 使計數器的輸出為「00」。
如圖四-3
圖四-3 4進制計數器電路圖
4、4選1選擇器模塊
Rst:輸入信號復位信號使選擇器的輸出為「0」。
In1、in2、in3、in4:輸入信號接分頻器的輸出。
Inp[1..0]:輸入信號接4進制計數器的輸出用來控制選擇器的選擇不同的輸入選擇不同的輸出。
Output2:輸出信號直接接揚聲器即輸出的是不同的頻率來控制揚聲器播放聲音
如圖四—4
圖四—4 4選1選擇器電路圖
5、彩燈控制模塊
彩燈控制採用的模式6來進行顯示。
圖四—5—1模式6結構圖
彩燈控制模塊用來直接控制彩燈的輸出,使彩燈表現出不同的花樣。
Rst:輸入信號 使彩燈控制模塊的輸出為「00000000」,即讓彩燈無輸出。
Input[4..0]:輸入信號 不同的輸入使彩燈控制模塊有不同的輸出即彩燈顯示出不同的花樣。
Output3[7..0]:輸出信號 直接與數碼管相連來控制數碼管。
如圖四—5—2
圖四-5-2 彩燈控制電路圖
五、EDA設計與模擬
1、源程序:
----------------------------------------------分頻器模塊-----------------------------------------

LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYfenpinqi IS

PORT
(
clk2,rst :IN std_logic;
clk_12,clk_4,clk_16,clk_8 : OUT std_logic
);

ENDfenpinqi;

ARCHITECTUREcd OF fenpinqi IS
begin
p1:process(clk2,rst)
variable a:integer range 0 to 20;

begin
if rst='1' then
clk_4<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if a>=3 then
a:=0;
clk_4<='1';
else
a:=a+1;
clk_4<='0';
end if;
end if;
end if;
endprocess p1;

p2:process(clk2,rst)
variable b:integer range 0 to 20;

begin
if rst='1' then
clk_16<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if b>=15 then
b:=0;
clk_16<='1';
else
b:=b+1;
clk_16<='0';
end if;
end if;
end if;
endprocess p2;

p3:process(clk2,rst)
variable c:integer range 0 to 20;

begin
if rst='1' then
clk_8<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if c>=7 then
c:=0;
clk_8<='1';
else
c:=c+1;
clk_8<='0';
end if;
end if;
end if;
endprocess p3;

p4:process(clk2,rst)
variable d:integer range 0 to 40;

begin
if rst='1' then
clk_12<='0'; ----- 復位信號控制部分
else
if clk2'event and clk2='1'then
if d>=11 then
d:=0;
clk_12<='1';
else
d:=d+1;
clk_12<='0';
end if;
end if;
end if;
endprocess p4;
endcd;

----------------------------------------------4選1選擇器---------------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYxzq4_1 IS

PORT
(
rst:in std_logic;
inp:in integer range 0 to 3;
in1,in2,in3,in4 : In std_logic;

output2 :OUT std_logic
);

ENDxzq4_1;

ARCHITECTUREa OF xzq4_1 IS

BEGIN

PROCESS (rst,inp)
BEGIN
if(rst='1') then output2<='0';

else
case inp is
when 0=>output2<=in1;
when 1=>output2<=in2;
when 2=>output2<=in3;
when 3=>output2<=in4;
when others=>null;
end case;
end if;
END PROCESS;
ENDa;

-------------------------------------------彩燈控制模塊----------------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYcaideng IS

PORT
(
input :
IN INTEGER RANGE
0 TO 15;
rst:in std_logic;
output3 :OUT std_logic_vector(7 downto 0);
sm :out std_logic_vector(6 downto 0)
);

ENDcaideng;

ARCHITECTUREa OF caideng IS

BEGIN

PROCESS (input)
BEGIN
if rst='1' thenoutput3<="00000000";sm<="0000000";
else
case input is
when 0=>output3<="00111000";sm<="0000110";
when1=>output3<="00001111";sm<="0000110";
when2=>output3<="00111110";sm<="0000110";
when3=>output3<="01111111";sm<="0000110";

when4=>output3<="01011011";sm<="1011011";
when5=>output3<="01110110";sm<="1011011";
when6=>output3<="00001111";sm<="1011011";
when7=>output3<="01111111";sm<="1011011";

when8=>output3<="01101101";sm<="1001111";
when9=>output3<="00000111";sm<="1001111";
when10=>output3<="01110111";sm<="1001111";
when11=>output3<="01111011";sm<="1001111";

when12=>output3<="00111000";sm<="1100110";
when13=>output3<="00111111";sm<="1100110";
when14=>output3<="00111110";sm<="1100110";
when 15=>output3<="01111001";sm<="1100110";
when others=>null;

end case;
end if;
end process;
end a;

--------------------------------------------16進制計數器模塊-----------------------------------

LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYcounter_16 IS

PORT
(
clk,rst :IN std_logic;
count_out :
OUT INTEGER RANGE
0 TO 15);

ENDcounter_16;

ARCHITECTUREa OF counter_16 IS
BEGIN

PROCESS (rst,clk)
variable temp:integer range 0 to 16;
BEGIN

IF rst='1' THEN
temp:=0;

ELSIF (clk'event and clk='1') THEN

temp:=temp+1;
if(temp=15) then
temp:=0;
end if;
END IF;
count_out<=temp;
END PROCESS;
ENDa;

-------------------------------4進制計數器模塊----------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYcounter_4 IS

PORT
(
clk,rst :IN std_logic;
count_out :OUT integer range 0 to 3 );

ENDcounter_4;

ARCHITECTUREa OF counter_4 IS
BEGIN

PROCESS (rst,clk)
variable temp:integer range 0 to 16;
BEGIN

IF rst='1' THEN
temp:=0;
ELSIF (clk'event and clk='1') THEN

temp:=temp+1;
if(temp=4) then
temp:=0;
end if;
END IF;
count_out<=temp;
END PROCESS;
ENDa;

-------------------------------------------主程序----------------------------------
LIBRARYieee;
USEieee.std_logic_1164.all;

ENTITYproject IS
PORT (clk1,rst,clk2: IN std_logic;
Out1: OUT std_logic_vector(7 downto 0);
Out2 :out std_logic_vector(6 downto0);
Out3: OUT std_logic);
ENDproject;

ARCHITECTUREstruct OF project IS
COMPONENT counter_16 IS
PORT(clk,rst : IN std_logic;
count_out : OUT integer range 0 to 15 );
ENDCOMPONENT;

COMPONENT fenpinqi IS
PORT(clk2,rst : IN std_logic;
clk_12,clk_4,clk_16,clk_8 : OUT std_logic);
END COMPONENT ;

COMPONENT counter_4 IS
PORT(clk,rst :IN std_logic;
count_out :OUT integer range 0 to 3 );

ENDCOMPONENT;

COMPONENT xzq4_1 IS
PORT
(
rst:in std_logic;
inp:in integer range 0 to 3;
in1,in2,in3,in4 : In std_logic;

output2 :OUT std_logic
);

ENDCOMPONENT;

COMPONENT caideng IS
PORT
(
input: IN INTEGER RANGE 0 TO 15;
rst:in std_logic;
output3 :OUT std_logic_vector(7 downto 0);
sm :out std_logic_vector(6 downto 0)
);

ENDCOMPONENT;

SIGNALu: integer range 0 to 15;
SIGNALw: integer range 0 to 3;
SIGNALv1,v2,v3,v4: std_logic;

BEGIN
U1:counter_16PORT MAP(clk1,rst,u);
U2:fenpinqiPORT MAP(clk2,rst, v1,v2,v3,v4);
U3:counter_4PORT MAP(v3,rst,w);
U4:xzq4_1 PORT MAP(rst,w, v1,v2,v3,v4,out3);
U5:caidengPORT MAP(u,rst,out1,out2);
ENDstruct;
2、彩燈控制器模擬結果及數據分析
分析:如上圖,clk1控制的是彩燈模塊,clk2控制的是聲音模塊,當rst為高電平是輸出全為0,ck1每出現四個高電平,花型發生一次變化,out2分別顯示1、2、3、4,out1顯示不同的花型,out3發出聲音,如圖脈沖數不同表示發出的聲音不同,但是聲音與花型相比有一定的延遲。
六、硬體實現
1、引腳鎖定圖
2、硬體模擬圖
顯示第一組花型之一
顯示第二組花型之一
顯示第三組花型之一

顯示的第四組花型之一

七、總體電路
整個系統就是各個分模塊組成來實現最後的彩燈控制功能,系統又兩個時鍾來控制一個是控制16進制計數器即控制彩燈控制模塊來實現彩燈的不同輸出,另一個時鍾為分頻器的輸入來進行分頻處理,最後用來控制揚聲器發出不同的音樂,為了使效果明顯盡量達到要求分頻處理的時鍾的頻率比實現彩燈控制的時鍾頻率要高。
將各個模塊連在一起採用在課程中學到的元件例化,將各個模塊的引腳連在一起,使之成為一個整體。元件例化是VHDL設計實體構自上而下層次化設計的重要途徑。整體電路如圖五—1

圖七—1 整體電路圖
八、心得體會
1、在設計時遇到一些主要問題如下:怎麼將各個模塊連在一起、開始硬體模擬時總是出現錯誤,設計方案的選擇。最後我選擇了元件例化將各個模塊連在一起,模擬時是因為短路帽接錯了,當時沒有注意,在方案的選擇時我們選了實現比較簡單的分模塊方案
2、這次的EDA課程設計我學到得東西很多明白了理論與實踐之間的差距,而且對DEA課程有了更深入的理解,尤其是知道了怎麼去應用所學的知識,怎麼去利用網路實現自己的要求,具體體會如下:
(1)要想完成編程就要對DEA知識很熟悉,這樣才能加快編程的速度,另外在編程時一定要小心,稍微有一點粗心都會有很多的錯誤出現,在出現錯誤後要學會尋找錯誤原因如名稱前後不一、數據類型不同、符號寫錯等等
(2)拿道題目後要注意分析,要學會總體把握,然後再一一一細化、學會將復雜的問題簡單化,分析時一定要有一個明確的目標。
(3)要學會理論聯系實際,在程序導入到實驗箱後,居然不顯示結果,認真的檢查看看操作是否有錯誤、試驗箱中該短路的是否已用短路帽短路、又重新檢查了一下程序,結果發現是短路帽接錯了,所以看似很簡單的操作自己操作起來可能會有很大的漏洞,所以親自動手是很重要的。
(4)當自己的只是有限時,要注意運用網路等一切資源,要學會知識的靈活運用在查閱的過程中學到了很多在書本所沒有學到的知識,通過查閱相關資料進一步加深了對EDA的了解
總的來說,通過這次課程設計不僅鍛煉了我們的動手和動腦能力,也使我懂得了理論與實際相結合的重要性,只有理論知識是遠遠不夠的,要把所學的理論知識與實踐相結合起來,才能提高自己的實際動手能力和獨立思考的能力。還有最重要的一點就是要有一絲不苟的精神和端正認真的態度,遇到困難後要學會積極的面對。
3、在此設計中聲音會有一定的延遲,可以考慮用花型輸出信號作為4選1的控制信號
九、參考書目:
趙偉軍,《Protel99se教程》,北京,人民郵電出版社,1996年
金西,《VHDL與復雜數字系統設計》,西安,西安電子科技大學出版社,2003
漢澤西,《EDA技術及其應用》,北京,北京航空航天大學出版社,2004
[4] 黃任,《VHDL入門.解惑.經典實例.經驗總結》,北京,北京航空航天大學出版社,2005
[5] 李洋,《EDA技術 使用教程》,北京,機械工業出版社,2009
[6] 網路資源:EDA課程設計、EDA課程設計—彩燈控制器等

❻ 求12864-12 T6963C 控制晶元 常式

你可以參考下面這段代碼,同樣是T6963C,只是顯示區域是240*128,操作之前先將LCD復位一次,你對著資料將初始化的寄存器改改就可以了,另外電路和你的不同,所以讀狀態寄存器和寫寄存器的方法不同,你的需要操作P0,P1,P3口模擬讀和寫.其實T6963C可以直接和MCS51外部匯流排介面的,時序完全滿足要求,下面的代碼就是將/CE接P2.7,C/D接P2.0,直接用MOVX指令訪問的.
#define dis_comand XBYTE[0x7fff] //液晶操作命令地址
#define dis_data XBYTE[0x7ffe] //液晶顯示數據地址
#define discommand 1 //定義液晶操作的常量
#define disdata 0
/*****************************************
*液晶初始設置參數
*****************************************/
void dis_set()
{
dis_write_dandc(0xb2,discommand); //先關閉自動寫模式
dis_write_dandc(20,disdata);
dis_write_dandc(8,disdata);
dis_write_dandc(0x21,discommand);
dis_write_dandc(0,disdata);
dis_write_dandc(0,disdata);
dis_write_dandc(0x42,discommand);
dis_write_dandc(30,disdata);
dis_write_dandc(0,disdata);
dis_write_dandc(0x43,discommand);
dis_write_dandc(0x3,disdata);
dis_write_dandc(0,disdata);
dis_write_dandc(0x22,discommand);
dis_write_dandc(0xa1,discommand);
dis_write_dandc(0x81,discommand);
dis_write_dandc(0x98,discommand); //液晶初始化完成
}
/******************************************
* 寫數據到液晶包括命令
******************************************/
void dis_write_dandc(uchar x,bit y)
{
uchar i;
lab1:
i=dis_comand;
i=i&0x3;
if (i!=3) goto lab1; //檢查狀態
if (y==discommand) dis_comand=x; //命令
else dis_data=x; //數據
}

❼ EDA技術及應用課程設計 任選其一

你想干什麼哦~!

❽ 救急哇,EDA課程設計,乘法器的!!

這是8位無符號,參數自己修改可以得到你想要的
library ieee;
use ieee.std_logic_1164.all;
entity multi8 is
port(a,b:in std_logic_vector(7 downto 0);
y:out std_logic_vector(15 downto 0));
end entity multi8;
architecture behavioral of multi8 is
begin
behavior:process(a,b) is
variable a_in:std_logic_vector(7 downto 0);
variable b_in:std_logic_vector(7 downto 0);
variable y_out:std_logic_vector(15 downto 0);
variable carry_in,carry:std_logic;
begin
a_in:=a;
b_in:=b;
y_out:=(others=>'0');
for count in 0 to 7 loop
carry:='0';
if(b_in(count)='1') then
for index in 0 to 7 loop
carry_in:=carry;
carry:=(y_out(index+count) and a_in(index))
or (carry_in and (y_out(index+count) xor a_in(index)));
y_out(index+count):=y_out(index+count) xor a_in(index) xor carry_in;
end loop;
y_out(count+8):=carry;
end if;
end loop;
y<=y_out;
end process behavior;
end architecture behavioral;

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919