您的位置 首页 FPGA

51单片机常用功用函数

delay延时函数voiddelayms(uintxms)(毫秒单位){uinti,j;for(i=xms;i>0;i–)for(j=110;j>0;j–)}单片机外部中

delay延时函数

void delayms (uint xms) //(毫秒单位
{
uint i,j;
for(i=xms;i>0;i–)
for(j=110;j>0;j–)
}
单片机 外部中止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。
3.中止方法,对IE赋值,敞开中止。4.使TR0或TR1置位,发动定时器/计数器时或计数。
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)
{
tt=0;
…….
}
}
void timer0() interrupt 1 //定时器中止
{
TH0=(65536-50000)/256;//因为进入中止16为计数器会清零,所以从头赋值
TL0=(65536-50000)%6;
tt++;
}
按键消除浪涌处理
void main()
{
if(key1==0)
{
delay(5);//尽量在5毫秒以上
if(key1==0)
{
// d1=0;
// num++; 这儿能够写自己需求的程序
// if(num==10)
// num=0;
}
while(!key1);//判别是否松手
delay(5);//消除松手时发生的浪涌
while(!key1);
}
DA转化
void main()
{
P3.2=0;//DA的CS-为低电平有用,翻开DA的片选
P3.6=0;//DA的wr低电平,
P0=0xFF;//把灯点亮,并且是最亮。假如 P0=0;灯灭. P0输出不同的2进制能够操控LED的亮度。
while(1);
}
AD转化 AD0804

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/fpga/260508.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部