导图社区 Android-单片机
这是一篇关于Android-单片机思维导图,主要包含外部中断 定时器与计数器、串口等内容。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
单片机
外部中断
4、监听中断(开关)
1监听第一个按钮
int0_int interrupt 0 (监测0号开关)
(当0号开关被触及) p2_0=0;(设置p2_0为0//设置后led1左右电平互异亮) delay();(持续5秒) p2_0=1(灭掉)
int1_int interrupt 2 (监测2号开关)
2监听第二个按钮
2、delay
unsigned int m,n
for(m=620;m>0;m--)62倍(5秒闪烁因为有延迟所以多1.2秒) for(n=1000;n>0;n--)1秒
3、main
1选择中断触发方式
TCON=
0x05 边沿触发
3设置优先级
IP=INT(N*4)
4中断初始化中断为1
p2=p1=1
2允许外部中断
IE=0x85
5无限监听while(1)
1、定义中断与引脚
sbit p2_0=p2^0按键S1
sbit p3_2=p3^2引脚p3.2
定时器与计数器
main
初值
模式1
计算初值2^(工作0为13,工作2为8,其他为16)- 单波时间(ms=10^-3 us=10^-6)*12*10^6(周期)/12
每秒脉冲次数=波长(秒为单位)*频率(HZ为单位)/12
模式0
2^13-(每秒次脉冲次数)
模式2
2^8- (每秒脉冲的次数)
TMOD=0x01(T0做定时器,工作模式1) TMOD=0x61 (T0做计数器,工作模式1) [工作模式1----最大65536us(2的15次) 工作模式0----最大8192(2的13次) 工作模式2----最大256us(2的8次)]
ET0=1 (允许T0中断) EA=1 (允许cpu中断)
TR0=1启动定时器
TL0=0x0c TH0=0xfe
time0_int terrupt 1 中断服务程序
若为方波取反 p1_0=~p1_0
串口
方式0
输出
p3_2=0 关闭并行输入 SCON=0x00 串口方式0 SBUF=P2; 开关信息写入串行口 while(1){ if(TI){ TI=0 p3_2=1; 打开并行输出 delay() SBUF=P2 } }
delay
for(i=100;i>0;i--) for(j=100;j>0;j--)
shit p3_2=p3^2 unsigned char i; unsigned int j;
输入
SCON=0x10 串口方式0允许接收 while(1){ SHLD=0 SHLD=1 while(!RI) RI=1 P2=SBUF delay() SBUF=P2 } }
for(i=100;i>0;i--) for(j=1000;j>0;j--)
sbit SHLD=p3^3 unsigned char i; unsigned int j;
方式1
SCON=0x50 串行口初始化,允许接收 TMOD=0x20 定时器初始化 TL1=0xfa 初值 TR1=0xfa ES=1 EA=1 P1=0 while(1)
intrr() interrupt 4
if(TI)TI=0 else { RI=0 ACC=SBUF PI=ACC SBUF=ACC+1 }
方式3
SCON=0xc0 串行口初始化,允许接收 TMOD=0x20 定时器初始化 TL1=244 初值 TR1=1 ES=1 EA=1 ACC=array[i] TB8=P SBUF=ACC while(1)
TI=0 ACC=array[++i] TB8=P SBUF=ACC if(i==15)ES=0 }