日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

计算机课程设计红绿灯,labview红绿灯课程设计报告

發布時間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 计算机课程设计红绿灯,labview红绿灯课程设计报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 課程設計目的

(1) 掌握labview的軟件編程方法;

(2) 培養綜合應用所學知識來指導實踐的能力; 1.2 課程設計的任務

本次課程設計要完成一個十字交通燈的設計,這個交通燈系統能為東西和南北兩個方向行駛的車輛指示能否通行。這個交通路口每一個方向上的紅綠燈按綠—黃—紅的順序循環,每個循環的時間為60秒,其中紅燈時間為30秒,黃燈時間5秒,綠燈時間25秒,當按下停止鍵時,循環停止。 1.3 課程設計的要求及技術指標

(1) 能夠將現實生活中的交通燈出現順序在電腦上面顯示; (2) 要有時間現實; (3) 具有有好的人機界面; 1.4總體設計思路

此次設計可以用12盞燈來指示路口的紅綠燈狀況,他們分別是下文中的東西紅

1、東西紅

2、東西黃

1、東西黃

2、東西綠

1、東西綠

2、南北紅

1、南北紅

2、南北黃

1、南北黃

2、南北綠

1、南北綠2。

信號燈按一定規律循環點亮,每盞紅燈亮30秒,每盞黃燈亮5秒,每盞綠燈亮25秒。每個循環包括四個階段。第一階段:南北綠(

1、2)和東西紅(

1、2)亮25秒;第二階段:南北黃(

1、2)和東西紅(

1、2)亮5秒;第三階段:南北紅(

1、2)和東西綠(

1、2)亮25秒;第四階段:東西黃(

1、2)和南北紅(

1、2)亮5秒;中間放置一個時間計數器,用于觀測時間的進行。

用計數器產生以秒為單位的計時信號,再將信號進行分段,每到一個時間段時時間系統進行相應的動作。

總體流程圖如下:

1.5前面板的設計

前面板是VI的用戶界面。創建VI時,通常應先設計前面板,然后在前面板上創建輸入/輸出任務。本課程設計總前面板的設計比較簡單,需要用到12盞燈、一個時間顯示器、一個停止鍵即可。其中的12盞燈,在控件選板中選擇指示燈,將它放在前面板合適的位置,單擊鼠標右鍵,更改指示燈的屬性,改變指示燈的大小并設定顏色,做出一個合適的指示燈,再用框將每組燈框起來,做成一個交通燈。在每組交通燈合適的位置放置一個數值顯示控件作為交通燈的計時器。在前面板合適的位置放置一個開關按鈕,控制循環的啟停。這樣交通燈系統的前面板就做好了。

1.6 定時信號的產生

定時信號在程序框圖中右鍵→執行過程控制→while循環中產生

由于i產生的時間頻率過快,所以在程序框圖中右鍵→執行過程控制→時間延遲,用于控制i產生時間的頻率,防止過快,或者過慢,可自行控制。選中該圖標,右鍵屬性,設置配置時間延遲1秒。

1.7 為了更好的觀察時間的變化,添加數值顯示器

1.8 時間信號的分段

將得到的時間信號除以每個循環所用的時間60秒,取余數。得到的余數x的范圍為0<=x<60,當0<=x<25時,條件滿足,執行第一個條件結構里面的程序,東西紅和南北綠燈亮。當25<=x<30時,條件滿足,執行第二個條件結構里的程序,南北黃河東西紅燈亮。當30<=x<55時,條件滿足,執行第三個條件結構里的程序,東西綠和南北紅燈亮。當55<=x<60時,條件滿足,執行第四個條件結構里的程序,東西黃和南北紅燈亮。

1.9 總控制程序

本設計采用的是編程方法控制紅綠燈的亮滅,簡單而又方便。在程序框圖中右鍵→編程→公式節點,在該公式節點框中輸入C語言程序,并設置輸入輸出節點;

2.0 類型轉換

由于控制程序中設置的變量時整型,而指示燈是布爾型,所以需要在兩者之間添加強制轉換,以便于兩者之間的連接。

通過新數據類型平化和還原,使x強制轉換為某個類型。如函數無法轉換數據而必須對其解釋,Labview可使用臨時緩沖區。 2.1 程序框圖總體設計

2.2 各個工作階段截圖

第一階段:0~25秒內,東西紅和南北綠燈亮。

第二階段:25~30秒內,東西紅和南北黃燈亮。

第三階段:30~55秒內,東西綠和南北紅燈亮。

第四階段:55~60秒內,東西黃和南北紅燈亮

2.3 心得體會

此次課程設計圓滿結束,對于我經過努力的結果,我感到非常滿意。由于大家平時都是學習理論知識,沒有過實際開發設計的經驗,雖然上課的時候講過很多LabVIEW的應用,但課后也從沒真正地應用過這個軟件,對它一點都不熟悉,拿到這個設計的時候都不知道怎么做。但通過對LabVIEW進行了幾天的摸索學習,我終于把課程設計做好了,并發現LabVIEW很實用。通過這次課程設計我基本學會了虛擬儀器設計的步驟和基本方法,提高了動手能力,增強了理論聯系實際的能力。

在這個課程實際中,我真正的感受到了虛擬儀器的優越性,“軟件即儀器”,僅僅在LabVIEW上寫入一些圖形程序,就可以實現相應的儀器的功能,只需借助一臺計算機,一個LabVIEW軟件,就可以實現很多儀器的功能。

