求教一个单片机汇编程序的写法

来源:百度知道 编辑:UC知道 时间:2024/05/10 18:42:01
想设计一个AT89C2051单片机控制3路舵机的PWM信号发生程序,以555外部中断为计数,请高手指点下程序。
定义4个变量A,CH1,CH2,CH3分别作为总计数储存单元、1号舵机控制单元、2号舵机控制单元、3号舵机控制单元。再定义3个标志位分别用于判断3个舵机的工作状态,若为1则处于工作状态,为0则舵机不工作。定义速度变量B,通过判断B是否为0对CH1、CH2、CH3重新赋值,进而改变舵机位置。
具体流程:
进入中断
1.A+1,判断A是否为800,如果不等于800则进入2,等于则转8
2.判断1号舵机标志位是否为1,为1则转3,为0转4
3.判断CH1是否大于A,大于则输出高电平转4,小于输出低电平转4
4.判断2号舵机标志位是否为1,为1则转5,为0转6
5.判断CH2是否大于A,大于则输出高电平转6,小于输出低电平转6
6.判断3号舵机标志位是否为1,为1则转7,为0转15
7.判断CH3是否大于A,大于则输出高电平转8,小于输出低电平转8
8.A清0,B-1,判断B是否为0,为0则重新赋值给B并转9,不为0转15
9.判断1号舵机标志位是否为1,为1则转10,为0转11
10.给CH1赋新值,转11
11.判断2号舵机标志位是否为1,为1则转12,为0转13
12.给CH2赋新值,转13
13.判断3号舵机标志位是否为1,为1则转14,为0转15
14.给CH3赋新值,转15
15.退出中断

邮箱:cxx256@sina.com 万分感谢

站在一个回答者的角度上来看问题,我建议楼主确定是想得到问题的答案,最好多加点分,因为要知道,这么复杂的问题不花一些时间是回答不好,而别人更没有义务花时间去回答你的问题而一无所获.虽然有点绝对,但也代表一部分人的心理.希望楼主很理解,假如是真心想得到答案的话.