51单片机常用功能函数
delay延时函数 uint i,j; for(i=xms;i>0;i--) for(j=110;j>0;j--) ...... 3.中断方式,对IE赋值,开放中断。4.使TR0或TR1置位,启动定时器/计数器时或计数。 tt=0; ....... } void timer0() interrupt 1 //定时器中断 { } 按键消除浪涌处理 void main() { } DA转化 void main() { P3.2=0;//DA的CS-为低电平有效,打开DA的片选 P0=0xFF;//把灯点亮,而且是最亮。如果 P0=0;灯灭. P0输出不同的2进制可以控制LED的亮度。 while(1); } AD转换 AD0804
void delayms (uint xms) //(毫秒单位)
{
}
单片机 外部中断0设置开启 P3.2口为中断0出入口
EA=1; //开启总中断
EX0=1;//开启外部中断0
TCON=0x01;//设置触发方式(此方式为下降沿)可对每一位操作
void exter0 () interrupt 0 //中断程序
{
}
时钟中断 1秒钟时钟 晶振为11.0592
//注意:1.对TMOD赋值,确定T0和T1的工作方式。2.计算初值,写入TH0、TL0或TH1、TL1。
void main
{
TMOD=0x01;//设置定时器0模式(16位,定时器模式,内部) 也可以将初始化单独写成函数
TH0=(65536-50000)/256;//装初值
TL0=(65536-50000)%6;
EA=1;//开总中断
ET=1;//开定时器0中断
TR0=1;//启动定时器0
if(tt==20)
{
}
TH0=(65536-50000)/256;//由于进入中断16为计数器会清零,所以重新赋值
TL0=(65536-50000)%6;
tt++;
if(key1==0)
{
delay(5);//尽量在5毫秒以上
if(key1==0)
{
// d1=0;
// num++; 这里可以写自己需要的程序
// if(num==10)
// num=0;
}
while(!key1);//判断是否松手
delay(5);//消除松手时产生的浪涌
while(!key1);
P3.6=0;//DA的wr低电平,
关键词: 51单片机功能函

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW
或用微信扫描左侧二维码