課程設計的過程中,我遇到不少的問題,但最終我還是戰勝困難,取得了成功,當然其中很大一部分功勞都要歸功于指導老師和同學們,如果沒有指導老師和與同學們的相互交流學習,我的課程設計肯定不會如此輕松。總之,在這次課程設計中,我受益匪淺。

微機原理紅綠燈課程設計報告

實驗報告 2009-09-02 18:16:02 閱讀1337 評論2 字號:

大中小

要:

介紹了基于8255A的交通燈系統設計方案,重點論述了軟件系統的編寫方法。實際結果表明該系統方案切實可行。

近年來隨著科技的飛速發展,單片機的應用正在不斷深入,同時帶動傳統控制檢測技術日益更新。在實時檢測和自動控制的單片機應用系統中,單片機往往作為一個核心部件來使用,僅單片機方面知識是不夠的,還應根據具體硬件結

構軟硬件結合,加以完善。

十字路口車輛穿梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來實現這井然秩序呢?靠的就是交通信號燈的自動指揮系統。交通信號燈控制方式很多。本系統采用8255A芯片實現了A、B口設置紅、綠燈點亮時間的功能;紅綠燈循環點亮,紅綠燈變換之間,黃燈閃爍5秒

關鍵字: 交通燈、軟件系統

設計內容 本次課程設計是交通燈實時控制器,主要是用發光二極管模擬十字路口的紅綠燈,如下圖所示。交通燈控制器的設計與實現主要是通過編寫匯編語言程序利用8255的A口和B口對燈的亮與滅進行控制。由于實驗室的儀器上只有16個發光二極管,所以還得弄清楚是每個發光二極管所代表的燈的顏色及方向。16個發光二級管,且從高到低依次為:D15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在設計的過程中做了如下的規定:R表示紅燈,G表示綠燈,Y表示黃燈,E表示方向東,W表示方向西,S表示方向南,N表示方向北,D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0

表示NY。 交通燈控制示意圖 具體時間的分配和控制如下:

東西方向綠燈亮,南北方向紅燈亮,時間20秒 東西方向黃燈閃爍,南北方向紅燈亮,時間5秒 東西方向紅燈亮,南北方向綠燈亮,時間20秒 東西方向紅燈亮,南北方向黃燈閃爍,時間5秒

設計器材設備 微機、TD-PIT++實驗箱

實驗電路圖 設計流程圖

總體設計過程

1.根據選擇題目的要求,結合所參考的資料,選擇8255單元芯片以及LED顯示單元電路。

1)

電路元器件的選擇 可編程并行通信接口芯片8255 2)

完成8255單元電路的設計及參數計算

8255的A口地址是:IOY0+00H*4

B口地址是:IOY0+01H*4 C口地址是:IOY0+02H*4 控制端口地址是:IOY0+03H*4

2.

軟件流程圖的設計 3.

電路接線圖的設計 4.

軟件的設計(程序見附錄) 1)

芯片初始化,寫8255的方式字 2)

延時,延時是通過設置指令的循環次數實現的 3)

東西方向綠燈亮,南北方向紅燈亮,時間20秒 4)

東西方向黃燈閃爍,南北方向紅燈亮,時間5秒 5)

東西方向紅燈亮,南北方向綠燈亮,時間20秒 6)

東西方向紅燈亮,南北方向黃燈閃爍,時間5秒

7) 判斷是否有鍵按下 8)

返回到DOS 5.

進行軟硬件調試

因采用了pc機和微機原理實驗箱,硬件電路設計相對比較簡單,利用微機實驗箱上的8255并行口、發光二級管,便構成了交通燈控制系統。

心得體會

通過這次課程設計,加強了我的動手、思考和分析解決問題的能力。在整個設計過程中,我們按照老師給出的總體方案設計了一套電路原理和電路連接圖。通過查閱各方面資料我們編寫了程序代碼,并通過了調試,最終證實了該系統

方案確實可行。 在設計過程中,了解了很多元器件的功能,并且對于其在電路中的使用有了更多的認識。在設計的過程中遇到問題,可以說得是困難重重,這畢竟第一次做,難免會遇到過各種各樣的問題,同時也在設計的過程中發現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢

固。

這次課程設計使我懂得了理論與實際相結合的重要性,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,才能夠真正掌握理論知識,從而提高自己的實際動手能力和獨立思考的能力。

附錄(程序代碼)

IOY0 EQU 0E000H PORTA EQU IOY0+00H*4 PORTB EQU IOY0+01H*4 PORTK EQU IOY0+03H*4 STACK1 SEGMENT STACK DW 256 DUP(?)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE START: MOV AL, 80H MOV DX, PORTK ;8255工作在方式0,

A、B口均輸出

OUT DX, AL MOV AL, 3CH MOV DX, PORTA ;A口東方向綠燈亮,

南方向紅燈亮

OUT DX, AL MOV AL, 3CH MOV DX, PORTB ;B口西方向綠燈亮,

北方向紅燈亮

OUT DX, AL CALL DELAY ;調用20s延時子程序

MOV CX, 5 START1: MOV AL, 0FCH MOV DX, PORTA ;A口東方向黃燈亮,

南方向紅燈亮

OUT DX, AL MOV AL, 0FCH MOV DX, PORTB ;B口西方向黃燈亮,

北方向紅燈亮

OUT DX, AL CALL DELAY1 ;調用0.5s延時子程序

MOV AL, 30H MOV DX, PORTA ;A口東方向黃燈滅,

南方向紅燈亮

OUT DX, AL MOV AL, 30H MOV DX, PORTB ;B口西方向黃燈滅,

北方向紅燈亮

OUT DX, AL CALL DELAY1 ;調用延時0.5s子程序

LOOP START1 ;CX≠0則循環

