




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、河南理工大學(xué)電氣學(xué)院FPGA課程論文 學(xué) 院:電氣學(xué)院 專業(yè)班級(jí): 姓 名: 學(xué) 號(hào): 指導(dǎo)老師:李輝 日期:2015年12月13日目 錄1、 摘要二、概念2.1 什么是FPGA 2.2 工作原理2.3 芯片結(jié)構(gòu)2.4 配置模式三、FPGA的設(shè)計(jì)語言介紹3.1 VHDL語言介紹3.2 Verilog語言介紹四、交通燈的Verilog語言程序4.1 設(shè)計(jì)背景4.2 Verilog程序4.3 C語言程序五、學(xué)習(xí)體會(huì)六、參考文獻(xiàn)FPGA結(jié)課論文一、摘要 現(xiàn)在,隨著系統(tǒng)級(jí)FPGA以及系統(tǒng)芯片的出現(xiàn),軟硬件協(xié)調(diào)設(shè)計(jì)和系統(tǒng)設(shè)計(jì)變得越來越重要。傳統(tǒng)意義上的硬件設(shè)計(jì)越來越傾向于與系統(tǒng)設(shè)計(jì)和軟件設(shè)計(jì)結(jié)合。硬件描
2、述語言為適應(yīng)新的情況,得到迅速發(fā)展,出現(xiàn)了很多新的硬件描述語言,像Superlog、SystemC、CynlibC+等。 本次設(shè)計(jì)是基于FPGA/CPLD數(shù)控脈沖寬度調(diào)制信號(hào)發(fā)生器實(shí)現(xiàn),該系統(tǒng)主要模塊有:時(shí)鐘產(chǎn)生電路模塊、JTAG編程連接模塊、電源電路模塊,通過連線將各個(gè)模塊進(jìn)行連接成最小系統(tǒng),系統(tǒng)精簡(jiǎn),實(shí)現(xiàn)方便且功能強(qiáng)大,比起傳統(tǒng)的信號(hào)發(fā)生器有著比較明顯的優(yōu)勢(shì)。 本設(shè)計(jì)立足系統(tǒng)可靠性及穩(wěn)定性等高技術(shù)要求,采用FPGA芯片實(shí)現(xiàn)數(shù)控脈沖寬度調(diào)制信號(hào)發(fā)生器的FPGA/CPLD設(shè)計(jì),其電路設(shè)計(jì)比較簡(jiǎn)單,外圍電路少,易于控制和檢查,較傳統(tǒng)的分離元件實(shí)現(xiàn)方式有著明顯的優(yōu)勢(shì),尤其是其設(shè)計(jì)電路實(shí)現(xiàn)周期,其抗
3、干擾及調(diào)試過程都很簡(jiǎn)單。2、 概念2.1什么是FPGA?FPGA是英文Field Programmable Gate Array的縮寫,即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable
4、 Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA的基本特點(diǎn)主要有:1) 采用FPGA設(shè)計(jì)ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。2) FPGA可做其它全定制或半定制ASIC電路的中試樣片。3) FPGA內(nèi)部有豐富的觸發(fā)器和IO引腳。4) FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 5)FPGA采用高速CHMOS工藝,功耗低,可以與CMOS、TTL電平兼容??梢哉f,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇
5、之一。2.2工作原理FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。 現(xiàn)場(chǎng)可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器
6、再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。2.3芯片結(jié)構(gòu)主流的FPGA仍是基于查找表技術(shù)的,已經(jīng)遠(yuǎn)遠(yuǎn)超出了先前版本的基本性能,并且整合了常用功能(如RAM、時(shí)鐘管理和DSP)的硬核(ASIC型)模塊。FP芯片主要由7部分完成,分別為:可編程輸入輸出單元、基本可編程邏輯元、完整的
7、時(shí)鐘管理、嵌入塊式RAM、豐富的布線資源、內(nèi)嵌的底層功能單元和內(nèi)嵌用硬件模塊。每個(gè)模塊的功能如下: 1、 編程輸入輸出單元(IOB) 可編程輸入/輸出單元簡(jiǎn)稱I/O單元,是芯片與外界電路的接口部分,完成不同電氣特性下對(duì)輸入/輸出信號(hào)的驅(qū)動(dòng)與匹配要求。FPGA內(nèi)的I/O按組分類,每組都能夠獨(dú)立地支持不同的I/O標(biāo)準(zhǔn)。通過軟件的靈活配置,可適配不同的電氣標(biāo)準(zhǔn)與I/O物理特性,可以調(diào)整驅(qū)動(dòng)電流的大小,可以改變上、下拉電阻。I/O口的頻率也越來越高,一些高端的FPGA通過DDR寄存器技術(shù)可以支持高達(dá)2Gbps的數(shù)據(jù)速率。 外部輸入信號(hào)可以通過IOB模塊的存儲(chǔ)單
8、元輸入到FPGA的內(nèi)部,也可以直接輸入FPGA 內(nèi)部。當(dāng)外部輸入信號(hào)經(jīng)過IOB模塊的存儲(chǔ)單元輸入到FPGA內(nèi)部時(shí),其保持時(shí)間(Hold Time)的要求可以降低,通常默認(rèn)為0。為了便于管理和適應(yīng)多種電器標(biāo)準(zhǔn),F(xiàn)PGA的IOB被劃分為若干個(gè)組(bank),每個(gè)bank的接口標(biāo)準(zhǔn)由其接口電壓VCCO決定,一個(gè)bank只能有 一種VCCO,但不同bank的VCCO可以不同。只有相同電氣標(biāo)準(zhǔn)的端口才能連接在一起,VCCO電壓相同是接口標(biāo)準(zhǔn)的基本條件。2. 可配置邏輯塊(CLB) CLB是FPGA內(nèi)的基本邏輯單元。CLB的實(shí)際數(shù)量和特性會(huì)依器件的不同而
9、不同,但是每個(gè)CLB都包含一個(gè)可配置開關(guān)矩陣,此矩陣由4或6個(gè)輸入、一些選型電路(多路復(fù)用器等)和觸發(fā)器組成。開關(guān)矩陣是高度靈活的,可以對(duì)其進(jìn)行配置以便處理組合邏輯、移位寄存器或RAM。在xilinx公司的FPGA器件中,CLB由多個(gè)(一般為1個(gè)或2個(gè))相同的Slice和附加邏輯構(gòu)成。每個(gè)CLB模塊不僅可以用于實(shí)現(xiàn)組合邏輯、時(shí)序邏輯,還可以配置為分布式RAM和分布式ROM。3. 數(shù)字時(shí)鐘管理模塊(DCM) 業(yè)內(nèi)大多數(shù)FPGA均提供數(shù)字時(shí)鐘管理(Xilinx的全部FPGA均具有這種特性)。Xilinx推出最先進(jìn)的FPGA提供數(shù)字時(shí)鐘管理和相位環(huán)路鎖
10、定。相位環(huán)路鎖定能夠提供精確的時(shí)鐘綜合,且能夠降低抖動(dòng),并實(shí)現(xiàn)過濾功能。 4嵌入式塊RAM(BRAM) 大多數(shù)FPGA都具有內(nèi)嵌的塊RAM,這大大拓展了FPGA的應(yīng)用范圍和靈活性。塊RAM可被配置為單端口RAM、雙端口RAM、內(nèi)容地址存儲(chǔ)器 (CAM)以及FIFO等常用存儲(chǔ)結(jié)構(gòu)。RAM、FIFO是比較普及的概念,在此就不冗述。CAM存儲(chǔ)器在其內(nèi)部的每個(gè)存儲(chǔ)單元中都有一個(gè)比較邏輯,寫入 CAM中的數(shù)據(jù)會(huì)和內(nèi)部的每一個(gè)數(shù)據(jù)進(jìn)行比較,并返回與端口數(shù)據(jù)相同的所有數(shù)據(jù)的地址,因而在路由的地址交換器中有廣泛的應(yīng)用。除了塊RAM,
11、還可以將 FPGA中的LUT靈活地配置成RAM、ROM和FIFO等結(jié)構(gòu)。 5.豐富的布線資源 布線資源連通FPGA內(nèi)部的所有單元,而連線的長(zhǎng)度和工藝決定著信號(hào)在連線上的驅(qū)動(dòng)能力和傳輸速度。FPGA芯片內(nèi)部有著豐富的布線資源,根據(jù)工藝、長(zhǎng)度、寬度和分布位置的不同而劃分為4類不同的類別。第一類是全局布線資源,用于芯片內(nèi)部全局時(shí)鐘和全局復(fù)位/置位的布線;第二類是長(zhǎng)線資源,用以完成芯片 Bank間的高速信號(hào)和第二全局時(shí)鐘信號(hào)的布線;第三類是短線資源,用于完成基本邏輯單元之間的邏輯互連和布線;第四類是分布式的布線資源,用于專有時(shí)鐘、復(fù)位等控
12、制信號(hào)線。6 底層內(nèi)嵌功能單元 內(nèi)嵌功能模塊主要指DLL(Delay Locked Loop)、PLL(Phase Loop)、DSP和CPU等軟處理核(SoftCore)。越來越豐富的內(nèi)嵌功能單元,單片F(xiàn)PGA成為了系統(tǒng)級(jí)的設(shè)計(jì)工具,使其具備了軟硬件聯(lián)合設(shè)計(jì)的能力,逐步向SOC過渡。DLL和PLL具有類似的功能,可以完成時(shí)鐘高精度、低抖動(dòng)的倍頻和分頻,以及占空比調(diào)整和移相等功能。Xilinx公司生產(chǎn)的芯片上集成了 DLL,Altera公司的芯片集成了PLL核生成的工具方便地進(jìn)行管理和
13、配置。 7. 內(nèi)嵌專用硬核 內(nèi)嵌專用硬核是相對(duì)底層嵌入的軟核而言的,指FPGA處理能力強(qiáng)大的硬核(Hard Core),等效于ASIC電路。為了提高FPGA性能,芯片生產(chǎn)商在芯片內(nèi)部集成了一些專用的硬核。例如:為了提高FPGA的乘法速度,主流的FPGA 中都集成了專用乘法器;為了適用通信總線與接口標(biāo)準(zhǔn),很多高端的FPGA內(nèi)部都集成了串并收發(fā)器(SERDES),可以達(dá)到數(shù)十Gbps的收發(fā)速度。2.4 配置模式 FPGA有多種配置模式:并行主模式為一片F(xiàn)PGA加一片EPROM的方式;主從模式
14、可以支持一片PROM編程多片F(xiàn)PGA;串行模式可以采用串行PROM編程FPGA;外設(shè)模式可以將FPGA作為微處理器的外設(shè),由微處理器對(duì)其編程。3、 FPGA的設(shè)計(jì)語言介紹FPGA設(shè)計(jì)通常會(huì)使用HDL語言,比如Verilog HDL或者VHDL。當(dāng)采用HDL語言來描述一個(gè)硬件電路功能的時(shí)候,要確保代碼描述的電路是硬件可實(shí)現(xiàn)的。HDL語言的語法與C語言很相似,但是它們之間有著本質(zhì)的區(qū)別。C語言是基于過程的高級(jí)語言,編譯后可以在CPU上運(yùn)行。而Verilog HDL語言描述的本身就是硬件結(jié)構(gòu),編譯后是硬件電路。3.1 VHDL語言介紹 Very-High-Speed
15、160;Integrated Circuit Hardware Description Language是VHDL的英文全名。VHDL主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL的語言形式和描述風(fēng)格與句法是十分類似于一般的計(jì)算機(jī)高級(jí)語言。VHDL的程序結(jié)構(gòu)特點(diǎn)是將一項(xiàng)工程設(shè)計(jì),或稱設(shè)計(jì)實(shí)體(可以是一個(gè)元件,一個(gè)電路模塊或一個(gè)系統(tǒng))分成外部(或稱可視部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實(shí)體的內(nèi)部功能和算法完成部分。在對(duì)一個(gè)設(shè)計(jì)實(shí)體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計(jì)就可以直接調(diào)用這個(gè)實(shí)體。
16、這種將設(shè)計(jì)實(shí)體分成內(nèi)外部分的概念是VHDL系統(tǒng)設(shè)計(jì)的基VHDL 語言能夠成為標(biāo)準(zhǔn)化的硬件描述語言并獲得廣泛應(yīng)用,它自身必然具有很多其他硬件描述語言所不具備的優(yōu)點(diǎn)。3.2Verilog語言介紹HDL:Hardware Discription Language,是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。Verilog HDL 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。所有這些都使用同
17、一種建模語言。此外,Verilog HDL語言提供了編程語言接口,通過該接口可以在模擬、驗(yàn)證期間從設(shè)計(jì)外部訪問設(shè)計(jì),包括模擬的具體控制和運(yùn)行。Verilog HDL語言不僅定義了語法,而且對(duì)每個(gè)語法結(jié)構(gòu)都定義了清晰的模擬、仿真語義。因此,用這種語言編寫的模型能夠使用Verilog仿真器進(jìn)行驗(yàn)證。語言從C編程語言中繼承了多種操作符和結(jié)構(gòu)。Verilog HDL提供了擴(kuò)展的建模能力,其中許多擴(kuò)展最初很難理解。但是,Verilog HDL語言的核心子集非常易于學(xué)習(xí)和使用,這對(duì)大多數(shù)建模應(yīng)用來說已經(jīng)足夠。當(dāng)然,完整的硬件描述語言足以對(duì)從最復(fù)雜的芯片到完整的電子系
18、統(tǒng)進(jìn)行描述。 一個(gè)完整的Verilog模塊由以下五個(gè)部分組成: 1 模塊定義行:module module_name (port_list); 2 說明部分用于定義不同的項(xiàng),例如模塊描述中使用的寄存器和參數(shù)。語句定設(shè)計(jì)的功能和結(jié)構(gòu)。說明部分和語句可以散布在模塊中的任何地方;但是變量、寄存器、線網(wǎng)和參數(shù)等的說明部分必須在使用前出現(xiàn)。為了使模塊描述清晰和具有良好的可讀性, 最好將所有的說明部分放在語句前。說明部分包括:寄存器,線網(wǎng),參數(shù):reg, wire, paramer端口類型說明行:input,
19、60;output, inout 函數(shù)、任務(wù):function, task等。 3 主體部分:這是一個(gè)模塊最重要的部分,在這里描述模塊的行為和功能,子模塊的調(diào)用和連接,邏輯門的調(diào)用,用戶自定義部的調(diào)用,初始態(tài)賦值,always塊,連續(xù)賦值語句等等。 4 結(jié)束行,以 endmodule 結(jié)束,注意后面沒有分號(hào)了。 5. 在模塊中,可用下述方式描述一個(gè)設(shè)計(jì): 1) 數(shù)據(jù)流方式 2) 行為方式;
20、; 3) 結(jié)構(gòu)方式; 4) 上述描述方式的混合。4、 交通燈的Verilog語言程序4.1設(shè)計(jì)背景隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市交通問題越來越引起人們的關(guān)注。出行交通的協(xié)調(diào),已成為交通管理部門需要解決的重要問題之一。城市交通控制系統(tǒng)是用于城市交通數(shù)據(jù)監(jiān)測(cè)、交通信號(hào)燈控制與交通疏導(dǎo)的計(jì)算機(jī)綜合管理系統(tǒng),它是現(xiàn)代城市交通監(jiān)控指揮系統(tǒng)中最重要的組成部分。隨著城市機(jī)動(dòng)車量的不斷增加,許多城市出現(xiàn)了交通超負(fù)荷運(yùn)行的情況,因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長(zhǎng)和
21、缺乏對(duì)高速道路的系統(tǒng)研究和控制,高速道路沒有充分發(fā)揮出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點(diǎn),也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處。4.2Verilog程序 Moduletraffic(clk,smbit,key,smseg,en,rst,hold,light1,light2); input clk;/定義時(shí)鐘引腳input rst,en; /定義復(fù)位和使能引腳output 7:0sm_bit;/定義數(shù)碼管位選引腳output 7:0sm_seg;/定義數(shù)碼管段選引腳 output2:0light1,ligh
22、t2;/定義兩個(gè)方向交通燈reg 7:0sm_bit_r; reg 7:0sm_seg_r; reg 3:0disp_dat;/定義數(shù)碼管顯示數(shù)據(jù)寄存器Reg24:0count;/定義計(jì)數(shù)器寄存器reg sec;/定義秒信號(hào)寄存器reg tim1,tim2,st1,st2;/定義tim1位倒計(jì)時(shí)是否到達(dá)的位標(biāo)識(shí) reg1:0state1,state2,ste;/定義一些狀態(tài)reg2:0light1,light2; reg3:0num; reg7:0num1,num2;/num1num2的值為倒
23、計(jì)時(shí)的值reg7:0red1,red2,green1,green2,yellow1,yellow2;/定義紅黃藍(lán)燈的一些狀態(tài) assign smbit=smbitr; assign smseg=smsegr; always(posedge clk) begin count=count+1'b1; if(count=25'd25000000)/時(shí)間達(dá)到一秒Begin count=25'd0; sec=sec;end
24、;end always(posedge clk) Begin case (count17:15) 3'd0:dispdat=num13:0;/秒個(gè)位 3'd1:dispdat=num17:4;/秒十位 3'd2:dispdat=4'ha;/顯示"-" 3'd3:dispdat=num23:0;/分個(gè)位 3'd4:dispdat=num27:4;/分十位 3'd5:dispdat=4'ha;/顯示"-"
25、 endcase case(count17:15) /選擇數(shù)碼管顯示位3'd0:smbitr=8'b11111110;/選擇第一個(gè)數(shù)碼管顯示3'd1:smbitr=8'b11111101;/選擇第二個(gè)數(shù)碼管顯示3'd2:smbitr=8'b11111011;/選擇第三個(gè)數(shù)碼管顯示3'd3:smbitr=8'b11110111;/選擇第四個(gè)數(shù)碼管顯示3'd4:smbitr=8'b11101111;/選擇第五個(gè)數(shù)碼管顯示3'd5:smbitr=8'b11011111;/選擇第六個(gè)數(shù)碼
26、管顯示3'd6:smbitr=8'b10111111;/選擇第七個(gè)數(shù)碼管顯示3'd7:smbitr=8'b01111111;/選擇第八個(gè)數(shù)碼管顯示endcase end always (posedge clk) Begin case(dispdat) 4'h0:smsegr=8'hc0;/顯示0 4'h1:smsegr=8'hf9;/顯示1 4'h2:smsegr=8'ha4;/顯示2 4'h3:smseg
27、r=8'hb0;/顯示3 4'h4:smsegr=8'h99;/顯示4 4'h5:smsegr=8'h92;/顯示5 4'h6:smsegr=8'h82;/顯示6 4'h7:smsegr=8'hf8;/顯示7 4'h8:smsegr=8'h80;/顯示8 4'h9:smsegr=8'h90;/顯示9 4'ha:smsegr=8'hbf;/顯示- default:smsegr=8'hff;/不顯示 endcase end alwa
28、ys(en) if(!en) begin green1<=8'b00110101; red1<=8'b00100101; yellow1<=8'b00000101; green2<=8'b00100101; red2<=8'b00110101; yellow2<=8'b00000101; end always(posedge sec)/南北方向 begin if(!rst)/復(fù)位模塊 begin light1<=3'b001; num1<=green1; end if(!tim1) begi
29、n tim1<=1; case(state1) 2'b00:beginnum1<=green1;light1<=3'b110;state1<=2'b01;end 2'b01:beginnum1<=yellow1;light1<=3'b101;state1<=2'b11;end 2'b11:beginnum1<=red1;light1<=3'b011;state1<=2'b10;end 2'b10:begin num1<=yellow1;light1&
30、lt;=3'b101;state1<=2'b00;end/狀態(tài)機(jī)使三個(gè)狀態(tài)一直循環(huán) default:light1<=3'b011; endcase end else begin if(num1=1)tim1<=0; else if(num1>0) if(num13:0=0) begin num13:0<=4'b1001;/倒計(jì)時(shí)模塊 num17:4<=num17:4-1; end else num13:0<=num13:0-1; end end always(posedge sec)/東西方向 begin if(!rst
31、)/復(fù)位模塊 begin light2<=3'b100; num2<=red2; end if(!tim2) begin tim2<=1; case(state2) 2'b00:beginnum2<=red2;light2<=3'b011;state2<=2'b01;end 2'b01:beginnum2<=yellow1;light2<=3'b101;state2<=2'b11;end 2'b11:beginnum2<=green2;light2<=3'b
32、110;state2<=2'b10;end 2'b10:beginnum2<=yellow2;light2<=3'b101;state2<=2'b00;end default:light2<=3'b011; endcase end else begin if(num2=1)tim2<=0; else if(num2>0) if(num23:0=0) begin num23:0<=4'b1001; num27:4<=num27:4-1; end else num23:0<=num23:0-
33、1; end end endmodule 4.3 C語言程序 #include<reg52.h> #define uchar unsigned char #define time 50000 #define ON 0 #define OFF 1 sbit NSB=P15;/南北綠燈 sbit NSY=P14;/南北黃燈 sbit NSR=P13; /南北紅燈 sbit EWB=P12;/東西綠燈 sbit EWY=P11;/東西黃燈 sbit EWR=P10;/東西紅燈 sbit P27=P27; sbit P26=P26; sbit P23=P23; sbit P22=P22;
34、/*=倒計(jì)時(shí)=*/ uchar N=15,Y=12,Z=15,M=27,G=30,U=30; uchar C50ms; uchar seg=1; void InitialT1(void) ET1=0;TMOD=0x10; TH1=(65536-time)>>8; TL1=(65536-time)&0xff; TR1=1; ET1=1; EA=1; Void ISRT 1(void) interrupt3 TR1=0; TH1=(65536-time)>>8; TL1=(65536-time)&0xff; TR1=1; C50ms+; if(C50ms&g
35、t;19) N-; M-; Y-; Z-; G-; U-; C50ms=0; /*=延時(shí)=*/ void Delay10uS(uchar second) int i; while(second-)!=0) for(i=0;i<3;i+); /*=led控制=*/ uchar discode10=0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90; void display1(uchar num1,uchar num2) P0=discodenum1; P22=ON; Delay10uS(1); P22=OFF; /控制南led顯示 P0=discodenum2; P23=ON; Delay10uS(1); P23=OFF; void display2(uchar num3,uchar num4) P0=discodenum3; P26=ON; Delay10uS(1); P26=OFF; /控
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 傳統(tǒng)工地管理制度
- 廣州中醫(yī)藥大學(xué)《服務(wù)營銷與管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 低溫魚池管理制度
- 住宅樓道管理制度
- 德陽城市軌道交通職業(yè)學(xué)院《換熱器原理與設(shè)計(jì)》2023-2024學(xué)年第二學(xué)期期末試卷
- 三江學(xué)院《學(xué)術(shù)英語(英)(1)》2023-2024學(xué)年第二學(xué)期期末試卷
- 武漢紡織大學(xué)《藝術(shù)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 供應(yīng)結(jié)算管理制度
- 供暖計(jì)量管理制度
- 供水督察管理制度
- 2024浙江交投高速公路運(yùn)營管理限公司招聘6人高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 糖尿病急性并發(fā)癥的搶救課件
- 康復(fù)科常見應(yīng)急預(yù)案
- MOOC 大學(xué)生創(chuàng)新創(chuàng)業(yè)教育-云南大學(xué) 中國大學(xué)慕課答案
- 妊娠合并原發(fā)性醛固酮增多癥的護(hù)理查房
- 女性領(lǐng)導(dǎo)的培養(yǎng)和使用
- 中醫(yī)生活起居護(hù)理-疏仁麗
- 急性腎損傷護(hù)理查房
- 農(nóng)轉(zhuǎn)非15年后退休政策
- 反騷擾政策程序
- 云平臺(tái)風(fēng)險(xiǎn)管理
評(píng)論
0/150
提交評(píng)論