打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
51单片机常用功能函数
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
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
51单片机C语言程序(二)定时/计数器?中断
单片机定时器/计数器
51单片机程序
单片机与控制实验(4)——步进电机原理及应用
牺牲半个定时器,得到一个串口
1小时c语言入门
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服