|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
最基本的C51計(jì)數(shù)器中斷程序,但沒運(yùn)行,幫我看看 |
| 作者:spatial 欄目:單片機(jī) |
timer0()是定時(shí)器,timer1()是計(jì)數(shù)器沒有運(yùn)行 #include <AT89X51.H> #include <stdio.h> #define uCHAR unsigned CHAR #define uint unsigned int void timer0() interrupt 1 using 1 { P1_0=!P1_0; TH0=-(50000/256); TL0=-(50000%256); } void timer1() interrupt 2 using 1 { P1_7=!P1_7; TH1=-5; TL1=-5; } void main() { P1_7=0; P1_0=1; TMOD = 0x61; TH0=-(50000/256); TL0=-(50000%256); TH1=-5; TL1=-5; IP=0x08; EA=1; ET0=1; ET1=1; TR0=1; TR1=1; for(;;) { } } |
| 2樓: | >>參與討論 |
| 作者: yang365 于 2005/5/24 21:08:00 發(fā)布:
:) void timer0() interrupt 1 using 1 void timer1() interrupt 2 using 1 應(yīng)該是interrupt 1 interrupt 3 |
|
| 3樓: | >>參與討論 |
| 作者: hotpower 于 2005/5/24 21:40:00 發(fā)布:
用宏定義不容易錯(cuò) 中斷向量號(hào)已在AT89X52.H等頭文件中定義 /*------------------------------------------------ Interrupt Vectors: Interrupt Address = (NUMBER * 8) + 3 ------------------------------------------------*/ #define IE0_VECTOR 0 /* 0x03 External Interrupt 0 */ #define TF0_VECTOR 1 /* 0x0B Timer 0 */ #define IE1_VECTOR 2 /* 0x13 External Interrupt 1 */ #define TF1_VECTOR 3 /* 0x1B Timer 1 */ #define SIO_VECTOR 4 /* 0x23 Serial PORT */ #define TF2_VECTOR 5 /* 0x2B Timer 2 */ #define EX2_VECTOR 5 /* 0x2B External Interrupt 2 */ 所以,按以下書寫不容易出錯(cuò) /*------------------------------------ 定時(shí)器T0中斷服務(wù)程序 ------------------------------------*/ void timer0() interrupt TF0_VECTOR using 1 { } /*------------------------------------ 定時(shí)器T1中斷服務(wù)程序 ------------------------------------*/ void timer1() interrupt TF1_VECTOR using 1 { } |
|
|
|
| 免費(fèi)注冊(cè)為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |