微機(jī)原理課程設(shè)計(jì)---交通信號(hào)燈的控制_第1頁
已閱讀1頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p>  微機(jī)原理課程設(shè)計(jì)交通信號(hào)燈的控制</p><p>  設(shè)計(jì)任務(wù)及要求: </p><p><b>  交通信號(hào)燈的控制:</b></p><p>  通過8255A并口來控制LED發(fā)光二極管的亮滅。</p><p>  A口控制紅燈,B口控制黃燈,C

2、口控制綠燈。</p><p>  輸出為0則亮,輸出為1則滅。</p><p>  用8253定時(shí)來控制變換時(shí)間 。</p><p>  要求:設(shè)有一個(gè)十字路口,1、3為南,北方向,2、4為東西方向,初始態(tài)為4個(gè)路口的紅燈全亮。之后,1、3路口的綠燈亮,2、4路口的紅燈亮,1、3路口方向通車。延遲30秒后,1、3路口的綠燈熄滅,而1,3路口的黃燈開始閃爍(1HZ)。

3、閃爍5次后,1、3路口的紅燈亮,同時(shí)2、4路口的綠燈亮,2、4路口方向開始通車。延遲30秒時(shí)間后,2、4路口的綠燈熄滅,而黃燈開始閃爍。閃爍5次后,再切換到1、3路口方向。之后,重復(fù)上述過程。</p><p>  二.方案比較及評(píng)估論證:</p><p>  分析題意,紅,黃,綠燈可分別接在8255的A口,B口和C口上,燈的亮滅可直接由8086輸出0,1控制。30秒延時(shí)及閃爍由8253控制

4、,由閃爍的實(shí)現(xiàn)方法可分為兩種方案:</p><p><b>  方案一:</b></p><p>  設(shè)8253各口地址分別為:設(shè)8253基地址即通道0地址為04A0H;通道1為04A2H;通道2為04A4H;命令控制口為04A6H。</p><p>  黃燈閃爍的頻率為1HZ,所以想到由8253產(chǎn)生一個(gè)1HZ的方波, 8255控制或門打開的時(shí)

5、間,在或門打開的時(shí)間內(nèi),8253將方波信號(hào)輸入或門使黃燈閃爍。</p><p>  由于計(jì)數(shù)值最大為65535,1MHZ/65536的值遠(yuǎn)大于2HZ,所以采用兩個(gè)計(jì)數(shù)器級(jí)聯(lián)的方式,8253通道0的clock0輸入由分頻器產(chǎn)生的1MHZ時(shí)鐘脈沖,工作在方式 3即方波發(fā)生器方式,理論設(shè)計(jì)輸出 周期為0.01s的方波。1MHZ的時(shí)鐘脈沖其重復(fù)周期為T=1/1MHZ=1s,因此通道0的計(jì)數(shù)初值為10000=2710H。由

6、此方波分別作為clock1和clock2的輸入時(shí)鐘脈沖,所以通道1和通道2的輸入時(shí)鐘頻率為100HZ,通道1作計(jì)數(shù)器工作在方式1,計(jì)數(shù)初值3000=BB8H既30s,計(jì)數(shù)到則輸出一個(gè)高電平到8255的PA7口,8255將A口數(shù)據(jù)輸入到8086,8086檢測到高電平既完成30s定時(shí)。通道2工作在方式3需輸出一個(gè)1HZ的方波,通過一個(gè)或門和8086共同控制黃燈的閃爍,因此也是工作在方波發(fā)生器方式,其計(jì)數(shù)初值為100=64H,將黃燈的狀態(tài)反饋

7、到8055的端口PB7和PC7,同樣輸入到8086,8086通過兩次檢測端口狀態(tài)可知黃燈的狀態(tài)變化,計(jì)9次狀態(tài)變化可完成5次閃爍。</p><p>  三個(gè)通道的門控信號(hào)都未用,均接+5V即可。</p><p><b>  方案二:</b></p><p>  考慮到題目要求黃燈閃爍的頻率為1HZ,既每秒1次,那么前0.5秒黃燈亮,后0.5秒黃

8、燈滅,所以最小的定時(shí)單位為0.5秒,頻率為2HZ,30秒即為60個(gè)0.5秒。</p><p>  顯然如方案一一樣一個(gè)計(jì)數(shù)器無法完成,所以采用兩個(gè)計(jì)數(shù)器級(jí)聯(lián)的方式,將計(jì)數(shù)器0的輸出OUT0接到計(jì)數(shù)器1的輸入端CLK1,CLK0=1MHZ,計(jì)數(shù)值為50000=C350H,OUT0=20HZ,CLK1=20HZ,記數(shù)值=10,OUT1=2HZ。并且計(jì)數(shù)器0工作于方式3用于產(chǎn)生方波信號(hào),計(jì)數(shù)器1工作方式2,產(chǎn)生負(fù)脈沖信

9、號(hào),計(jì)數(shù)器1的輸出端OUT1接入8255芯片的PC5口,用于讀取負(fù)脈沖個(gè)數(shù),以完成計(jì)時(shí)功能。 8086及8255設(shè)置同方案一,8086則每隔0.5秒變換一次黃燈的狀態(tài),持續(xù)五次,完成閃爍的功能。</p><p>  經(jīng)比較,方案二8086在黃燈閃爍時(shí)需頻繁發(fā)送數(shù)據(jù)到8255,加重了系統(tǒng)的負(fù)擔(dān),因此我決定采用方案一。</p><p><b>  三.系統(tǒng)原理</b>&l

10、t;/p><p><b>  工作原理說明:</b></p><p>  此方案是通過并行接口芯片8255A和8086計(jì)算機(jī)的硬件連接,以及通過8253延時(shí)的方法,來實(shí)現(xiàn)十字路口交通燈的模擬控制。</p><p>  如硬件連接圖所示,紅燈(RLED),黃燈(YLEDD)和綠燈(GLED)分別接在8255的A,B,C口的低四位端口,PA0,PA1,

11、PA2,PA3分別接1,2,3,4路口的紅燈,B,C口類推。8086工作在最小模式,低八位端口AD0~AD7接到8255和8253的D0~D7,AD8~AD15通過地址鎖存器8282,接到三八譯碼器,譯碼后分別連到8255和8253的CS片選端。8253的三個(gè)門控端接+5V,CLOCK0接由分頻器產(chǎn)生的1MHZ的時(shí)鐘脈沖,OUT0接到CLOCK1和CLOCK2,OUT1接到8086的AD18,8086通過檢測此端口是否有高電平來判斷是否

12、30S定時(shí)到。OUT2產(chǎn)生1MHZ方波通過或門和8255的B口共同控制黃燈的閃爍。8255三個(gè)口全部工作在方式0既基本輸入輸出方式,紅綠燈的轉(zhuǎn)換由軟件編程實(shí)現(xiàn)。</p><p>  四.硬件原理及電路圖</p><p>  由于8255A與8086CPU是以低八位數(shù)據(jù)線相連接的,所以應(yīng)該是8255A的、線分別與8086CPU的、線相連,而將8086的線作為選通信號(hào)。如果是按8255A內(nèi)部地

13、址來看,則在圖中它的地址是PA口地址即(CS+000H),PB口地址為(CS+001H),PC口地址為(CS+002H),命令控制口地址為(CS+003H),其中,CS為8255片選信號(hào)的首地址;若是按8086CPU地址來看,則8255A的地址是PA口地址即(CS+000H),PB口地址為(CS+002H),PC口地址為(CS+004H),命令控制口地址為(CS+006H)。當(dāng)CS=0288H,則PA口地址為0288H,PB口地址為02

14、8AH,PC口地址為028CH,命令控制口地址為028EH。</p><p>  下面,分析8086各個(gè)引腳的連接方法。</p><p>  (1)引腳:通常用此引線產(chǎn)生片選信號(hào),當(dāng)為=1,=0編碼時(shí),在數(shù)據(jù)總線低8位和偶地址之間進(jìn)行字節(jié)傳送(~)。</p><p> ?。?)CLK(Clock)時(shí)鐘信號(hào)(輸入):CLK為CPU和總線控制器提供基本的定時(shí)脈沖。時(shí)鐘周

15、期是非對(duì)稱的,當(dāng)它為有效高電平的時(shí)間和時(shí)鐘周期的比為33%時(shí),提供最佳的內(nèi)部定時(shí)。由8284時(shí)鐘發(fā)生器產(chǎn)生,8086CPU使用的時(shí)鐘頻率,因芯片型號(hào)不同,時(shí)鐘頻率不同。這里采用5MHz。</p><p> ?。?)(+5V),GND(地):CPU所需電源=+5V。GND為地線。</p><p> ?。?)QS0ALE(Address Latch Enable)地址鎖存允許信號(hào),輸出高電平有

16、效,作地址鎖存器8282/8283的片選信號(hào),在地址周期狀態(tài),ALE有效,表示AB、DB上傳送的是地址信息,將它鎖存。這是由于AB、DB分時(shí)復(fù)用所需要的,ALE信號(hào)線不能懸空。如圖所示,加入2片地址鎖存器8282。</p><p> ?。?)RESET:復(fù)位信號(hào),輸入,高電平有效。8086接到復(fù)位信號(hào)后,停止現(xiàn)行操作,并初始化段寄存器DS,SS,ES,標(biāo)志寄存器PSW,指令指針I(yè)P和指令隊(duì)列,而使CS=FFFFH

17、。RESET信號(hào)至少保持四個(gè)周期以上的高電平,當(dāng)它變?yōu)榈碗娖綍r(shí)(一個(gè)下降沿),CPU執(zhí)行重啟過程,8086將從地址FFF0H開始執(zhí)行指令。通常FFFF0H單元開始的幾個(gè)單元中存放一條JMP指令,將入口轉(zhuǎn)到引導(dǎo)和裝配程序中,從而實(shí)現(xiàn)對(duì)系統(tǒng)的初始化,引導(dǎo)監(jiān)控程序或操作系統(tǒng)程序。由于出現(xiàn)突然斷電或其它情況時(shí),8086可能正在執(zhí)行交通燈程序,現(xiàn)有的地址丟失,應(yīng)按下RESET鍵重新開始。另外,應(yīng)將8255A與8086的RESET線相連,保持同步。

18、</p><p> ?。?)MN/(Minimun/Maximun): 最小、最大工作模式選擇信號(hào),輸入。此時(shí)MN/接+5V,構(gòu)成單處理器系統(tǒng),系統(tǒng)控制信號(hào)由CPU提供。</p><p>  接下來,對(duì)8282芯片作一下說明: </p><p>  ~:8位數(shù)據(jù)輸入;~:8位數(shù)據(jù)輸出;STB:選通信號(hào);</p><p>  :輸出允許信號(hào),在

19、不帶DMA控制器的8086單處理器系統(tǒng)中,它接地。</p><p>  其實(shí),這就是8個(gè)D觸發(fā)器。由于只用~,所以用兩片即可。</p><p>  最后,對(duì)時(shí)鐘發(fā)生器8284芯片按兩部分進(jìn)行說明:</p><p>  (1)時(shí)鐘信號(hào)發(fā)生器:</p><p>  =0時(shí),時(shí)鐘信號(hào)輸入由X1 、X2 端接上晶體,由晶體振蕩器產(chǎn)生時(shí)鐘信號(hào);<

20、/p><p>  CLK:3分頻OSC后的時(shí)鐘,輸出頻率4.77MHz,占空比為1/3,大約滿足8086CPU的輸入頻率5MHz、占空比33%的要求。 </p><p>  (2)復(fù)位生成電路:</p><p>  由輸入的信號(hào)來觸發(fā)內(nèi)部同步觸發(fā)器,由此產(chǎn)生信號(hào)RESET,送到CPU的RESET端,復(fù)位信號(hào)由CLK的下降沿同步。此時(shí),端接“電源好“信號(hào),使系統(tǒng)上電后自動(dòng)

21、復(fù)位。</p><p>  此為最小模式系統(tǒng),除了8086CPU,I/O接口芯片8255A,定時(shí)計(jì)數(shù)芯片8353外,其它配置如下:</p><p>  1片8284A,作為時(shí)鐘發(fā)生器;</p><p>  2片8282,作為地址鎖存器;</p><p>  2片74LS138,作為地址選通譯碼器;</p><p>  

22、1個(gè)二輸入或非門;1個(gè)4輸入或非門;1個(gè)二輸入與非門;4個(gè)或門</p><p>  12個(gè)發(fā)光二極管;12個(gè)限流電阻;1個(gè)復(fù)位信號(hào)開關(guān)。</p><p><b>  五.軟件思想</b></p><p><b>  1.流程圖</b></p><p><b>  .</b>&l

23、t;/p><p><b>  2.源程序:</b></p><p>  DATA SEGMENT; 設(shè)置數(shù)據(jù)段,以及端口地址分配</p><p>  PORTA EQU 218H</p><p>  PORTB EQU 219H</p><p>  PORTC EQU 21AH</p>

24、<p>  PTCON8255 EQU 21BH</p><p>  PORT0 EQU 238H</p><p>  PORT1 EQU 239H</p><p>  PORT2 EQU 240H</p><p>  PTCON8253 EQU 241H</p><p><b>  DATA

25、 ENDS</b></p><p>  CODE SEGMENT</p><p>  ASSUME DS:DATA,CS:CODE</p><p>  INIT: MOV AX,DATA</p><p><b>  MOV DS,AX</b></p><p>  MOV DX,

26、PTCON8253</p><p>  MOV AL,36H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORT0</p><p>  MOV AX,2710H</p><p><b>  OUT DX,AL</b></p

27、><p><b>  MOV AL,AH</b></p><p>  OUT DX,AL;通道0工作方式3 周期0.01s</p><p>  MOV DX, PTCON8253</p><p>  MOV AL,71H</p><p>  OUT DX,AL;通道1工作方式1</p>

28、<p>  MOV DX, PTCON8253</p><p>  MOV AL,96H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORT2</p><p>  MOV AL,64H</p><p>  OUT DX,AL;通道2工作方式

29、3 周期1s 8253初始化完成</p><p>  MOV DX, PTCON8255</p><p>  MOV AL,80H</p><p>  OUT DX,AL;8255初始化 A,B,C口均工作在方式0</p><p>  MOV DX,PORTA</p><p><b>  MOV AL,0&l

30、t;/b></p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTB</p><p>  MOV AL,0FH</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p&

31、gt;<p>  MOV AL,0FH</p><p>  OUT DX,AL;燈初始化完成</p><p>  STA: MOV DX,PORTA</p><p>  MOV AL,0A0H</p><p><b>  OUT DX,AL</b></p><p>  

32、MOV DX,PORTB</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p><p>  MOV AL,50H</p><p>  OUT DX,AL;1,3綠燈亮,2,4紅燈亮</p>

33、;<p>  MOV DX,PORT1</p><p>  MOV AX,0BB8H</p><p><b>  OUT DX,AL</b></p><p><b>  MOV AL,AH</b></p><p>  OUT DX,AL;8253通道1賦值 開始計(jì)時(shí)</p>

34、<p>  SCAN1: MOV AL,0</p><p>  MOV DX,PTCON8255</p><p>  MOV AL,90H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTA</p><p><b>  I

35、N AL,DX</b></p><p>  AND AL,0FH</p><p><b>  CMP AL,1</b></p><p>  JNZ SCAN1;掃描PA7口</p><p>  FLA1: MOV DX, PTCON8255</p><p>  MOV AL

36、,80H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTB</p>

37、<p>  MOV AL,50H</p><p><b>  OUT DX,AL</b></p><p><b>  MOV CX,0</b></p><p>  TEST1: MOV DX,PTCON8255;檢測PB7</p><p>  MOV AL,82H</p

38、><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTB</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p><b>  MOV AH,AL</b></p

39、><p>  MOV DX,PTCON8255</p><p>  MOV AL,82H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTB</p><p><b>  IN AL,DX</b></p><p&

40、gt;  AND AL,0FH</p><p><b>  XOR AL,AH</b></p><p>  ADD CL,AL</p><p><b>  CMP CL,9</b></p><p>  JNZ TEST1;閃爍5次</p><p>  MOV DX, PTC

41、ON8255</p><p>  MOV AL,80H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTA</p><p>  MOV AL,50H</p><p><b>  OUT DX,AL</b></p>

42、<p>  MOV DX,PORTB</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p><p>  MOV AL,0A0H;1,3紅燈亮,2,4綠燈亮</p><p>  MOV D

43、X,PORT1</p><p>  MOV AX,0BB8H</p><p><b>  OUT DX,AL</b></p><p><b>  MOV AL,AH</b></p><p>  OUT DX,AL;8253通道1賦值 開始計(jì)時(shí)</p><p>  SCAN2:

44、 MOV AL,0</p><p>  MOV DX,PTCON8255</p><p>  MOV AL,90H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTA</p><p><b>  IN AL,DX</b>&

45、lt;/p><p>  AND AL,0FH</p><p><b>  CMP AL,1</b></p><p><b>  JNZ SCAN2</b></p><p>  FLA2: MOV DX, PTCON8255</p><p>  MOV AL,80H</

46、p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p><p>  MOV AL,0F0H</p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTB</p><p&g

47、t;  MOV AL,0A0H</p><p><b>  OUT DX,AL</b></p><p>  TEST2: MOV DX,PTCON8255</p><p>  MOV AL,88H</p><p><b>  OUT DX,AL</b></p><p>  