MOV AL, 0C3H MOV DX, PORTA ;A口東方向紅燈亮,

南方向綠燈亮

OUT DX, AL MOV AL, 0C3H MOV DX, PORTB ;B口西方向紅燈亮,

北方向綠燈亮

OUT DX, AL CALL DELAY ;調用20s延時子程序

MOV CX, 5 START2: MOV AL, 0F3H MOV DX, PORTA ;A口東方向紅燈亮,

南方向黃燈亮

OUT DX, AL MOV AL, 0F3H MOV DX, PORTB ;B口西方向紅燈亮,

北方向黃燈亮

OUT DX, AL CALL DELAY1 ;調用0.5s延時子程序

MOV AL, 0C0H MOV DX, PORTA ;A口東方向紅燈亮,

南方向黃燈滅

OUT DX, AL MOV AL, 0C0H MOV DX, PORTB ;B口西方向紅燈亮,

北方向黃燈滅

OUT DX, AL CALL DELAY1 ;調用0.5s延時子程序

LOOP START2 MOV AH, 1 INT 16H JZ START ;判斷是否有鍵按下,無

按鍵則

QUIT: MOV AX, 4C00H 調回繼續循環,有

則退出

INT 21H DELAY PROC NEAR ;20s延時子程序

PUSH CX PUSH DX PUSH BX

MOV BX, 3 MOV DX, 27880 LAB: MOV CX, 0FFFFH

LOOP $ DEC DX JNZ LAB DEC BX JNZ LAB POP BX

POP DX POP CX RET DELAY ENDP PROC NEAR ;0.5s延時子程序 PUSH CX PUSH DX MOV DX, 6970 LAB1: MOV CX, 0FFFFH DELAY1

LOOP $ DEC DX

JNZ LAB1 POP DX POP CX RET DELAY1 ENDP CODE ENDS END START

labVIEW課程設計--朱鵬

南通大學電氣工程學院

labVIEW課程設計

課程小結

姓 名: 朱 鵬

班 級: 電 097 班

學 號: 0912002171

1 labVIEW課程設計--朱鵬

目 錄

第一部分 基礎題

第一題(1)................................................1 (2)...............................................2 第二題................................................... 2 第三題................................................... 3 第四題................................................... 4 第五題................................................... 5 第六題................................................... 6 第七題................................................... 7 第八題................................................... 8 第九題................................................... 9 第十題.................................................. 11 第十一題................................................ 12 第十二題................................................ 13 第十三題................................................ 15

第二部分 設計題

第一題.................................................. 16 第三題.................................................. 18

第三部分 心得體會........................................19 第一部分 基礎題

2 labVIEW課程設計--朱鵬

第一題:

用LabVIEW的基本運算函數編寫以下算式的程序代碼:

28?57x21007-683?;

102-25?631?63253(2)178?

1?3817.2-8.1?32(1)

解答:(1)

一、前面板截圖:

二、程序框圖截圖:

三、設計過程:

在前面板添加一個數值顯示控件,命名為“結果”。在程序框圖中添加 加,減,乘,除函數,數值型常量,按上圖連接,運行得出結果。

(2)

一、前面板截圖:

3 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板添加一個數值顯示控件,命名為“結果”。在程序框圖中添加 加,減,乘,除函數,數值型常量,按上圖連接,運行得出結果。

第二題:

利用攝氏溫度與華氏溫度的關系C=5(F-32)/9編寫一個程序,求華氏溫度F為

32、6

4、

4、98.6、

6、10

4、212時的攝氏溫度.

解答:

一、前面板截圖:

二、程序框圖截圖:

4 labVIEW課程設計--朱鵬

三、設計過程:

在前面板添加一個數值輸入控件,命名為“華氏溫度值”,添加一個數值顯示控件,命名為“攝氏溫度值”。在程序框圖中添加公式節點并添加輸入輸出,轉換公式為C=5*(F-32)/9 ,按上圖連接,運行得出結果。

第三題:

用數組創建函數創建一個二維數組顯示件,成員為:

編程將上述創建的數組轉置為:

解答:

一、前面板截圖:

5 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板添加數組,在數組中添加數值型顯示控件,并拉到四行六列,命名為“輸入數組”。用同樣的方法在前面板添加兩個數組輸出,命名為“顯示數組”和“轉置后數組”。在程序框圖中添加二維數組轉置控件,按上圖連接,運行得出結果。

第四題:

創建一個簇控制件,成員分別為字符型控制件姓名,數值型控制件學號,布爾型控制件注冊。從這個簇控制件中提取出簇成員注冊,顯示在前面板上。

解答:

一、前面板截圖:

6 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板中添加兩個簇,分別命名為“輸入簇” “輸出簇”,在輸入簇中添加字符串輸入控件,數值型輸入控件和布爾確定按鈕,在輸出簇中添加相應的輸出控件。在程序框圖中添加“按名稱接觸捆綁”和“捆綁”,按上圖連接,運行得出結果。

第五題:

創建一個字符串顯示件,程序運行后顯示當前系統日期、時間和自己的班級、姓名。

解答:

一、前面板截圖:

7 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板中添加四個字符串輸出控件,分別命名為“當前系統日期”“時間”“班級”“姓名”,在程序框圖中添加“獲取日期/時間字符串”控件獲取系統日期和時間,添加字符串常量“電097”“朱鵬”,按上圖連接,運行得出結果。

第六題:

將范圍0—10的5個隨機數轉換為一個字符串顯示在前面板上,要求保留2位小數,每個數之間用逗號分隔。

解答:

一、前面板截圖:

8 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板添加字符串輸出控件,命名為“所得字符串”,在程序框圖中添加for循環結構,循環五次,用隨機函數發生器產生0~1的隨機數,用乘法函數獲得0~10的隨機數,添加“數組至電子表格字符串轉換”控件和“格式化寫入字符串”控件,“%.2f,”設置格式,保留兩位小數,

第七題:

用for循環產生4行100列二維數組,數組成員如下:

1,2,3………100

100,99,98………..1 6,7,8………….105 105,104,103………6

從這個數組中提取出2行50列的二維數組,成員如下:

50,49,48…………1 56,57,58…………105

將這兩個數組用數組顯示件顯示在前面板上。

解答:

一、前面板截圖:

9 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板添加數組,在數組中添加數值顯示控件,拉到四行一百列,命名為“數組”,同理添加“子數組”。在程序框圖中添加for循環,循環100次,通過“創建數組”控件輸出數組,再通過“數組子集”獲得子數組,按上圖連接,運行得出結果。

第八題:

產生100個隨機數,求其最小值和平均值。

解答:

一、前面板截圖:

10 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板中添加三個數值顯示控件,分別命名為“平均值”“最大值”“最小值”。在程序框圖中添加for循環,循環100次,通過“數組元素相加”和除法函數獲得平均值,通過“數組最大值與最小值”獲得最大值和最小值。

第九題:

程序開始運行后要求用戶輸入一個口令,口令正確時滑鈕顯示件顯示一個0—100的隨機數,否則程序立即停止。

解答:

一、前面板截圖:

11 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

12 labVIEW課程設計--朱鵬

在前面板中添加字符串輸入控件,命名為“請輸入口令”,數值顯示控件,命名為“隨機數”。在程序框圖中添加條件循環,為真時通過隨機函數發生器乘一百獲得0~100的隨機數,為假時通過“單按鈕對話框”和“停止”輸出ERROR。按上圖連接,運行得出結果。

第十題:

編寫一個程序測試自己在程序前面板上輸入以下字符所用的時間,A virtual instrument is a program in the graphical programming language.

解答:

一、前面板截圖:

二、程序框圖截圖:

13 labVIEW課程設計--朱鵬

三、設計過程:

在前面板中添加字符串顯示控件,命名“輸入字符串”,布爾確定按鈕,命名“輸入完成”,數值顯示控件,命名“所需時間”。在程序框圖中添加層疊式順序結構并添加至三幀,在第一幀中添加時間計數器,并添加順序局部變量,第二幀中,字符串輸出,布爾確定按鈕,第三幀中,時間計數器,減函數和除函數,數值顯示。按上圖連接,運行得出結果。

第十一題:

在一個chart中顯示3條曲線,分別用紅、綠、藍3中顏色表示范圍0—1,0—5和0—10的3個隨機數。

14 labVIEW課程設計--朱鵬

解答:

一、前面板截圖:

二、程序框圖截圖:

三、設計過程:

在前面板中添加波形圖表,并建立三條曲線“0~1紅”“0~5綠”“0~10藍”。在程序框圖中添加for循環結構,用隨機函數發生器獲得0~1的隨機數,再通過乘法函數獲得0~5和0~10的隨機數,添加捆綁將三個隨機數波形在一個波形圖標中顯示。按上圖連接,運行得出結果。

第十二題:

用一個Graph顯示下列計算的結果: y1=x*x*x-x*x+5;y2=m*x+b,X的范圍是0—100

15 labVIEW課程設計--朱鵬

解答:

一、前面板截圖:

二、程序框圖截圖:

三、設計過程:

在前面板中添加波形圖表,幅值設置成0~1000000,并建立兩條曲線“y1”“y2”,添加兩個數值輸入控件分別命名為“m”“b”。在程序框圖中添加for循環結構,在for循環結構中添加公式節點,以“m”“b”作為輸入,y1=x*x*x-x*x+5;y2=m*x+b;添加輸出y

1、y2,通過捆綁將y

1、y2波形由波形圖表輸出。按上圖連接,運行得出結果。

16 labVIEW課程設計--朱鵬

第十三題:

用XYgraph顯示一個半徑為10的圓。

解答:

一、前面板截圖:

二、程序框圖截圖:

三、設計過程:

在前面板中添加XY圖。在程序框圖中添加for循環,循環次數為360,即360度一周,在for循環結構中乘法、除法函數,正弦、余弦,循環結果乘上2π/360通過正弦余弦捆綁后再乘上10后在XY圖中輸出圖形。按上圖連接,運行得出結果。

17 labVIEW課程設計--朱鵬

第二部分 設計題 設計題第一題:

設計一個VI程序模擬一個電壓測量采樣過程(隨機數發生),從10ms開始每隔50ms采集一個點,共采集30個點,電壓在采樣前經過了一個信號處理電路的10倍衰減。要求程序的顯示能夠反映出實際的采樣時間及電壓值。

解答:

一、前面板截圖:

二、程序框圖截圖:

18 labVIEW課程設計--朱鵬

19 labVIEW課程設計--朱鵬

三、設計過程:

在前面板中添加一個波形圖表,幅值改為電壓值,時間改為采樣時間;水平進度條滑動桿,用于顯示采集進度;布爾確定按鈕、布爾停止按鈕,用于開始和停止采集;一個數值輸入控件輸入電壓上限值,三個數值顯示控件,分別輸出報警計數值、時間和電壓值。在程序框圖中添加一個while循環,在while循環中用確定、停止控制采集開始和停止,在while循環中添加條件結構,分支選擇器接布爾確定,在條件結構中添加層疊式順序結構,第一幀中添加for循環結構,循環次數為30,通過隨機函數發生器產生模擬電壓值,并輸出波形,添加條件結構,分支選擇器接電壓上限與電壓值的比較結果,若電壓值超過電壓上限,報警計數加1,若沒超過則報警計數不變,通過等待控件產生50ms的延時。第二幀中添加單按鈕對話框和停止控件,輸出“30個點采樣完畢”。按上圖連接,運行得出結果。

