#include<reg52.h> //52系列單片機頭文件
#include <intrins.h>
//初始化
void init(){
//中斷初始化
//IE
EA=1;//中斷總開關
ET0=1;//定時器0開關
//TCON
TF0=0;
TR0=1;
//TMOD
TMOD=0x01;//定時器0使用,工作方式1
//初始化預置值
TH0=0x3C;//預值為3c+b0=15536
TL0=0xB0;
//
P1=0x01;
}
void delay1s(){
#pragma asm
mov r5,#08h ;//1001.401ms
time1s_1: mov r6,#0f4h ;//125.173ms
time1s_2: mov r7,#0ffh ;//511us
djnz r7,$
djnz r6,time1s_2
djnz r5,time1s_1
#pragma endasm
}
void time0(void) interrupt 1 using 2{
delay1s();
#pragma asm
mov a,p1
rl a
mov p1,a
#pragma endasm
}
void main(void){
init();
while(1){};
}
初學單片機,記下學習路程
跑燈閃的時間間隔不是1s
//頭文件intrins.h介紹
內部函數 描述
_crol_ 字符循環左移
_cror_ 字符循環右移
_irol_ 整數循環左移
_iror_ 整數循環右移
_lrol_ 長整數循環左移
_lror_ 長整數循環右移
_nop_ 空操作8051 NOP 指令
_testbit_ 測試并清零位8051 JBC 指令
DSN:
http://www.shnenglu.com/Files/guojingjia2006/keil/main.DSN.rar
posted on 2010-07-28 10:45
小果子 閱讀(502)
評論(0) 編輯 收藏 引用 所屬分類:
單片機