48、MOV DX,PORTC</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p><b>  MOV AH,AL</b></p><p>  MOV DX,PTCON8255</p><p>  MOV AL,88H&l

49、t;/p><p><b>  OUT DX,AL</b></p><p>  MOV DX,PORTC</p><p><b>  IN AL,DX</b></p><p>  AND AL,0FH</p><p><b>  XOR AL,AH</b>&l

50、t;/p><p>  ADD CL,AL</p><p><b>  CMP CL,9</b></p><p>  JNZ TEST2;閃爍5次</p><p>  CODE ENDS </p><p>  END STA </p><p>  

51、六.調(diào)試記錄及結(jié)果分析</p><p>  (1)本電路沒有設(shè)置顯示倒計(jì)時(shí)的七段LED數(shù)碼管,如果應(yīng)用到街道上,不利于司機(jī)、行人把握</p><p> ?。?)在上機(jī)調(diào)試中發(fā)現(xiàn),由于此軟件延時(shí)的時(shí)間均為估算時(shí)間,不是特別準(zhǔn)確,對(duì)于交通要求特別高的地方不宜采用。如果是放到一個(gè)大的交通燈系統(tǒng)中,會(huì)影響到各個(gè)交通燈的運(yùn)行時(shí)間,可能整個(gè)系統(tǒng)對(duì)交通的指揮調(diào)度會(huì)大大偏離理論計(jì)算,不能有效地防止和消除

52、交通堵塞現(xiàn)象;</p><p> ?。?)當(dāng)出現(xiàn)緊急情況,在特種車(如消防車、救護(hù)車)正要通過時(shí),這種編程方式就不能完成;</p><p>  但是,可以看到以上方案的一般性,只要將程序里的數(shù)據(jù)排列或規(guī)律稍加修改就可應(yīng)用到任何一個(gè)路口的某一個(gè)方向上的交通燈上了,可移植性很強(qiáng)。 </p><p><b>  七.參考資料</b><

53、;/p><p>  《微型計(jì)算機(jī)原理及運(yùn)用》 譚浩強(qiáng) 清華大學(xué)出版社</p><p>  《微機(jī)原理及接口技術(shù)》</p><p>  《微機(jī)接口技術(shù)應(yīng)用》</p><p>  《匯編語言程序設(shè)計(jì)》</p><p><b>  八.芯片資料</b></p><p>  1.825

54、5 </p><p><b>  8255的內(nèi)部結(jié)構(gòu)</b></p><p>  8255A是一個(gè)40引腳的雙列直插式集成電路芯片</p><p>  按功能可把8255A分為三個(gè)邏輯電路部分,即:口電路、總線接口電路和控制邏輯電路。</p><p><b>  (1)口電路</b><

55、/p><p>  8255A共有三個(gè)8位口,其中A口和B口是單純的數(shù)據(jù)口,供數(shù)據(jù)I/O使用。而C口則既可以作數(shù)據(jù)口,又可以作控制口使用,用于實(shí)現(xiàn)A口和B口的控制功能。</p><p>  數(shù)據(jù)傳送中A口所需的控制信號(hào)由C口高位部分(PC7~PC4)提供,因此把A口和C口高位部分合在一起稱之為A組;同樣理由把B口和C口低位部分(PC3~PC0)合在一起稱之為B組。</p><

56、;p><b>  (2)總線接口電路</b></p><p>  總線接口電路用于實(shí)現(xiàn)8255A和單片微機(jī)的信號(hào)連接。其中包括: </p><p>  (a)數(shù)據(jù)總線緩沖器</p><p>  數(shù)據(jù)總線緩沖器為8位雙向三態(tài)緩沖器,可直接和80C51的數(shù)據(jù)線相連,與I/O操作有關(guān)的數(shù)據(jù)、控制字和狀態(tài)信息都是通過該緩沖器進(jìn)行傳送。</p

57、><p> ?。╞)讀/寫控制邏輯</p><p>  與讀寫有關(guān)的控制信號(hào)有</p><p>  CS—片選信號(hào)(低電平有效)</p><p>  RD—讀信號(hào)(低電平有效)</p><p>  WR—寫信號(hào)(低電平有效)</p><p>  A0、A1—端口選擇信號(hào)。8255A共有四個(gè)可尋址的

58、端口(即A口、B口、C口和控制寄存器),用二位地址編碼即可實(shí)現(xiàn)選擇。參見下表。</p><p>  RESET—復(fù)位信號(hào)(高電平有效)。復(fù)位之后,控制寄存器清除,各端口被置為輸入方式。</p><p>  讀寫控制邏輯用于實(shí)現(xiàn)8255A的硬件管理:芯片的選擇,口的尋址以及規(guī)定各端口和單片微機(jī)之間的數(shù)據(jù)傳送方向。</p><p><b>  (c)控制邏輯電

59、路</b></p><p>  控制邏輯電路包括A組控制和B組控制,合在一起構(gòu)成8位控制寄存器。用于存放各口的工作方式控制字</p><p>  8255A工作方式及數(shù)據(jù)I/O操作</p><p>  (1)8255A的工作方式</p><p>  8255A共有三種工作方式,即方式0、方式1、方式2.</p>&l

60、t;p>  (a)方式0 基本輸入/輸出方式</p><p>  方式0下,可供使用的是兩個(gè)8位口(A口和B口)及兩個(gè)4位口(C口高4位部分和低4位部分)。四個(gè)口可以是輸入和輸出的任何組合。</p><p>  方式0適用于無條件數(shù)據(jù)傳送,也可以把C口的某一位作為狀態(tài)位,實(shí)現(xiàn)查詢方式的數(shù)據(jù)傳送。</p><p> ?。╞)方式1 選通輸入/輸出方式<

61、/p><p>  A口和B口分別用于數(shù)據(jù)的輸入/輸出。而C口則作為數(shù)據(jù)傳送的聯(lián)絡(luò)信號(hào)。具體定義見表7–2??梢夾口和B口的聯(lián)絡(luò)信號(hào)都是三個(gè),如果A或B只有一個(gè)口按方式1使用,則剩下的另外13位口線仍然可按方式0使用。如果兩個(gè)口都按方式1使用,則還剩下2位口線,這兩位口線仍然可以進(jìn)行位狀態(tài)的輸入輸出。</p><p>  方式1適用于查詢或中斷方式的數(shù)據(jù)輸入/輸出。 </p>&l

62、t;p>  (c)方式2 雙向數(shù)據(jù)傳送方式</p><p>  只有A口才能選擇這種工作方式,這時(shí)A口既能輸入數(shù)據(jù)又能輸出數(shù)據(jù)。在這種方式下需使用C口的五位線作控制線,信號(hào)定義如表7–2所示。方式2適用于查詢或中斷方式的雙向數(shù)據(jù)傳送。如果把A口置于方式2下,則B口只能工作于方式0.</p><p><b> ?。?)數(shù)據(jù)輸入操作</b></p>

63、<p>  用于輸入操作的聯(lián)絡(luò)信號(hào)有:</p><p>  STB(StroBe)—選通脈沖,輸入,低電平有效。 當(dāng)外設(shè)送來STB信號(hào)時(shí),輸入數(shù)據(jù)裝入8255A的鎖存器。</p><p>  IBF(Input Buffer Full) —輸入緩沖器滿信號(hào),輸出,高電平有效。</p><p>  IBF信號(hào)有效,表明數(shù)據(jù)已裝入鎖存器,因此它是一個(gè)狀態(tài)信號(hào)。

64、</p><p>  INTR(INTerrupt Request)—中斷請(qǐng)求信號(hào),高電平有效,當(dāng)IBF數(shù)據(jù)輸入過程:當(dāng)外設(shè)準(zhǔn)備好數(shù)據(jù)輸入后,發(fā)出信號(hào),輸入的數(shù)據(jù)送入緩沖器。然后IBF信號(hào)有效。如使用查詢方式,則IBF即作為狀態(tài)信號(hào)供查詢使用;如使用中斷方式,當(dāng)信號(hào)由低變高時(shí),產(chǎn)生INTR信號(hào),向單片微機(jī)發(fā)出中斷。單片微機(jī)在響應(yīng)中斷后執(zhí)行中斷服務(wù)程序時(shí)讀入數(shù)據(jù),并使INTR信號(hào)變低,同時(shí)也使IBF信號(hào)同時(shí)變低。以