設計題第三題:

設計一個VI程序,實現按帳號和密碼登陸的人機界。若輸入的帳號和密碼相符,則顯示歡迎登陸對話框,按“確定”退出程序;若輸入的帳號和密碼不相符,則顯示出錯對話框,按“確定”返回程序。

解答:

一、前面板截圖:

20 labVIEW課程設計--朱鵬

二、程序框圖截圖:

三、設計過程:

在前面板中添加兩個字符串顯示控件,命名為“賬號”“密碼”。在程序框圖中添加條件結構,分支選擇器連接賬號和密碼分別和設定值比較是否相等后邏輯與后的結果,若為真,通過單按鈕對話框輸出“歡迎登陸”,若為假,通過單按鈕對話框輸出“賬號或密碼錯誤”。

第三部分 心得體會

通過一星期的LabVIEW課程設計,對一學期來學習的LabVIEW的基本操作和編程技巧有了進一步的掌握,LabVIEW作為一門新式的以圖形化編程的語言,不僅提供了簡單易學的編程方法,而且提供了海量的可調用的模塊,涉及到各個方面。LABVIEW應用領域廣泛,我們可以十分方便地找到各種適用于測試測量領域的LabVIEW工具包。這些工具包幾乎覆蓋了所需的所有功能,在這些工具包的基礎上設計程序相對于其他編程方法顯得容易多了,這也讓我對這門課程產生了更加濃厚的興趣。LabVIEW包含多種多樣的數學運算函數,特別適合進行模擬、仿真、原型設計等工作。在設計機電設備之前,可以現在計算機上用LabVIEW搭建仿真原型,驗證設計的合理性,找到潛在的問題。使用LabVIEW進行軟件模擬,可以達到同樣的效果,使我們獲得實踐的機會,

21 labVIEW課程設計--朱鵬

同是也大大縮短程序開發時間。

通過一個學期的學習,我深刻地體會到LabVIEW的高效,對這種編程語言有很大的興趣。在課程設計的這樣一星期里,我把教材又看了一遍,還在網上查了不少資料,從中學到了大量的技巧。不過在設計過程中也越來越感到, LabVIEW入門很容易,深入做下去,完成一個像樣的工程,還得懂得各方面的知識,進一步的學習和掌握。這是一門實踐性很強的課程,很多知識是從書上看來的,而且看完之后,自己還覺的不錯,覺得自己已經掌握的很好了,但真到實際做東西的時候,就會覺得困難重重,這時再去查書,便有了對知識的更深層次的理解。

22

數字電路課程設計

(一)

——紅綠燈設計方案總結報告

指導教師:

設計人員:

班級:電信081

日期:2010.4.13

一、 設計任務書

1、題目:

紅綠燈控制器

2、設計要求:設計一個紅綠燈控制器設計應具有以下功能

基本設計要求:設計一個紅綠燈控制器控制器設計應具有以下功能 (1)東西方向綠燈亮,南北方向紅燈亮。. (2)東西方向黃燈亮,南北方向紅燈亮。

(3)東西方向紅燈亮,南北方向綠燈亮。

(4 ) 東西方向紅燈亮,南北方向黃燈亮。 要求有時間顯示(順數、逆數皆可),時間自定。(大于15秒以上)

二、 設計框圖及整機概述

本課程設計在繼承了原有的紅綠燈的基本功能的基礎上,有對其功能進行了很大的完善,其中主要包括:

(1)可以對大小路口的綠燈及黃燈任意置數。

(2)在倒計時3~0秒期間,當時正在點亮的綠燈或黃燈會進行閃爍。

正是由于擁有了這兩個功能,使得電路稍顯復雜,現在將分別講解其設計思路。

本電路大體上可以分為四個部分,即:賦值電路部分、控燈閃爍部分、控制部分和核心計數部分。

其中,賦值電路部分占據了大量的空間和芯片,其主要原理是數據選擇。控燈閃爍部分的芯片較少,也沒有占用太多空間,控制部分分布在系統的各個部分,可以說是系統的靈魂,它對整個系統進行著控制。核心計數部分比較簡單,主要是進行計數并且產生進位信號。

三、各單元電路的設計方案及原理說明

(一) 賦值電路部分

賦值電路的設計是整個電路設計最復雜的一個環節,其主要問題主要集中在(1)對于一個計數器的數據輸入端,如何使之在不同時刻數據不同,即:如果假設綠燈為30秒,黃燈5秒,在對綠燈倒數計數時,則計數器的輸入端應該為30,在置數信號到達時即可將其置數到輸出端,并可開始計數。而當這30秒將要倒數完成時,又要考慮將輸入端數據變成05(2)如果設計成任意輸入數據,將以何種方式進行輸入。

在設計這部分的電路時我首先想到的是第二個問題,開始階段我所采用的是74LS151,同時決定給每一位個數據分配一個控制開關,但是,問題顯而易見,開關太多了……粗略估計了一下,大概需要四十個左右……所以顯然方案不行。之后想到了可以用脈沖的方法對計數器進行計數,即通過對計數器的CLK端不斷的接高低電平,以達到將想要賦的數存儲在計數器中的目的。就是利用的這種不斷開起閉合開關的方法,從而將需要賦給核心計數部分的數據先儲存起來。完成這部分功能的器件,我選擇了74LS160和開關若干。

