第一篇:實驗五 有急救車的交通燈實驗
實驗五有急救車的交通燈控制實驗
一、實驗目的:
1.學習外部中斷技術的基本使用方法。
2.學習中斷處理程序的編程方法。
3.學習模擬交通燈控制的實現方法。
二、實驗設備:
微機、KEIL2、Proteus 7.10
三、實驗內容:
在完成交通燈亮滅規(guī)律的基礎上增加允許急救車優(yōu)先通過的要求。當有急救車到達時,兩個方向上的紅燈亮,以便讓急救車通過,假定急救車通過路口的時間為5秒,急救車通過后,交通燈恢復中斷前的狀態(tài)。本實驗以單脈沖(下降延有效)為中斷申請,表示有急救車通過。
四、實驗原理:
1.交通燈的燃滅規(guī)律:
要完成本實驗,首先必須了解交通路燈的亮滅規(guī)律。本實驗需要用到12個發(fā)光二極管,即紅、黃、綠各4個。不妨將L1、L2(紅)、L3、L4(黃)、L5、L6(綠)做為東西方向的指示燈,將L7、L8(紅)、L9、L10(黃)、L11、L12(綠)做為南北方向的指示燈。而交通燈的亮滅規(guī)律為:初始態(tài)是兩個路口的紅燈全亮,之后,東西路口的綠燈亮,南北路口的紅燈亮,東西方向通車,延時一段時間后(約10秒),東西路口綠燈滅,黃燈開始閃爍。閃爍若干次后(約3秒),東西路口紅燈亮,而同時南北路口的綠燈亮,南北方向開始通車,延時一段時間后,南北路口的綠燈滅,黃燈開始閃爍。閃爍若干次后,再切換到東西路口方向,重復上述過程。
2.中斷處理
本實驗中斷處理程序的應用,最主要的地方是如何保護進入中斷前的狀態(tài),使得中斷程序執(zhí)行完畢后能回到交通燈中斷前的狀態(tài)。要保護的地方,除了累加器ACC、標志寄存器PSW外,還要注意:一是主程序中的延時程序和中斷處理程序中的延時程序最好不要混用,最好主程序延時用R5、R6、R7,中斷延時用R2、R3、R4。第二,主程序中每執(zhí)行一步經P1的端口輸出數據的操作時,應先將所輸出的數據保存到一個單元中。因為進入中斷程序后也要執(zhí)行往P1端口輸出數據的操作,中斷返回時如果沒有恢復中斷前P1端口鎖存器的數據,則顯示往往出錯,回不到中斷前的狀態(tài)。
五、實驗步驟:
1.設計電路:P1接發(fā)光二極管L1~L12,單脈沖輸出端接INT0。
2.編寫程序實現有急救車的交通燈控制。
六、實驗報告要求:
1.在實驗報告中請將實驗中所設計電路圖、編寫的實驗程序及程序框圖附上。
第二篇:單片機實驗三(急救車與交通燈)
杭州電子科技大學單片機技術與應用實驗報告
單片機技術與應用
實驗報告
實驗名稱:外部中斷實驗(急救車與交通燈)班
級:
11062811
學
號:
11061118
姓
名:
呂琳濤
指導老師:
谷雨
2013年 5月 20日
杭州電子科技大學單片機技術與應用實驗報告
} } XBYTE[0xf200]=0x6f;delay(1000);XBYTE[0xf200]=0x09;delay(5000);
void exter0()interrupt 0
{
XBYTE[0xf200]=0x0f;
delay(10000);}
//中斷服務程序,中斷為外部中斷0
//全紅10s,急救車通過
4.心得體會
本次實驗中我們做的是一個交通燈的控制與救護車通過時的一個中斷問題。我想這次實驗是上兩次實驗的結合。然后我想對于一些看似很復雜的問題,如果我們可以將其分解為一些我們學過的會做的問題的話,問題就會迎刃而解。
第三篇:實驗八交通燈控制電路的設計
可編程邏輯設計 ——實驗八報告
學院:物理與信息工程學院 專業(yè):通信工程 年級:2007級 班級:二班
學號:110700221 姓名:林明明 指導老師:楊秀芝
實驗八交通燈控制電路的設計
一、實驗目的:
進一步學習復雜數字電路的設計方法,提高利用硬件描述語言進行電路設計的技巧和熟練程度。
二、實驗要求及原理:
滿足圖1順序工作流程。圖中設南北方向的紅、黃、綠燈分別為NSR、NSY、NSG,東西方向的紅、黃、綠燈分別為EWR、EWY、EWG。它們的工作方式有些必須是并行進行的,即南北方向綠燈亮,東西方向紅燈亮;南北方向黃燈亮,東西方向紅燈亮;南北方向紅燈亮,東西方向綠燈亮;南北方向紅燈亮,東西方向黃紅燈亮。圖1 交通燈順序工作流程圖
應滿足兩個方向的工作時序:即東西方向亮紅燈時間應等于南北方向亮黃、綠燈時間之和,南北方向亮紅燈時間應等于東西方向亮黃、綠燈時間之和。時序流程圖2所示。
圖2中,假設每個單位時間為3秒,則南北、東西方向綠、黃、紅燈亮時間分別15秒、3秒、18秒,一次循環(huán)為36秒。其中紅燈亮的時間為綠燈、黃燈亮的時間之和。圖2 交通燈時序工作流程圖
十字路口要有數字顯示,作為時間提示,以便人們更直觀地把握時間。具體為:當某方向紅燈亮時,置顯示器為某值,然后以每秒減1計數方式方式工作,直至減到數為“0”,十字路口紅、綠燈交換,一次工作循環(huán)結束,進入下一步某方向地工作循環(huán)。
例如:當南北方向從黃燈轉換成紅燈時,置南北方向數字顯示為24,并使數顯計數器開始減“1”計數,當減到“0”,時,此時紅燈滅,而南北方向的綠燈亮;同時,東西方向的紅燈亮,并置東西方向的數顯為24。
三、實驗內容:
1、根據實驗要求及原理1、2畫出交通指示燈控制電路原理框圖。提示:兩個方向的控制電路可以共用一個24進制計數器實現。
2、用VHDL硬件描述語言層次化設計方法進行頂層文件和各模塊電路的設計。
3、用QuartusII對設計進行編譯、綜合、仿真,給出仿真波形和時序分析數據(不包括數碼顯示部分)。
4、通過QuartusII集成環(huán)境,將設計下載到實驗電路上進行硬件測試。管腳鎖定:
clk: clk1 43
clk1 start: PIO23 30
SW1 NSG
PIO19
LED12 NSY
PIO20
LED11 NSR
PIO21
LED10 EWG
PIO22
LED3 EWY
PIO12
LED2 EWR
LED1
5、畫出完整的交通燈控制電路原理框圖(含數碼顯示部分)。
6、修改上述內容2的設計,增加數碼顯示部分。
注意:兩方向的計數要求分別顯示在數碼管1、2和數碼管7、8上。
7、用MAX_plusⅡ對設計進行編譯、綜合、仿真,給出仿真波形和時序分析數據。
8、再次將設計下載到實驗電路上進行硬件測試。新增管腳鎖定:
A(6): PIO6 SEG g
A(5): PIO5 SEG f A(4): PIO4 SEG e A(3): PIO3 SEG d A(2): PIO2 SEG c A(1): PIO1 SEG b A(0): PIO0 SEG a *S(2):
*S(1):
*S(0):
四、思考題:
1、控制電路除用有限狀態(tài)機實現外,還可以采用什么方法實現?
2、如果增加夜間顯示(即全部黃燈閃爍),電路該怎樣設計? 實驗結果:
交通燈控制電路原理框圖:
頂層電路的VHDL描述: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity traffic is port(clk,start:in std_logic;NSG,NSY,NSR,EWG,EWY,EWR:out std_logic;ledNS,ledEW:out std_logic_vector(7 downto 0));end;architecture behav of traffic is component NSEW port(clk,start:in std_logic;NSG,NSY,NSR,EWG,EWY,EWR:out std_logic);end component;component led7s port(clock,start:in std_logic;ledns,ledew:out std_logic_vector(7 downto 0));end component;signal clk0,clk1,clk2,clknsr,clkewr:std_logic;begin u1:NSEW port map(clk=>clk,start=>start,NSG=>NSG,NSY=>NSY,NSR=>NSR,EWG=>EWG,EWY=>EWY,EWR=>EWR);u2:led7s port map(clock=>clk,start=>start,ledns=>ledNS,ledew=>ledEW);end;各模塊電路的VHDL描述: 模塊clock的VHDL描述—— library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clock is port(clk,start:in std_logic;clk0,clk1,clk2:out std_logic);end clock;architecture behav of clock is begin process(clk,start)variable cql:std_logic_vector(6 downto 0);begin if clk'event and clk='1' then if start='1'then
if cql<48 then cql:=cql+1;else cql:=(others=>'0');end if;if cql<24 then clk1<='1';else clk1<='0';end if;
if cql>23 and cql<48 then clk2<='1';else clk2<='0';end if;end if;end if;end process;end;模塊cnt10的VHDL描述—— LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT(CLK,EN,LD:IN STD_LOGIC;CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);D:IN STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC);END CNT10;ARCHITECTURE BEHAV OF CNT10 IS BEGIN PROCESS(CLK,EN)VARIABLE CQI :STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF CLK'EVENT AND CLK='1' THEN IF LD='1' THEN CQI:=D;IF EN='1' THEN IF CQI>0 THEN CQI:=CQI-1;ELSE CQI:=“1001”;END IF;END IF;END IF;END IF;IF CQI=0 THEN COUT<='1';ELSE COUT<='0';END IF;CQ<=CQI;END PROCESS;END BEHAV;模塊NSG的VHDL描述—— library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity NSG is port(clk,start:in std_logic;cq:out std_logic_vector(3 downto 0);oout:out std_logic);end;architecture one of NSG is begin process(clk,start)variable cqi:std_logic_vector(3 downto 0);begin if clk'event and clk='1' then if start='1' then if cqi<11 then cqi:=cqi+1;else cqi:=(others=>'0');end if;end if;if cqi<5 then oout<='1';else oout<='0';end if;end if;cq<=cqi;end process;end one;模塊NSR的VHDL描述—— library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity NSR is port(clk,start:in std_logic;cq:out std_logic_vector(3 downto 0);oout:out std_logic);end;architecture one of NSR is begin process(clk,start)variable cqi:std_logic_vector(3 downto 0);begin if clk'event and clk='1' then if start='1' then if cqi<11 then cqi:=cqi+1;else cqi:=(others=>'0');end if;end if;if cqi<6 then oout<='0';else oout<='1';end if;end if;cq<=cqi;end process;end one;模塊NSEW的VHDL描述—— library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity NSEW is port(clk,start:in std_logic;NSG,NSY,NSR,EWG,EWY,EWR:out std_logic);end;architecture one of NSEW is begin process(clk,start)variable cqi:std_logic_vector(5 downto 0);begin if clk'event and clk='1'and start='1' then if cqi<47 then cqi:=cqi+1;else cqi:=(others=>'0');end if;if cqi<21 then NSG<='1';else NSG<='0';end if;if cqi>20 and cqi<25 then NSY<='1';else NSY<='0';end if;if cqi<25 then EWR<='1';else EWR<='0';end if;if cqi>24 and cqi<49 then NSR<='1';else NSR<='0';end if;if cqi>24 AND cqi<45 then EWG<='1';else EWG<='0';end if;if cqi>44 AND CQI<49 then EWY<='1';else EWY<='0';end if;end if;end process;end one;模塊led7s的VHDL描述: library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity led7s is port(clock,start:in std_logic;ledns,ledew:out std_logic_vector(7 downto 0));end;architecture behav of led7s is
signal cqi : std_logic_vector(7 downto 0);signal cql : std_logic_vector(7 downto 0);signal cnt6: std_logic_vector(7 downto 0);signal clk : std_logic;begin clk <= clock;process(clk)begin if clk'event and clk='1' then if start='1'then
if cnt6<47 then cnt6<=cnt6+1;
else cnt6<=“00000000”;
end if;
end if;end if;end process;process(clk)begin if clk'event and clk='1' then if start='1'then if
cqi>32 then cqi<=cqi-1;elsif cqi=32 then cqi<=“00011001”;elsif cqi>16 then cqi<=cqi-1;elsif cqi=16 then cqi<=“00001001”;elsif cqi>0 then cqi<=cqi-1;elsif cqi=0 and cnt6=0 then cqi<=“00100100”;end if;if
cql>32 then cql<=cql-1;elsif cql=32 then cql<=“00011001”;elsif cql>16 then cql<=cql-1;elsif cql=16 then cql<=“00001001”;elsif cql>0 then cql<=cql-1;elsif cql=0 and cnt6=24 then cql<=“00100100”;end if;end if;end if;end process;ledew<=cqi;ledns<=cql;end;交通燈工作時序仿真波形:
測試結果及分析:
(1)東西方向亮紅燈時間應等于南北方向亮黃、綠燈時間之和,南北方向亮紅燈時間應等于東西方向亮黃、綠燈時間之和.(2)當某方向紅燈亮時,置顯示器為某值,然后以每秒減1計數方式方式工作,直至減到數為“0”,十字路口紅、綠燈交換,一次工作循環(huán)結束,進入下一步某方向地工作循環(huán)。例如:當東西方向從黃燈轉換成紅燈時,置東西方向數字顯示為24,并使數顯計數器開始減“1”計數,當減到“0”,時,此時紅燈滅,而東西方向的綠燈亮;同時,南北方向的紅燈亮,并置南北方向的數顯為24。【回答問題】
1、控制電路除用有限狀態(tài)機實現外,還可以采用什么方法實現?
2、如果增加夜間顯示(即全部黃燈閃爍),電路該怎樣設計? 答:
還可以用進程語句實現,用一個十二進制的計數器作為控制模塊,則EWR、EWG、EWY、NSR、NSG、NSY在計數器不同輸出的時候有相應的輸出。
第四篇:傳感器實驗五
傳感器實驗報告五
姓名 江璐 學號 1315212017 班級 電子二班 時間 2015.12.2 實驗題目 CC2530基礎實驗
一:實驗設備
1.硬件:教學實驗箱、PC機。
2.軟件:PC機操作系統(tǒng)Windows 98(2000、XP)+IAR開發(fā)環(huán)境。
二:實驗
(一)光照傳感器采集實驗
1.實驗目的
(1)掌握光照傳感器的操作方法。
(2)掌握光照傳感器采集程序的編程方法。
2.實驗內容
在IAR集成開發(fā)環(huán)境中編寫光照傳感器采集程序。
3.相關電路圖
4.程序
5.實驗現象
(二)人體感應傳感器采集實驗
1.實驗目的
(1)掌握人體感應傳感器的操作方法。
(2)掌握人體感應傳感器采集程序的編程方法。
2.實驗內容
在IAR集成開發(fā)環(huán)境中編寫體感應傳感器采集程序。3.相關電路圖
4.程序
5.實驗現象
人靠近人體感應器的時候D2、D3燈閃亮,遠離時燈滅。
(三)震動傳感器采集實驗
1.實驗目的
(1)掌握震動傳感器的操作方法。
(2)掌握震動傳感器采集程序的編程方法。
2.實驗內容
在IAR集成開發(fā)環(huán)境中編寫震動傳感器采集程序。
3.相關電路圖
4.程序
5.實驗現象
拿起通用調試母板晃動,無晃動時D2、D3燈不亮,有晃動時D2、D3燈閃亮,劇烈晃動時D2、D3燈閃亮頻率加快。
(四)煙霧傳感器采集實驗
1.實驗目的
(1)掌握煙霧傳感器的操作方法。
(2)掌握煙霧傳感器采集程序的編程方法。
2.實驗內容
在IAR集成開發(fā)環(huán)境中編寫煙霧傳感器采集程序。
3.相關電路圖
4.程序
5.實驗現象
串口調試助手顯示可燃氣體傳感器的輸出值。
三:心得體會
震動傳感器采集程序時一直沒有用,后面才發(fā)現少了程序,加上后就可以正常運行了。
第五篇:實驗五教案
國家二級C機試培訓資料
strcpy(p,c);國家二級C機試培訓資料
main()
{ char c,s[80];
攀枝花學院計算機基礎教研室 國家二級C機試培訓資料
fun(s, t);
printf(“nThe result is: %sn”, t);} 攀枝花學院計算機基礎教研室 國家二級C機試培訓資料
case('i'):
case('o'):
攀枝花學院計算機基礎教研室 國家二級C機試培訓資料
printf(“n”);}
攀枝花學院計算機基礎教研室 國家二級C機試培訓資料
c=getchar();
while(__2___)//填:c!=?#?
{ s[i]=c;i++;c=getchar();___3___;
//填:s[i]=? 主站蜘蛛池模板: 日本xxxx色视频在线播放| 久久不见久久见www电影免费| 最新高清无码专区| 国产极品粉嫩泬免费观看| 日本乱码一区二区三区不卡| 亚洲成aⅴ人片精品久久久久久| 国产亚洲精品久久久久久久| 精品国产一区二区三区四区精华液| 双腿张开被9个男人调教| 十八禁在线观看视频播放免费| 一二三四日本高清社区5| 少妇人妻大乳在线视频不卡| 48沈阳熟女高潮嗷嗷叫| 国产伦精品一区二区三区| 亚洲色无码国产精品网站可下载| 天堂v亚洲国产ⅴ第一次| 成年女性特黄午夜视频免费看| 一本一道人人妻人人妻αv| 国产精品爆乳在线播放| 久久久久国产精品嫩草影院| 人妻aⅴ中文字幕无码| 无码丰满熟妇bbbbxxx| 欧美丰满熟妇bbbbbb| 国产精品一区二区久久乐下载| 少妇高潮毛片免费看| 无码粉嫩虎白一线天在线观看| 人妻av一区二区三区精品| 国产真实乱子伦清晰对白| 人妻少妇精品一区二区三区| 亚洲日韩精品无码av海量| 少妇太爽了在线观看| 中文字幕乱码熟女人妻水蜜桃| 18禁无码无遮挡在线播放| 日本熟妇色xxxxx日本免费看| 777亚洲精品乱码久久久久久| 久久日韩乱码一二三四区别| 婷婷五月综合激情| 特级毛片在线大全免费播放| 亚洲日韩国产精品乱-久| 四虎国产精品永久在线国在线| 一本大道无码av天堂|