微机原理—定时计数控制接口
別看題目很高深,其實(shí)就是很簡(jiǎn)單的定時(shí)器和計(jì)數(shù)器而已。
通常用手機(jī)定個(gè)鬧鐘,就是定時(shí)器的使用。
工廠里通過(guò)傳送帶上安裝傳感器,傳感器傳輸給計(jì)算機(jī)的信號(hào)用來(lái)計(jì)數(shù)。
這是一些很簡(jiǎn)單的應(yīng)用,通過(guò)很小的一個(gè)芯片完成。
計(jì)算機(jī)里也有很多這樣的小芯片,用來(lái)輔助計(jì)算機(jī)的運(yùn)行。微機(jī)原理就相當(dāng)于一個(gè)給計(jì)算機(jī)做解剖的醫(yī)生,把計(jì)算機(jī)的各個(gè)“經(jīng)絡(luò)”都給弄明白。
計(jì)數(shù)器:通過(guò)隨機(jī)性的脈沖信號(hào)來(lái)計(jì)數(shù)
定時(shí)器:數(shù)據(jù)源來(lái)自規(guī)律周期脈沖,通過(guò)記錄脈沖個(gè)數(shù)來(lái)輸出時(shí)間間隔。
所以計(jì)數(shù)器是定時(shí)器的基礎(chǔ)。
研究對(duì)象:8253/8254定時(shí)計(jì)數(shù)器
在計(jì)算機(jī)中時(shí)鐘時(shí)間的設(shè)定就是通過(guò)一個(gè)一直工作的芯片控制高精度晶振脈沖信號(hào)來(lái)實(shí)現(xiàn)的;
計(jì)算機(jī)內(nèi)部的動(dòng)態(tài)隨機(jī)存儲(chǔ)器需要定時(shí)刷新給電容充電,也是通過(guò)定時(shí)計(jì)數(shù)器來(lái)計(jì)時(shí)的;
最意想不到的揚(yáng)聲器,它并非是一個(gè)音響,開(kāi)機(jī)時(shí)硬件自檢的過(guò)程中如果有硬件出現(xiàn)問(wèn)題,會(huì)發(fā)出不同的報(bào)警信號(hào),而長(zhǎng)短不一的報(bào)警聲音就是通過(guò)定時(shí)計(jì)數(shù)器控制的。
先明白為什么學(xué)這個(gè)東西,為什么別人想到了而我卻沒(méi)有想到。
為什么
就比如為什么學(xué)這個(gè),因?yàn)槲覀冃枰〞r(shí)和計(jì)數(shù)的功能,可我們的大腦做不到很多,所以要借助機(jī)器,就要考慮用機(jī)器的思維如何設(shè)計(jì)
是什么
通過(guò)高低電平,電路的設(shè)計(jì),實(shí)現(xiàn)數(shù)據(jù)的傳輸和記錄,從而達(dá)到計(jì)數(shù)和定時(shí)
怎么做
先去研究它的實(shí)體:芯片內(nèi)部結(jié)構(gòu)和引腳,芯片的工作方式(如何工作的),芯片的編程(電路讓數(shù)據(jù)以信號(hào)的形式自由傳輸,可傳輸?shù)男盘?hào)要通過(guò)軟件的操作實(shí)現(xiàn)人機(jī)交互,不然它只是電流信號(hào),無(wú)法使用)
關(guān)于怎么做,先去研究它的實(shí)體:芯片內(nèi)部結(jié)構(gòu)和引腳,芯片的工作方式(如何工作的),芯片的編程(電路讓數(shù)據(jù)以信號(hào)的形式自由傳輸,可傳輸?shù)男盘?hào)要通過(guò)軟件的操作實(shí)現(xiàn)人機(jī)交互,不然它只是電流信號(hào),無(wú)法使用)
芯片內(nèi)部結(jié)構(gòu)和引腳:
每個(gè)芯片內(nèi)部有三個(gè)計(jì)數(shù)器,上圖右邊計(jì)數(shù)器0、1、2
每個(gè)計(jì)數(shù)器的部分有3個(gè)接口:
- CLK是時(shí)鐘信號(hào)
- GATE是門(mén)控信號(hào),用來(lái)設(shè)定計(jì)數(shù)的開(kāi)始和暫停,由硬件啟動(dòng)
- 向外部發(fā)出一個(gè)計(jì)數(shù)完成的信號(hào)
芯片的左半邊是和CPU對(duì)接的:
- D7~D0負(fù)責(zé)數(shù)據(jù)傳送
- RD和WR是讀寫(xiě)控制,低電平有效
- A0A1地址,控制計(jì)數(shù)器地址和控制字的地址
- CS片選信號(hào)
- CS和A0A1共同決定端口的選擇
使用時(shí),每個(gè)計(jì)數(shù)器有3個(gè)寄存器:
- 硬件CLK信號(hào),計(jì)數(shù)的電流信號(hào)來(lái)源
- 指定工作方式,寫(xiě)入控制字,計(jì)數(shù)初值
- 啟動(dòng)
對(duì)于預(yù)置數(shù)寄存器16位按二進(jìn)制(1111 1111 1111 1111~0000 0000 0000 0000)或十進(jìn)制 (9999~0000),可計(jì)數(shù)次數(shù)最大值。
對(duì)于 減1計(jì)數(shù)器,不斷進(jìn)行減1操作,直到減為最小數(shù)。這時(shí)OUT送出一個(gè)電平信號(hào)
對(duì)于輸出鎖存器,計(jì)算機(jī)允許讀計(jì)數(shù)器當(dāng)前值,這時(shí)需要將減1計(jì)數(shù)器的值拷貝一份放入輸出鎖存器進(jìn)行輸出
芯片的工作方式
- 方式0:計(jì)數(shù)結(jié)束中斷(發(fā)出有效中斷請(qǐng)求信號(hào))
- 方式1:可編程單穩(wěn)脈沖
- 方式2:頻率發(fā)生器
- 方式3:方波發(fā)生器
- 方式4:軟件觸發(fā)選通信號(hào)
- 方式5:硬件觸發(fā)選通信號(hào)
芯片的編程
由于加電后工作方式不確定,需要進(jìn)行初始化編程。
步驟:
- 寫(xiě)入方式控制字
- 寫(xiě)入計(jì)數(shù)值
- 讀取計(jì)數(shù)值
- 8254的回讀命令
1.計(jì)數(shù)器選擇(D7D6)
??????00——0 01——1 10——2 11非法
2.讀寫(xiě)格式(D5D4)
??????00——計(jì)數(shù)器鎖存命令 01——只讀寫(xiě)低字節(jié) 10——只讀寫(xiě)高字節(jié) 11——先讀低字節(jié),在讀高字節(jié)
3.工作方式(D3D2D1)
??????000——方式0 001——方式1 010——方式2 011——方式3 100——方式4 101——方式5
4.數(shù)值選擇(D0)
??????0——二進(jìn)制 1——十進(jìn)制
總結(jié)
以上是生活随笔為你收集整理的微机原理—定时计数控制接口的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。