經過上面的敘述,已經了解了如何將想要實現的大路小路的各種燈的點亮描述輸入進來,以及輸入系統之后的儲存原理。下面所要講述的是如何將已經輸入到系統中,并暫時儲存的數據,分時段賦給計數部分份的原理。

從我的原理圖可以看到,左側有四個模塊,每個模塊由若干個74LS160和74LS153組成,且線路是相互垂直連接的,其中上面兩個模塊負責的是對黃燈和綠燈時間的計數,現以這兩部分進行講解。74LS153的作用是對已經存儲在74160中的數據進行選擇。設上數第一個模塊為模塊A,第二個為模塊B。A的作用是對秒的十位進行賦值,B的作用是對秒的個位進行賦值。現以實例講解:設要求輸入大路口綠燈25秒,黃燈04秒,小路口綠燈15秒。同時可以得出,小路口紅燈30秒,大路口紅燈20秒。則在模塊AB中的74LS160從上到下所存儲的數據為2(0010)、1(0001)、5(0101)、4(0100)、5(0101)。AB中的數據選擇器負責對這些數據進行選擇,并輸出給計數部分。當數據選擇器中的輸入端AB為00是,即輸出所有AB中的數據選擇器的1*0,2*0項,即,A模塊通過兩個153將輸出0010(2),并賦給負責計秒數十位的核心計數部分的74190.B模塊通過兩個153將輸出0101(5),即,此時的核心計數部分負責綠燈黃燈秒數的計數器74190的輸入端0010 0101 (25),只要給一個合適的信號使其置數到輸出端,即可開始進行倒數計數,當倒數到3秒時,將會給控制部分一個信號,使之經過一系列處理之后會使AB中的74153中的輸入端由00變為01,這樣,會使數據選擇器中的1*1,2*1項全部輸出,以此類推,就會實現在同一塊計數器上的不同數據計數。

(二)控燈閃爍部分

控燈閃爍部分可以說是本電路的另一個亮點,本人只用了三個或門和兩個74LS48就完成了這部分的設計。在設計之初,問題主要集中在讓其閃爍的信號從哪里來。經過思考,我想到,如果能有一種電路,它在使能端為1時能夠正常的將數據從輸入送到輸出,而在使能端為零時則能過將輸出端置零。這樣,將6個燈的信號通過這種原件,在平時倒數計數時,信號可以正常通過,即對亮燈是沒有影響的,而當倒數計時到達三秒時,則會通過控制部分,使得使能端的信號變為一個脈沖,即,脈沖為1時,燈照常亮,而當脈沖為0時,電路的輸出端被清零,燈熄滅,當脈沖再次為1 時,輸出端又將擁有輸入端的數據,即,剛剛熄滅的等又會亮,由此下去,在3~0秒期間,脈沖不斷的作用于使能端,從而使得燈不斷的亮滅,以達到閃爍的目的。

有了基本的原理后,其主要的問題是(1)選擇那種芯片?(2)使能端的信號怎么來保證?(3)如果只解決了上述的兩個問題的話,會出現一個問題,就是當倒數到3~0期間,所有在該時刻的點亮的燈是都會閃的,這其中也包括了紅燈。而顯示中,紅燈是不需要閃爍的,因此,需要一種控制電路來完成在不同時刻,哪個會閃爍而哪個不會閃爍。

對于問題一,最初,我所想到的芯片是可以異步清零的計數器芯片,但是,要用其完成在使能端使之正常工作時,輸入輸出相當于通路的功能顯而易見十分困難。之后,又想到了74LS48,之所以想到了這塊芯片,主要是因為它能夠滅0。但是,7448的主要功能是一個為LED所搭配使用的譯碼器,這時,如果要想上述的輸入輸出一樣的功能的話,就需要去研究其功能表。經過研究發現,確實存在這樣的輸入輸出端,從而使得這塊芯片得以利用。當然,研究這個功能表大概花費了我兩個小時的時間。

對于問題二,主要采用的是將一個脈沖信號與一個控制信號通過或門,并將輸出接在使能端的方法,具體是,當倒數計數不3~0之間時,控制信號為0,即或門的輸出僅僅決定于脈沖信號,這樣,在0~3秒期間,燈會閃爍。而不在這個時間范圍內時,控制信號會為1,即輸出到使能端的信號一定為1。這樣,就很好解決了信號問題。

對于問題三,如果按問題二的解決辦法,就會出現紅燈閃爍的現象,我上面之所以會這么說是便于理解的緣故。實際上,還要將或門的輸出端分別連入兩個或門,讓這兩個或門的輸出與兩個芯片的使能端相連接。而這兩個或門的另一個輸入,則是其對應芯片紅燈的反饋信號,即,如果這個芯片上的紅燈會點亮,即為高電平時,這個連接在對應芯片使能端的或門輸出信號會恒為1,而如果通過這個芯片的紅燈信號為0(黃燈或綠燈亮),即紅燈沒有點亮,輸入到或門的信號為0,這樣,脈沖信號就可以輸入進入使能端,這樣,就完成了合理閃爍的功能。

(三)核心計數部分

核心計數部分我采用的是四片74LS190,其中,兩片為一組,分別負責綠燈黃燈的計數和紅燈的減法計數,該部分比較簡單,需要注意的是計數器輸出端在控制電路部分充當了反饋的作用,十分重要。

(四)控制部分

