『壹』 求單片機採用外部中斷0和1控制數碼管進行00到99的計數c語言程序
程序是剛做的,沒測試過,你試試,能用再給分吧。P0口是位選,P2口段選。
#include<reg52.h>
unsigned
int
bittime=0;
unsigned
char
bitdisplay
=
0;
unsigned
char
mg=0,ms=0;
unsigned
char
Tab[]={0xFC,0x60,0xDA,0xF2,0x66,0xB6,0xBE,0xE0,0xFE,
0xF6,0xEE,0x3E,0x9C,0x7A,0x9E,0x8E,0x00};
void
timer0(void)
interrupt
1
{
TH0=0xF0;
TL0=0x60;
switch(bitdisplay)
{
case
0:P2=Tab[mg];P0=0xFE;break;
case
1:P2=Tab[ms];P0=0xFD;break;
}
bitdisplay++;
bittime++;
if(bitdisplay>=2)
bitdisplay=0;
if(bittime>=500)
{
bittime=0;
mg++;
if(mg>9)
{mg=0;ms++;}
if(ms>9)
ms=0;
}
}
void
main(void)
{
TMOD=0x01;
TH0=0xF0;
TL0=0x60;
TR0=1;
EA=1;
while(1);
}
『貳』 單片機數碼管顯示0到999c語言程序怎麼編
#include<reg51.h>
unsigned char xs_d[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
unsigned int time=0,s,sz;delay(unsigned int k)
{
unsigned int i,j;
for(i=0;i<k;i++)
for(j=0;j<125;j++);
}INT_0()interrupt 0
{ delay(10);
if(INT0==0){sz++;<br> if(sz>2){sz=0;}
}
}
void T0_int()interrupt 1
{
TH0=(65535-50000)/256;//設置初值
TL0=(65535-50000)%256;
s++;
if(s>20){s=0;<br> if(sz==1)time++;<br> if(time>999){time=0;}
if(sz==0){time=0;//清零<br> }
(2)單片機中斷09999擴展閱讀:
運算器由運算部件——算術邏輯單元(Arithmetic & Logical Unit,簡稱ALU)、累加器和寄存器等幾部分組成。
ALU的作用是把傳來的數據進行算術或邏輯運算,輸入來源為兩個8位數據,分別來自累加器和數據寄存器。ALU能完成對這兩個數據進行加、減、與、或、比較大小等操作,最後將結果存入累加器。
運算器有兩個功能:
(1) 執行各種算術運算。
(2) 執行各種邏輯運算,並進行邏輯測試,如零值測試或兩個值的比較。
運算器所執行全部操作都是由控制器發出的控制信號來指揮的,並且,一個算術操作產生一個運算結果,一個邏輯操作產生一個判決。
『叄』 什麼是單片機的中斷
中斷是」打斷「的意思,即允許正常運行的程序被一些緊急的事務所打斷 ,前提是你允許中斷發生,並且中斷條件已經具備,如定時器定時時間到或外部引腳來了低電平。
有了中斷,單片機不用頻繁地去查詢這些條件是否具備,從而專心地進行工作,但中斷發生時,又可以隨時作出響應
CPU好象一個大領導,如不讓下級部門有事敲門或打電話向你反映問題,你還想了解情況,過一會兒不管有事無事你就得一個部門一個部門問一問,主動權全在你手裡,可累不累呀
不如開放渠道(中斷允許),告訴部下有事隨時向我匯報,沒事我該喝茶喝茶,該看報看報,這樣既減輕了負擔,又不會錯過緊急事務
中斷系統一般包括中斷源 中斷控制寄存器 中斷優先順序寄存器等部分,一般高檔單片機中斷源比較多,且中斷優先順序也比較多
『肆』 MCS51單片機中,當中斷優先順序寄存器的內容為09H時,其含義是什麼謝謝
在MCS-中斷優先順序中由中斷優先順序寄存器IP來高置的,IP中某位設為1,相應的中斷就是高優先順序,否則就是低優先順序。
-
-
-
PS
PT1
PX1
PT0
PX0
IP優先順序別寄存器各位介紹如下:
PS:串列口中斷優先順序控制位。PS=1設定串列口為高優先順序中斷;PS=0為低優先順序中斷。
PT1:T1中斷優先順序控制位。PT1=1設定定時器T1為高優先順序中斷;PT1=0為低優先順序中斷。
PX1:外部中斷1優先順序控制位。PX1=1設定定時器外部中斷1為高優先順序中斷;PX1=0為低優先順序中斷。
PT0:T0中斷優先順序控制位。PT0=1設定定時器T0為高優先順序中斷;PT0=0為低優先順序中斷。
PX0:外部中斷0優先順序控制位。PX0=1設定定時器外部中斷0為高優先順序中斷;PX0=0為低優先順序中斷。
09H對應00001001
PT1=1;PX0=1
即PT1和PX0為高優先順序中斷
『伍』 80C51單片機有哪些中斷源對應的中斷入口地址分別是什麼
外部中斷0:入口:0003H
定時器0: 入口:000BH
外中斷1: 入口:0013H
定時器1: 入口:001BH
串口中斷:入口:0023H
1.1個串口中斷,地址:0x98H;外部中斷和定時計數器中斷:設置地址:0x88H;定時計數器設置地址:TMOD:0x89H,TL0;8AH TL0;8BH TH0;8CH :TH1: 8DH。
(5)單片機中斷09999擴展閱讀:
向量中斷:對應每一級中斷都有一個向量,這些向量順序存放在主存的指定單元中。向量的內容是:相應的中斷服務程序起始地址和處理機狀態字(主要是指令地址)。在中斷響應時,由中斷部件提供中斷向量的地址,就可取出該向量。中斷響應和處理操作的第⑤步就是取中斷向量操作。在採用向量中斷的機器中一般不再使用程序狀態字。
『陸』 單片機計數器0到999的編程怎麼寫
估計你說的是匯編語言。我以51為標准假設晶振為6Mhz.
計算計數初值是0CEH。計數器工作方式2。
程序:mov ie, #00h 關中斷
mov tmod,#02h 置計數器工作方式2
mov th0,#0ceh 保存計數初值
mov tl0,#0ceh 值計數初值
mov r0,#0ah 置循環次數
setb tr 啟動計數器
loop:jbc tf0,loop1 判斷溢出標志位
ajmp loop
loop1:cjnz r0,loop xunhuan
reti 返回主程序
『柒』 單片機:採用外部中斷0和1,控制兩位數碼管進行00~99的計數,其中外部中斷0控制進行減1計數,外部中斷1進
這好辦!定義一個寄存器num,若是外中斷0,則num--;若是外中斷1,則num++;然後讓num顯示即可。
『捌』 什麼是單片機的中斷,中斷有什麼特點
中斷是」打斷「的意思,即允許正常運行的程序被一些緊急的事務所打斷 ,前提是你允許中斷發生,並且中斷條件已經具備,如定時器定時時間到或外部引腳來了低電平。
有了中斷,單片機不用頻繁地去查詢這些條件是否具備,從而專心地進行工作,但中斷發生時,又可以隨時作出響應
CPU好象一個大領導,如不讓下級部門有事敲門或打電話向你反映問題,你還想了解情況,過一會兒不管有事無事你就得一個部門一個部門問一問,主動權全在你手裡,可累不累呀
不如開放渠道(中斷允許),告訴部下有事隨時向我匯報,沒事我該喝茶喝茶,該看報看報,這樣既減輕了負擔,又不會錯過緊急事務
中斷系統一般包括中斷源 中斷控制寄存器 中斷優先順序寄存器等部分,一般高檔單片機中斷源比較多,且中斷優先順序也比較多
『玖』 什麼是單片機的中斷
不同的計算機其硬體結構和軟體指令是不完全相同的,因此,中斷系統也是不相同的。
計算機的中斷系統能夠加強CPU對多任務事件的處理能力。中斷機制是現代計算機系統中的基礎設施之一,它在系統中起著通信網路作用,以協調系統對各種外部事件的響應和處理。中斷是實現多道程序設計的必要條件。 中斷是CPU對系統發生的某個事件作出的一種反應。
引起中斷的事件稱為中斷源。中斷源向CPU提出處理的請求稱為中斷請求。發生中斷時被打斷程序的暫停點稱為斷點。
CPU暫停現行程序而轉為響應中斷請求的過程稱為中斷響應。處理中斷源的程序稱為中斷處理程序。
CPU執行有關的中斷處理程序稱為中斷處理。而返回斷點的過程稱為中斷返回。中斷的實現實行軟體和硬體綜合完成,硬體部分叫做硬體裝置,軟體部分稱為軟體處理程序。
響應處理
大多數中斷系統都具有如下幾方面的操作,這些操作是按照中斷的執行先後次序排列的。
1、 接收中斷請求。
2、 查看本級中斷屏蔽位,若該位為1則本級中斷源參加優先權排隊。
3、 中斷優先權選擇。
4、 處理機執行完一條指令後或者這條指令已無法執行完,則立即中止現行程序。接著,中斷部件根據中斷級去指定相應的主存單元,並把被中斷的指令地址和處理機當前的主要狀態信息存放在此單元中。
5、 中斷部件根據中斷級又指定另外的主存單元,從這些單元中取出處理機新的狀態信息和該級中斷控製程序的起始地址。
6、 執行中斷控製程序和相應的中斷服務程序。
7、 執行完中斷服務程序後,利用專用指令使處理機返回被中斷的程序或轉向其他程序。
沖突
在一些罕見的情況下,兩個ISA設備可以共享相同的 IRQ,只要它們不同時使用即可。為了解決這個問題,後來的PCI 匯流排允許 IRQ 共享。PCI Express沒有物理中斷線,並使用消息信號中斷(MSI) 到操作系統(如果可用)。
在早期的 IBM 兼容個人計算機中,中斷曾經是一種常見的硬體錯誤,當兩個設備嘗試使用相同的中斷請求(或 中斷)向可編程中斷控制器(PIC)發出中斷信號時會收到該錯誤。
PIC 期望每條線路僅來自一個設備的中斷請求,因此沿同一條線路發送中斷信號的多個設備通常會導致 中斷 沖突,從而導致計算機死機。
例如,如果在系統中添加數據機擴展卡並分配給中斷4,傳統上分配給串列埠1,則可能會導致中斷沖突。最初,中斷 7 是使用音效卡的常見選擇,但後來發現 中斷 7 會干擾列印機埠(LPT1)時使用了中斷5。該串列埠經常禁用可以用於其他設備的中斷線。
中斷 2/9 是 MPU-401 MIDI 埠的傳統中斷線,但這與ACPI系統控制中斷(SCI 在 Intel 晶元組上硬連線到 中斷9)沖突;
這意味著 ISAMPU-401帶有硬連線中斷2/9 的卡和帶有硬編碼 中斷 2/9 的 MPU-401 設備驅動程序不能在啟用 ACPI 的系統上以中斷驅動模式使用。
以上內容參考網路-中斷
『拾』 51單片機我做了一個定時器中斷,1-999計數,但是滾動到256就歸零重新滾動了怎麼回事
定時器中斷,1-999計數,但是滾動到256就歸零重新滾動,出現這一現象,情況很明顯,是你計數器變數數據類型錯了,你可能申明成了無符號字元型數據,應該申明為無符號整型變數或者乾脆整型變數,就應該沒有問題 了。所以你僅僅修改一下這個計數變數的數據類型,就可以了。其他都不用修改。