没有合适的资源?快使用搜索试试~ 我知道了~
自行研制基于51单片机的飞机舵面模拟控制装置,内付单片机控制程序,简单易学,实用性高。
资源推荐
资源详情
资源评论
#include<reg52.h> //包含头文件,一般情况不需要改动,头文件包含特殊功能寄
存器的定义
#include<intrins.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);
sbit RS = P3^1; //定义端口
sbit RW=P3^2;
unsigned char Time_delay;
sbit EN = P3^3;
sbit P1_4=P2^7;
sbit P1_3=P2^2;
sbit P1_2=P2^1;
sbit P1_1=P2^0;
sbit cs=P2^3; //AD 片选
sbit rd=P2^4;
sbit wr=P2^5;
sbit INTR=P2^6;//中断请求信号
void init_sys(void); /*系统初始化函数*/
#define TH0_TL0 (65536-1000)//设定中断的间隔时长
unsigned char count0 = 50;//低电平的占空比
unsigned char count1 = 0;//高电平的占空比
bit Flag = 1;//电机正反转标志位,1 正转,0 反转
sbit Key_add=P2 ^ 0; //电机减速
sbit Key_dec=P2 ^ 1; //电机加速
sbit PWM1=P2^2;//PWM 通道 1,反转脉冲
sbit PWM2=P2^7;//PWM 通道 2,正转脉冲
void dianji(void);
/************函数声明**************/
存器的定义
#include<intrins.h>
#include<string.h>
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);
sbit RS = P3^1; //定义端口
sbit RW=P3^2;
unsigned char Time_delay;
sbit EN = P3^3;
sbit P1_4=P2^7;
sbit P1_3=P2^2;
sbit P1_2=P2^1;
sbit P1_1=P2^0;
sbit cs=P2^3; //AD 片选
sbit rd=P2^4;
sbit wr=P2^5;
sbit INTR=P2^6;//中断请求信号
void init_sys(void); /*系统初始化函数*/
#define TH0_TL0 (65536-1000)//设定中断的间隔时长
unsigned char count0 = 50;//低电平的占空比
unsigned char count1 = 0;//高电平的占空比
bit Flag = 1;//电机正反转标志位,1 正转,0 反转
sbit Key_add=P2 ^ 0; //电机减速
sbit Key_dec=P2 ^ 1; //电机加速
sbit PWM1=P2^2;//PWM 通道 1,反转脉冲
sbit PWM2=P2^7;//PWM 通道 2,正转脉冲
void dianji(void);
/************函数声明**************/
void Motor_speed_high(void);
void Motor_speed_low(void);
void Timer0_init(void);
uint temp,D1,D2,D3,D4;
uint shu;
uint AD_read();
void write_com(uchar com);
void write_date(uchar date);
void lcd_init();
void display(uchar qian,uchar bai,uchar shi,uchar ge);
void AD_init();
void AD_start();
void main()
{
write_com(0x01);//清屏
lcd_init();
AD_init ();
Timer0_init();
while(1)
{
AD_start();
while(INTR==1);//AD 转换是否结束,结束为低电平
INTR=0;
shu=AD_read();
shu=shu*196;
D1=shu/10000;//整数部分,0.0196v 是最小变化量
shu=shu%10000;
D2=shu/1000;//十分位数
shu=shu%1000;
D3=shu/100;//百分位数
void Motor_speed_low(void);
void Timer0_init(void);
uint temp,D1,D2,D3,D4;
uint shu;
uint AD_read();
void write_com(uchar com);
void write_date(uchar date);
void lcd_init();
void display(uchar qian,uchar bai,uchar shi,uchar ge);
void AD_init();
void AD_start();
void main()
{
write_com(0x01);//清屏
lcd_init();
AD_init ();
Timer0_init();
while(1)
{
AD_start();
while(INTR==1);//AD 转换是否结束,结束为低电平
INTR=0;
shu=AD_read();
shu=shu*196;
D1=shu/10000;//整数部分,0.0196v 是最小变化量
shu=shu%10000;
D2=shu/1000;//十分位数
shu=shu%1000;
D3=shu/100;//百分位数
剩余7页未读,继续阅读
资源评论
leocdio
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功