#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.cppblog.com/Files/guojingjia2006/keil/main.DSN.rar
posted on 2010-07-28 10:45
小果子 阅读(493)
评论(0) 编辑 收藏 引用 所属分类:
单片机