第一范文网 - 专业文章范例文档资料分享平台

基于单片机的遥控直升飞机系统设计(论文) - 图文

来源:用户分享 时间:2025/5/19 8:54:48 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

东北石油大学本科生毕业设计(论文)

附录2 接收程序

/***********主程序函数***************/ main() {

clearmen(); incept.c; while(1) {

interrupt0 } }

/*****************结束*******************/

/***********初始化函数**********/ clearmen() {

studylamp=1; lamp=1; remoteout=0; remotein=1;

for(i=0;i<206;i++) {

remotedata[i]=0x00; } IE=0x00; IP=0x01; TMOD=0x22; PCON=0X00; TH1=0xf3; TL1=0xf3; IT0=1; EX0=1;

37

//初始化 //遥控接收处理器 //中断接收函数

东北石油大学本科生毕业设计(论文)

EA=1; }

/******************************************************************/

incept.c遥控接收处理器 /******************************************************************/ //使用STC89C51单片机,12MHZ晶振, #include \#include \ #define uchar unsigned char #define uint unsigned int

sbit remotein=P3.2; // 遥控输入

sbit sin=P3^0; //基准正弦波相位输入

sbit AA=P0^0; sbit BB=P0^1; uint i,j,m,n,k,s=1;

uint keyvol; /************外中断遥控接收函数**************/ //外中断0

void intt0(void) interrupt 0 {

ET1=0;TR1=0;EX0=0;EA=0; head=0;

while(studykey==0); studylamp=0;lamp=1;

while(remotein==1); head=0; while(remotein==0) {

_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); head++; }

38

东北石油大学本科生毕业设计(论文)

n=0;remdata=0x0000; while(1) {

while(remotein==1) {

_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); remdata++; }

if(remdata>m) //高电平>2毫秒退出 {remotedata[n]=0x00;EX0=1;EA=1;goto end;} remotedata[n]=remdata;n++; remdata=0x0000; while(remotein==0) {

_nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); remdata++; } remotedata[n]=remdata; n++;

remdata=0x00; }

end: lamp=0;studylamp=0; }

/*********1毫秒延时程序**********/ delay1ms(uint t) {

for(i=0;i

39

东北石油大学本科生毕业设计(论文)

附录3 PWM信号(产生移位脉冲)

K1 BIT P0.1 ;K1控制高脉宽的增加

K2 BIT P0.2 ;K2控制高脉冲复位 K3 BIT P0.3;K3控制高脉宽的减小 OUT BIT P0.4 ;OUT输出PWM信号

KEY EQU 30H ;高脉冲指针,指示高脉冲的个数 DJH EQU 31H ;高脉冲个数上限 DJL EQU 32H ;高脉冲个数下限 DJBZ EQU 33H ;高脉冲标准个数

COUNTER EQU 34H ;计数指针:指示1个周期内,对高脉冲计数 ZQH EQU 35H ;一个周期的脉冲数高位

;============================================================ ORG 0000H LJMP MAIN

ORG 001BH ;用到,定时器T1 LJMP DJT1

ORG 0030H ;主程开始 ;初始化设置:

MAIN: MOV TMOD,#21H ;定时设置,定时器T1工作于方式2 MOV TH1,#156 ;定时器T1,定时设置: MOV TL1,#156

SETB TR1 ;开启:T1计数 SETB ET1 ;允许:定时器T1中断 SETB EA ;允许:中断允许总控位 LCALL QNC ;清内存 ;寄存器初值设置:

MOV ZQH,#200 ;周期脉冲数:200,即周期:20ms MOV DJBZ,#15 ;标准高脉冲:1.5MS MOV DJL,#9 ;最小高脉冲:0.9MS MOV DJH,#21 ;最大高脉冲:2.1MS MOV COUNTER,#00H;高脉冲计数指针:清零

40

基于单片机的遥控直升飞机系统设计(论文) - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4i9jt7mod21xkfw974nh_11.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top