实验4
2017-05-09 14:18:33 0 举报
单片机实验4
作者其他创作
大纲/内容
循环
定时器T1的方式2,作为波特率发生器
设置变量,记录占空比
T1定时器中断服务
RS485
主程序
发送
设定T1计数初值,T1用来让口线输出L电平
发送端
开始
输出端口置低
装载定时器1的初值
UART0控制寄存器配置
初始化调用初始化程序
串口中断服务
设置发送数据为0x55
波特率加倍PCON=0x80
关串口中断
PWMOUT
开中断
接收,清接收标志,转发
设置UART0波特率加倍位,禁止波特率/2功能PCON=0x80
初始化子程序
设置发送数据为0xaa
延时,增加定时器初值改变占空比
等待发送成功
清接受发送标志,开中断允许,允许外部INT0中断,设置为下降沿触发,设置RS485为发送
开串口中断
延时
循环6次
T0定时器中断服务
调用启动输出PWM脉冲子程序PWMOUT
清接受发送标志,开中断允许,允许串口中断
清发送标志
延时,减少定时器初值改变占空比
关中断
接收端
8位自动重装入计数模式
启动定时器T0和T1
判断中断类型
RS232
开中断允许,允许T0,T1中断
接收
设定T0计数初值,T0作为固定周期信号发生器
清接收标志,接收,将值给P0
PWM发生器
设置定时器工作方式
关T1中断允许
外部中断服务
清接受发送标志,开中断允许,允许串口中断,设置RS485为接收P0口全部置1
允许接收,工作在模式1
判断是否接收数据
开T1中断允许
设置定时初值,产生特定波特率,9600bps
0 条评论
下一页