對于控制電路,我運用了大量的反饋以及狀態的擴展。所謂的狀態的擴展就是說,每當特定的端口產生進位信號時,其進位脈沖都會對與其相連的計數器產生計數信號,這樣,不同的數據就代表了不同的狀態。控制部分就是根據這些不同的狀態對特定電路進行控制的。

四.調試過程及結果分析

開始階段,置零開關是全部打開的,要注意的是,在運行到45秒后,一定要將這7個開關打開才可以在之后正常工作

由于該設計的電路過于復雜,無法采用EWB進行很好的連線,因此我選用了ISIS進行模擬操作。模擬過程中,出現了許多的問題,同時也糾正了我的一些錯誤,例如,在賦數電路中,開始我所想到的方法存在很大的問題,其設計并不被軟件所認可。

經過我的努力,實驗結果完全正確,并沒有出現問題,這主要與我的賦值電路的穩定,和控制信號的穩定有關。

五.設計、安裝及調試中的體會

這次設計我的收獲頗豐,首先,本人的學習宗旨就是實踐,平時的學習都是盡可能的以實踐為基礎,這次課程設計,使我的平日所學知識得到了很好的檢驗,對可以說是對數字電路課程的一次完整的復習。其次,課程設計絕對不是應付差事,而是要給自己設立一個高標準,并且在設計中不斷的進行完善,就像我的這個紅綠燈一樣,實現能夠隨意置數和閃爍絕非易事,在不斷的完善自己的設計方案和不斷的提高要求的過程中,更能鍛煉自己的思維能力。再次,通過這次學習,使我對數字電路這門課程有了更加深入的認識,例如,在對于一些芯片的應用上,絕對不能只是簡單的按其的基本用法進行操作,而是要通過研究其真值表不斷的挖掘出新的功能,在本設計中,我就采用了74LS151 74LS138代替了部分門電路的功能,這樣不僅對電路進行了簡化,而且也更加的穩定易懂。同時,我對74LS48的應用也是十分的巧妙,這些都是通過對其功能表的研究得出的結論。最后,在設計的過程中,我充分的感受到了設計的樂趣,不斷給自己增加難度的過程并不是對自己的苛刻,而是發自內心的希望能夠做的更好,這樣的心理讓我并不急于應付差事,從而學到了更多的知識。

在實際的模擬調試階段,我感覺到了理論與實際的巨大差距,明明已經理論很完美的設計,在實際仿真時卻漏洞百出。例如,在課堂上。對于計數器的級聯,課本并沒有涉及太多的知識,而在實際應用模擬時,卻總是出現很多問題。還有,對于幾個邏輯門的串聯也知識停留在理論上的可行階段,實際上在模擬時候就會在輸出變成高阻態。

總之,這次的課程設計,尤其是這個紅綠燈的課程設計,讓我體會到了很多東西,在不斷推敲設計方案時,不僅對所學知識有了全新的認識,同時也對設計產生了濃厚的興趣。還有就是通過這個設計,我也熟練掌握了ISIS這個軟件。可以說,如果用心去做課程設計的話,收獲一定會很大。

六.對本次課程設計的意見及建議

本次課程設計雖然學到了很多,但是我仍然覺得課程設計本身存在一些問題: 1

我個人覺得課程設計的題目設計稍有不合理,因為,首先來講,做一個基本功能的紅綠燈應該并非難事,如果只是按照基本的要求去做,要是專心的話基本一兩天就搞定,很簡單,例如,控燈的話,我只有一塊一位寄存器外加兩個或門就可以完成。對于第二個任意選擇的題目來說,更是比紅綠燈簡單。兩個題目都不是很難,我覺得與其說做兩個都不是很難的題目,還不如去做一個復雜一點的題目。當然,每個人的能力不一樣,因此,我建議可以出三道難度不同的題目由學生自由選擇,根據題目的等級和學生的完成情況對其評分。

本次課程設計要求的軟件為EWB,但是EWB操作起來并不是很方便,尤其是對復雜電路的布線,如果出現錯誤,那么亂的線,根本無法進行檢查。

總的來說,本次課程設計使我學到了很多東西。在今后的學習中我將再接再厲,爭取取得更好的成績!

附錄:原件清單:74LS160 11

74LS153 8

74LS190 4

74LS138 1

74LS48

74LS151 3

基于labview的定時器程序設計

目錄

1. 程序設計背景??????????????????????????3

1.1. labview定時器的介紹?????????????????????3

2. 程序介紹????????????????????????????3

a、主要用途和功能???????????????????????4

b、前面板圖和主要部件的功能???????????????????5

c、程序框圖???????????????????????????6

3. 程序改進????????????????????????????8

4. 程序界面及層次關系??????????????????????9

5. 存在的一些問題????????????????????????10

6. 程序來源說明??????????????????????? 10

1

1.程序設計背景

定時器在家用電器中經常用于延時自動關機、定時。延時自動關機用于:收音機、電視機、錄音機、催眠器、門燈、路燈、汽車頭燈、轉彎燈以及其他電器的延時斷電及延時自停電源等。定時可用于:照相機曝光、定時閃光、定時放大、定時調速、定時烘箱、冰箱門開定時報警、水位定時報警、延時催眠器、延時電鈴、延時電子鎖、觸摸定時開關等。例如空調中的定時器,在工作一段時間后便能自動切斷電源停止工作。夏季夜間使用,入睡前先設好預定時間,等睡熟后到了預定時間,空調自動關機。方便節能。定時器除了應用于家電之外 還廣泛應用于工農業生產和服務設施,軍事等。 發展前景