65、通知外設(shè)準(zhǔn)備下一次數(shù)據(jù)輸入。</p><p><b> ?。?)數(shù)據(jù)輸出操作</b></p><p>  用于數(shù)據(jù)輸出操作的聯(lián)絡(luò)信號(hào)有:</p><p>  ACK(ACKnowledge)—外設(shè)響應(yīng)信號(hào)輸入,低電平有效。</p><p>  當(dāng)外設(shè)取走輸出數(shù)據(jù),并處理完畢后向單片微機(jī)發(fā)回的響應(yīng)信號(hào)為高,信號(hào)由低變高(后

66、沿)時(shí),中斷請(qǐng)求信號(hào)有效。向單片微機(jī)發(fā)出中斷請(qǐng)求。</p><p>  OBF(Output Buffer Full)——輸出緩沖器滿信號(hào),輸出,低電平有效。</p><p>  當(dāng)單片微機(jī)把輸出數(shù)據(jù)寫入8255A鎖存器后,該信號(hào)有效,并送去啟動(dòng)外設(shè)以接收數(shù)據(jù)。</p><p>  INTR—中斷請(qǐng)求信號(hào),輸出,高電平有效。</p><p>

67、  數(shù)據(jù)輸出過程:外設(shè)接收并處理完一組數(shù)據(jù)后,發(fā)回ACK信號(hào)。該信號(hào)使OBF變高,表明輸出緩沖器已空。如使用查詢方式,則OBF可作為狀態(tài)信號(hào)供查詢使用;如使用中斷方式,則當(dāng)ACK信號(hào)結(jié)束時(shí),INTR有效,向單片微機(jī)發(fā)出中斷請(qǐng)求。在中斷服務(wù)過程中,把下一個(gè)輸出數(shù)據(jù)寫入8255A的輸出緩沖器。寫入后OBF有效,表明輸出數(shù)據(jù)已到,并以此信號(hào)啟動(dòng)外設(shè)工作,取走并處理8255A中的輸出數(shù)據(jù)。</p><p>  表7–2

68、8255A C口聯(lián)絡(luò)信號(hào)定義</p><p>  2.8253定時(shí)計(jì)數(shù)器</p><p>  8253內(nèi)部可分為6個(gè)模塊,每個(gè)模塊的功能如下:</p><p>  1. 數(shù)據(jù)總線緩沖器及數(shù)據(jù)總線D0~D7</p><p>  2. 讀/寫控制邏輯及控制引腳</p><p><b>  3. 控制字寄存器<

69、;/b></p><p>  在初始化編程時(shí),CPU寫入方式控制字到控制字寄存器中,用以選擇計(jì)數(shù)通道及其相應(yīng)的工作方式。</p><p><b>  8253的控制字:</b></p><p>  8253的工作方式也是有控制字來決定,其控制字意義如下</p><p>  4. 計(jì)數(shù)通道0、計(jì)數(shù)通道1、計(jì)數(shù)通道2&

70、lt;/p><p>  3個(gè)計(jì)數(shù)通道內(nèi)部結(jié)構(gòu)完全相同。每個(gè)計(jì)數(shù)通道都由一個(gè)16位計(jì)數(shù)初值寄存器、一個(gè)16位減法計(jì)數(shù)器和一個(gè)16位計(jì)數(shù)值鎖存器組成</p><p>  計(jì)數(shù)初值存于預(yù)置寄存器,在計(jì)數(shù)過程中,減法計(jì)數(shù)器的值不斷遞減,而預(yù)置寄存器中的預(yù)置不變。輸出鎖存器用于寫入鎖存命令時(shí),鎖定當(dāng)前計(jì)數(shù)值。</p><p>  計(jì)數(shù)器的3個(gè)引腳說明:</p>&l

71、t;p>  (1)CLK時(shí)鐘輸入信號(hào)</p><p>  在計(jì)數(shù)過程中,此引腳上每輸入一個(gè)時(shí)鐘信號(hào)(下降沿),計(jì)數(shù)器的計(jì)數(shù)值減1</p><p> ?。?) GATE門控輸入信號(hào)</p><p>  控制計(jì)數(shù)器工作,可分成電平控制和上升沿控制兩種類型</p><p> ?。?) OUT計(jì)數(shù)器輸出信號(hào)</p><p&g