傳統的定時器大多數是發條驅動式、電機傳動式或電鐘式等機械定時器,部分電子器械中也有試用時間繼電器的。相對于傳統的定時器,電子定時器的體積小,重量輕。造價低。精度高、壽命長,而且安全可靠,調整方便,適于頻繁的使用。同時隨著現代電子技術的不斷發展,定時器也在不斷更新,朝著更多用途,更高精度,更小體積發展著。

Labview的定時器:

1.為什么要使用定時: 一般來說在循環中,我們都會添加一個定時器。他們的作用主要有2 個:

1. 控制代碼執行的速率:簡單的來說,如果在循環中添加了定時,就可以控制循環以一定間隔重復執行;或者在串口通信中,在發送指令后等待指定的時間再讀返回值。

2. 降低CPU 占用率:如果沒有設置定時,CPU 的大部分資源會一直被該線程占用, 而無法執行其他線程。

2 2.定時VI 用法:

在LabVIEW 中的常用定時有等待(ms)倍毫秒

1. 等待(ms)

該VI 的輸入端為整型,單位是ms。指定代碼執行的時間間隔。舉例來說,連入VI 的輸入為10ms,如果循環中代碼的運行時間是3ms,那么每次循環的時間是10ms;如果循環中代碼的運行時間是14 毫秒(大于10ms),那么每次的循環的時間是14ms。

(Windows 下軟件定時的精度在1 個ms 左右,所以實際的情況會有1ms 左右的誤差)

2. 等待到下一個整數倍毫秒

該VI 輸入為整型,單位是ms。該VI 將定時和系統的時鐘對應起來,使用該定時VI 后,代碼將在系統時鐘為定時時間的整數倍執行。 使用該定時VI 的第一次運行時間間隔是不確定的。比如設定定時為1000ms, 對于第一次運行,無論當前時間是50ms 還是850ms,都將在下一次1000ms 的整數倍時間第二次運行該代碼,那么實際的間隔分別是950ms 和150ms。

3.定時的精度: 對于上面提到的定時VI,輸入的單位都是ms,但是實際運行的最小間隔在2ms 以上。這是因為Windows 操作系統中,對線程的操作最小的間隔是2ms。

4.使用定時的注意事項:

在使用等待到下一個整數倍毫秒時需要注意,當該VI 處于等待狀態時,整個線程都將處于等待狀態。在對時間要求較高的實時系統中,往往不可以簡單的將該定時VI 和代碼并行的放置。 。

,和等待到下一個整數程序介紹

a、主要用途和功能

3 在測量過程中,有時需要測量、記錄數據在2小時內的分布情況(穩定性、波動性);有時需要每10分鐘測量一次數據并保存結果。這就需要有一個定時器或倒計時器來控制測量的過程,利用“已用時間”快速vi做了一個既有"定時"功能又有“倒計時”功能的vi,基本上滿足應用程序的設計要求。

該vi的定時精度不是很高,大概在正、負1s左右,基本上可以滿足工程上的使用要求。

b、前面板圖和主要部件的功能

定時時間選擇——這是一個枚舉控件,用來選擇定時或倒計時的時間間隔。設計時定義了一些常用時間的數據列表。

定時器(倒計時器)——這是一個開關控件,用來選擇是定時功能還是倒計時功能。開始計時后將被灰化(運行時不可再操作)。

停止(開始)——這是一個開關控件,用來控制是否開始計時。開始計時后將被灰化(運行時不可再操作)。

定時持續時間——這是一個字符顯示控件,用來實時顯示定時或倒計時的時間間隔數值。

強行停止計時——這是一個開關控件,用來強行停止計時過程(退出計時)。

c、程序框圖

整個程序框圖

程序在執行時,首先通過選擇按鈕,選擇是定時器模式還是倒計時模式,然后經過每局按鈕確定定時時間,再按下開始,若在定時器模式下,則定時顯示時間從0遞增到枚舉選擇的時間,此過程中按鈕變灰,不可用,到點時,由開始轉為停止,所有鍵可用。倒計時器模式與此過程大致相同,唯一不同便是計數從預設值遞減為0。程序在執行過程中可用確定強制退出鍵退出。

計時的功能由“已用時間”實現,枚舉的數值為其上限,在定時器模式,已用時間直接輸出到格式化日期,再到時間顯示控件。在倒計數器模式,已用時間輸出數據先與枚舉數做減法運算,在輸入到格式化日期。

中斷循環由已用時間的結束輸出、強行停止鍵、過程錯誤輸出三者通過邏輯與接到中止鍵。

程序改進

上述程序過于簡單,現做改進如下:

6 1.

將枚舉控件用一個數值輸入控件代替,這樣就可以自行確定定時或倒計時的時間,從而擴大了程序適用的范圍。(注意輸入的數值以分鐘記)

2. 為了更好的達到倒計時預警的效果,現加入LED燈進行倒計時小于10時的顯示,從而更加直觀,鮮明,同時為了不影響程序的觀看效果,LED燈只在倒計時的最后10秒出現,其余情況皆為不可見。

7 3. 在程序設計中使用屬性節點,比如本例中:利用屬性節點將程序運行過程中的操作限定在唯一性上,可以降低操作者的誤操作可能性。本程序運行時,要么等待定時結束,要么由操作者強行停止計時。

4.

新增一個圖片下拉表,它的可視性與LED燈的情況相同。

5當定時時間到時,發出聲音報警。 整體程序圖

程序界面

存在的一些問題

本程序的定時顯示精確性不高,例如LED燈的數字無法做到同步顯示等等。 程序來源說明

本文原程序來源于http://tieba.baidu.com/p/1585935847 9

總結

以上是生活随笔為你收集整理的计算机课程设计红绿灯,labview红绿灯课程设计报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。