72、t;  當(dāng)一次計(jì)數(shù)過程結(jié)束(計(jì)數(shù)值減為0),OUT引腳上將產(chǎn)生一個(gè)輸出信號(hào)</p><p>  8253有6種工作方式,由方式控制字確定</p><p>  區(qū)分這6種工作方式的主要標(biāo)志由3點(diǎn):一是輸出波形不同;二是啟動(dòng)計(jì)數(shù)器的觸發(fā)方式不同;三是計(jì)數(shù)過程中門控信號(hào)GATE對(duì)計(jì)數(shù)器操作的控制不同。</p><p>  1..方式0--低電平輸出(GATE信號(hào)上升沿繼續(xù)

73、計(jì)數(shù))</p><p>  2.方式1--低電平輸出(GATE信號(hào)上升沿重新計(jì)數(shù))</p><p>  3.方式2--周期性脈沖輸出</p><p>  4.方式3--周期性方波輸出</p><p>  OUT輸出低電平,裝入計(jì)數(shù)值n后,OUT立即跳變?yōu)楦唠娖?。如果?dāng)前GATE為高電平,則立即開始減“1”計(jì)數(shù),OUT保持為高電平,若n為偶數(shù),

74、則當(dāng)計(jì)數(shù)值減到n/2時(shí),OUT跳變?yōu)榈碗娖?,一直保持到?jì)數(shù)值為“0”,系統(tǒng)才重新置入計(jì)數(shù)值n,實(shí)現(xiàn)循環(huán)計(jì)數(shù)。這時(shí)OUT端輸出周期為n×CLK周期,占空比為1:1的方波序列:若n為奇數(shù),則OUT端輸出周期為n×CLK周期,占空比(n+1)/2 : (n-1)/2的近似方波序列。</p><p>  5.方式4--單次負(fù)脈沖輸出(軟件觸發(fā))</p><p>  6.方式5-

75、-單次負(fù)脈沖輸出(硬件觸發(fā))</p><p>  每種工作方式的設(shè)置過程類似:</p><p><b> ?、?設(shè)定工作方式</b></p><p><b> ?、?設(shè)定計(jì)數(shù)初值</b></p><p>  〔 ⑶ 硬件啟動(dòng) 〕</p><p> ?、?計(jì)數(shù)初值進(jìn)入減1計(jì)數(shù)器

76、</p><p> ?、?每輸入一個(gè)時(shí)鐘計(jì)數(shù)器減1的計(jì)數(shù)過程</p><p><b> ?、?計(jì)數(shù)過程結(jié)束</b></p><p><b>  3.8282</b></p><p>  ~:8位數(shù)據(jù)輸入;~:8位數(shù)據(jù)輸出;STB:選通信號(hào);</p><p> ?。狠敵鲈试S信號(hào)

77、,在不帶DMA控制器的8086單處理器系統(tǒng)中,它接地。</p><p>  其實(shí),這就是8個(gè)D觸發(fā)器。由于只用~,所以用兩片即可。</p><p>  4.3—8譯碼器74LS138</p><p>  74LS138譯碼器引腳圖,邏輯圖及功能表如下</p><p><b>  九.總結(jié)</b></p>&

78、lt;p>  經(jīng)過這兩周的課程設(shè)計(jì), 做關(guān)于交通燈系統(tǒng)設(shè)計(jì),我認(rèn)真查閱資料,學(xué)習(xí)關(guān)于這方面的知識(shí),比如說要了解8086芯片中各個(gè)引腳的功能,怎么樣去使用8255這個(gè)可編程并行接口芯片,怎么樣使用8253來定時(shí)及輸出一定頻率的脈沖,怎么樣用8282這個(gè)地址鎖存器來存儲(chǔ)高位地址和低位地址以及交通有哪些規(guī)則.在理論學(xué)習(xí)的基礎(chǔ)上,又下了一次苦工夫,算是明白了設(shè)計(jì)一個(gè)系統(tǒng)的過程;也讓我體會(huì)到要想成功地設(shè)計(jì)某個(gè)東西,光學(xué)好專業(yè)知識(shí)是不夠的,必

79、須要系統(tǒng)的知識(shí),無論在哪方面都要有個(gè)明白的概念,只有這樣才不至于在設(shè)計(jì)過程中摸不著頭腦,知道去哪些是需要查的資料,還有一點(diǎn),我覺得我在芯片編程方面,特別是在初始化方面是我最大的困難,或許是我的匯編語言學(xué)得不夠好,我只能借助參考資料,查每一條指令的作用與功能,這樣一來又鞏固了我的對(duì)匯編語言的了解.</p><p>  如此,我體會(huì)到學(xué)習(xí)理論知識(shí)固然重要,但在你學(xué)完了之后,你不在實(shí)踐中運(yùn)用你所學(xué)的知識(shí),我想學(xué)是白學(xué)了

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論