单片机中的p10==0&&p11==0华为p10 hd是什么意思思

网站已改版,请使用新地址访问:
RED-P0-LED 用一个按键控制 灯
sbit P10=P1^0 P11 1 K1=P0^0 K2 Embeded-SCM Develop 嵌入式/单片机编程 272万源代码下载- www.pudn.com
&文件名称: RED-P0-LED& & [
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 12 KB
&&上传时间:
&&下载次数: 8
&&提 供 者:
&详细说明:用一个按键控制一个灯
sbit P10=P1^0
sbit P11=P1^1
sbit K1=P0^0
sbit K2=P0^1 -Control a lamp with a button
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&读 IO,用按钮控制点灯\22.bak&&.....................\22.C&&.....................\22.hex&&.....................\22.M51&&.....................\22_Opt.Bak&&.....................\22.plg&&.....................\22_Uv2.Bak&&.....................\STARTUP.A51&&.....................\STARTUP.lst&&.....................\22.LST&&.....................\22.OBJ&&.....................\22&&.....................\22.Uv2&&.....................\22.Opt&&读 IO,用按钮控制点灯
&相关搜索:
&输入关键字,在本站272万海量源码库中尽情搜索:
本程序是16*32点阵测试用程序,稍做修改便可以使用。主要方便学习和自制LED点阵用。
&[] - P10单元板的程序 很难得的!好久才写出来的 希望可以好好学习一下。。
&[] - datalog―P10主程序,用GPRS远程设备控制
&[] - P10单元板驱动程序,包含两目录:汉字屏轮流显示,汉字屏移动显示
&[] - P10单元板32*32点阵驱动源码,现流行的P10户外单元板
&[] - P10 LED matrix module schematic d&#7881 gram (P10 单元板电路图)
&[] - LED显示屏原理图,单色/双色屏,74HC595+74
&[] - 企业的商品库存管理系统,使用java语言进行编写,可供参阅
&[] - Vxworks TCP IP协议栈的源代码基于51单片机的坦克循迹 计时测速程序_百度文库
赠送免券下载特权
10W篇文档免费专享
部分付费文档8折起
每天抽奖多种福利
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于51单片机的坦克循迹 计时测速程序
总评分4.6|
用知识赚钱
&&基于51单片机的坦克循迹 计时测速程序
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢请问怎么在这个程序中加外部中断0 发送短信 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
请问怎么在这个程序中加外部中断0 发送短信
10:31:30  
#include &REG51.H&
#include &string.H&
#include &intrins.h&
#define uchar unsigned char
#define uint unsigned int
//以下是板子上LED的配置,把Px_x改成自己对应的脚。
//以下是你的51单片机的晶振大小
#define FOSC_110592M
//#define FOSC_12M
sbit P10=P1^0;
sbit P11=P1^1;
sbit P12=P1^2;
sbit P13=P1^3;
sbit P14=P1^4;
sbit P15=P1^5;
//以下是开机后发送到手机的内容,发送的号码在程序中修改。& & & &
unsigned int&&rec_data_len_uart=0;& & //标记Buffer_Uart0接收数组
unsigned char idata Buffer_Uart0_Rec[25]={0};& & & & & & & &&&//Uart0中断接收数组
//注意,无论接收到信号还是发送完信号,都会进中断服务程序的
/*初始化程序(必须使用,否则无法收发),次程序将会使用定时器1*/
void SerialInti()//初始化程序(必须使用,否则无法收发)
& & & & TMOD=0x20;//定时器1操作模式2:8位自动重载定时器
#ifdef FOSC_12M& & & & & & & && & //在这里根据晶振大小设置不同的数值初始化串口
& & & & TH1=0xf3;//装入初值,波特率2400
& & & & TL1=0xf3;& & & &
#else & & & &
& & & & TH1=0//装入初值,波特率9600
& & & & TL1=0
#endif //end of SOC_12M
& & & & TR1=1;//打开定时器
& & & & SM0=0;//设置串行通讯工作模式,(10为一部发送,波特率可变,由定时器1的溢出率控制)
& & & & SM1=1;//(同上)在此模式下,定时器溢出一次就发送一个位的数据
& & & & REN=1;//串行接收允许位(要先设置sm0sm1再开串行允许)
& & & & EA=1;//开总中断
& & & & ES=1;//开串行口中断& & & &
unsigned char hand(unsigned char *data_source,unsigned char *ptr)
& & & & if(strstr(data_source,ptr)!=NULL)
& & & & & & & & return 1;
& & & & else
& & & & & & & & return 0;
void clear_rec_data()
& & & & uchar i,temp_
& & & & temp_len=strlen(Buffer_Uart0_Rec);
& & & & if(temp_len&25)
& & & & & & & & temp_len=25;
& & & & for(i=0;i&temp_i++)
& & & & & & & & Buffer_Uart0_Rec[i]='\0';& & & &
& & & & rec_data_len_uart=0;
/*串行通讯中断,收发完成将进入该中断*/
void Serial_interrupt() interrupt 4
& & & & unsigned char temp_rec_data_uart0;& & & &
& & & & temp_rec_data_uart0 = SBUF;//读取接收数据& & & & & & & &
& & & & RI=0;//接收中断信号清零,表示将继续接收& & & & & & & & & & & &
& & & & Buffer_Uart0_Rec[rec_data_len_uart]=temp_rec_data_uart0;& & & & //接收数据
& & & & rec_data_len_uart++;
& & & & if(rec_data_len_uart&24)
& & & & & & & & rec_data_len_uart=0; & & & & //从头开始接收数据
& & & & }& & & &
void Uart1Send(uchar c)
& & & & SBUF=c;
& & & & while(!TI);//等待发送完成信号(TI=1)出现
& & & & TI=0;& & & &
//串行口连续发送char型数组,遇到终止号/0将停止
void Uart1Sends(uchar *str)
& & & & while(*str!='\0')
& & & & & & & & SBUF=*
& & & & & & & & while(!TI);//等待发送完成信号(TI=1)出现
& & & & & & & & TI=0;
& & & & & & & & str++;
//延时函数大概是1s钟,不过延时大的话不准...
void DelaySec(int sec)
& & & & uint i , j= 0;
& & & & for(i=0; i& i++)
& & & & & & & & for(j=0; j&65535; j++)
& & & & & & & & {& & & &
& & & & & & & & }
void main()
& & & & uchar i = 0;
& & & & SerialInti();
& & DelaySec(10);//延时约15秒,此处延时,是为了让模块有足够的时间注册到网络,
& & P14=1;& & & & & & & &&&//提示开始发送指令,开始发送指令时,务必确认模块上的LED 已经慢闪,即模块已经注册到网络
//----------------为什么是下面这些AT指令呢,请看群共享文件SIM900A重要的短信指令文件------------
& & Uart1Sends(&AT+CSCS=\&GSM\&\r\n&);
& & DelaySec(1);//延时大约3秒
& & Uart1Sends(&AT+CMGF=1\r\n&);
& & DelaySec(1);//延时3秒
& & & & Uart1Sends(&AT+CSCA?\r\n&);
& & DelaySec(1);//延时3秒
& & & & Uart1Sends(&AT+CSMP=17,167,0,241\r\n&);
& & DelaySec(1);//延时3秒
& & Uart1Sends(&AT+CMGS=\&\&\r\n&);//此处修改为对方的电话号
& & DelaySec(1);//延时3秒
& & Uart1Sends(&HELLO 123&);//修改短信内容,短信内容可为英文和数字
& & Uart1Send(0x1a);
& & DelaySec(15);//延时20秒
& & while(1);
已退回5积分
10:02:18  
在初始化时,初始化外部中断0
添加中断函数进行发短信
10:31:25  
。。。。。。。。。。。。。
10:31:42  
。。。。。。。。。。。。。。。。。。。
20:50:13  
电话号码不用Unicode码能发出短信?
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司单片机(8bit)的16路舵机调速分析与实现
> 单片机(8bit)的16路舵机调速分析与实现
单片机(8bit)的16路舵机调速分析与实现
// main.c[cpp]view plaincopyprint?#include<STC_NEW_8051.H>#include"ControlRobot.h"#include#defineDEBUG_PROTOCOLtypedefunsignedcharUCHAR8;typedefunsignedintUINT16;#undefTRUE#undefFALSE#defineTRUE1#defineFALSE0#defineMEMORY_MODELUINT16MEMORY_MODELdelayVar1;UCHAR8MEMORY_MODELdelayVar2;#defineBAUD_RATE0xF3#defineUSED_PIN2#definePIN_GROUP_10#definePIN_GROUP_21#defineGROUP_1_CONTROL_PINP0#defineGROUP_2_CONTROL_PINP2#defineSTEERING_ENGINE_CYCLE2000#defineSTEERING_ENGINE_INIT_DELAY50#defineSTEERING_ENGINE_FULL_CYCLE((STEERING_ENGINE_CYCLE)-(STEERING_ENGINE_INIT_DELAY))volatileUCHAR8MEMORY_MODELg_angle[2][ROBOT_JOINT_AMOUNT];volatilebitMEMORY_MODELg_fillingBufferIndex=0;volatilebitMEMORY_MODELg_readyBufferIndex=1;volatilebitMEMORY_MODELg_swapBuffer=FALSE;volatileUINT16MEMORY_MODELg_diffAngle[USED_PIN][8];volatileUCHAR8MEMORY_MODELg_diffAngleMask[USED_PIN][8]={{ROBOT_PIN_MASK_LEFT_SHOULDER_VERTICAL,ROBOT_PIN_MASK_LEFT_SHOULDER_HORIZEN,ROBOT_PIN_MASK_LEFT_ELBOW,ROBOT_PIN_MASK_RIGHT_SHOULDER_VERTICAL,ROBOT_PIN_MASK_RIGHT_SHOULDER_HORIZEN,ROBOT_PIN_MASK_RIGHT_ELBOW,ROBOT_PIN_MASK_LEFT_HIP_VERTICAL,ROBOT_PIN_MASK_RIGHT_HIP_VERTICAL},{ROBOT_PIN_MASK_LEFT_HIP_HORIZEN,ROBOT_PIN_MASK_LEFT_KNEE,ROBOT_PIN_MASK_LEFT_ANKLE,ROBOT_PIN_MASK_LEFT_FOOT,ROBOT_PIN_MASK_RIGHT_HIP_HORIZEN,ROBOT_PIN_MASK_RIGHT_KNEE,ROBOT_PIN_MASK_RIGHT_ANKLE,ROBOT_PIN_MASK_RIGHT_FOOT}};#ifdefDEBUG_PROTOCOLsbitP10=P1^0;//正在填充交换区1sbitP11=P1^1;//正在填充交换区2sbitP12=P1^2;//交换区变换sbitP13=P1^3;//协议是否正确#endifvoidDelay10us(UINT16ntimes){for(delayVar1=0;delayVar1<++delayVar1)for(delayVar2=0;delayVar2<21;++delayVar2)_nop_();}voidInitPwmPollint(){UCHAR8i;UCHAR8j;UCHAR8k;UINT16for(i=0;i<USED_PIN;++i){for(j=0;j<7;++j){for(k=j;k<8;++k){if(g_diffAngle[i][j]>g_diffAngle[i][k]){temp=g_diffAngle[i][j];g_diffAngle[i][j]=g_diffAngle[i][k];g_diffAngle[i][k]=temp=g_diffAngleMask[i][j];g_diffAngleMask[i][j]=g_diffAngleMask[i][k];g_diffAngleMask[i][k]=}}}}for(i=0;i<USED_PIN;++i){for(j=0;j<8;++j){if(INVALID_JOINT_VALUE==g_diffAngle[i][j]){g_diffAngle[i][j]=STEERING_ENGINE_FULL_CYCLE;}}}for(i=0;i<USED_PIN;++i){for(j=7;j>=1;--j){g_diffAngle[i][j]=g_diffAngle[i][j]-g_diffAngle[i][j-1];}}}voidInitSerialPort(){AUXR=0x00;ES=0;TMOD=0x20;SCON=0x50;TH1=BAUD_RATE;TL1=TH1;PCON=0x80;EA=1;ES=1;TR1=1;}voidOnSerialPort()interrupt4{staticUCHAR8previousChar=0;staticUCHAR8currentChar=0;staticUCHAR8counter=0;if(RI){RI=0;currentChar=SBUF;if(PROTOCOL_HEADER[0]==currentChar)//协议标志{previousChar=currentC}else{if(PROTOCOL_HEADER[0]==previousChar&&PROTOCOL_HEADER[1]==currentChar)//协议开始{counter=0;previousChar=currentCg_swapBuffer=FALSE;}elseif(PROTOCOL_END[0]==previousChar&&PROTOCOL_END[1]==currentChar)//协议结束{previousChar=currentCif(ROBOT_JOINT_AMOUNT==counter)//协议接受正确{if(0==g_fillingBufferIndex){g_readyBufferIndex=0;g_fillingBufferIndex=1;}else{g_readyBufferIndex=1;g_fillingBufferIndex=0;}g_swapBuffer=TRUE;#ifdefDEBUG_PROTOCOLP13=0;#endif}else{g_swapBuffer=FALSE;#ifdefDEBUG_PROTOCOLP13=1;#endif}counter=0;}else//接受协议正文{g_swapBuffer=FALSE;previousChar=currentCif(counter<ROBOT_JOINT_AMOUNT)g_angle[g_fillingBufferIndex][counter]=currentC++}}//if(PROTOCOL_HEADER[0]==currentChar)SBUF=currentCwhile(!TI);TI=0;}//(RI)}voidFillDiffAngle(){//设置舵机要调整的角度g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_SHOULDER_VERTICAL]=g_angle[g_readyBufferIndex][ROBOT_LEFT_SHOULDER_VERTICAL];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_SHOULDER_HORIZEN]=g_angle[g_readyBufferIndex][ROBOT_LEFT_SHOULDER_HORIZEN];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_ELBOW]=g_angle[g_readyBufferIndex][ROBOT_LEFT_ELBOW];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_SHOULDER_VERTICAL]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_SHOULDER_VERTICAL];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_SHOULDER_HORIZEN]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_SHOULDER_HORIZEN];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_ELBOW]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_ELBOW];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_HIP_VERTICAL]=g_angle[g_readyBufferIndex][ROBOT_LEFT_HIP_VERTICAL];g_diffAngle[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_HIP_VERTICAL]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_HIP_VERTICAL];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_HIP_HORIZEN]=g_angle[g_readyBufferIndex][ROBOT_LEFT_HIP_HORIZEN];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_KNEE]=g_angle[g_readyBufferIndex][ROBOT_LEFT_KNEE];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_ANKLE]=g_angle[g_readyBufferIndex][ROBOT_LEFT_ANKLE];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_FOOT]=g_angle[g_readyBufferIndex][ROBOT_LEFT_FOOT];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_HIP_HORIZEN]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_HIP_HORIZEN];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_KNEE]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_KNEE];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_ANKLE]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_ANKLE];g_diffAngle[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_FOOT]=g_angle[g_readyBufferIndex][ROBOT_RIGHT_FOOT];//复位舵机管脚索引g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_SHOULDER_VERTICAL]=ROBOT_PIN_MASK_LEFT_SHOULDER_VERTICAL;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_SHOULDER_HORIZEN]=ROBOT_PIN_MASK_LEFT_SHOULDER_HORIZEN;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_ELBOW]=ROBOT_PIN_MASK_LEFT_ELBOW;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_SHOULDER_VERTICAL]=ROBOT_PIN_MASK_RIGHT_SHOULDER_VERTICAL;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_SHOULDER_HORIZEN]=ROBOT_PIN_MASK_RIGHT_SHOULDER_HORIZEN;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_ELBOW]=ROBOT_PIN_MASK_RIGHT_ELBOW;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_LEFT_HIP_VERTICAL]=ROBOT_PIN_MASK_LEFT_HIP_VERTICAL;g_diffAngleMask[PIN_GROUP_1][ROBOT_PIN_INDEX_RIGHT_HIP_VERTICAL]=ROBOT_PIN_MASK_RIGHT_HIP_VERTICAL;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_HIP_HORIZEN]=ROBOT_PIN_MASK_LEFT_HIP_HORIZEN;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_KNEE]=ROBOT_PIN_MASK_LEFT_KNEE;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_ANKLE]=ROBOT_PIN_MASK_LEFT_ANKLE;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_LEFT_FOOT]=ROBOT_PIN_MASK_LEFT_FOOT;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_HIP_HORIZEN]=ROBOT_PIN_MASK_RIGHT_HIP_HORIZEN;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_KNEE]=ROBOT_PIN_MASK_RIGHT_KNEE;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_ANKLE]=ROBOT_PIN_MASK_RIGHT_ANKLE;g_diffAngleMask[PIN_GROUP_2][ROBOT_PIN_INDEX_RIGHT_FOOT]=ROBOT_PIN_MASK_RIGHT_FOOT;}#definePWM_STEERING_ENGINE(group)\{\counter=STEERING_ENGINE_INIT_DELAY;\for(i=0;i<8;++i)\counter+=g_diffAngle[PIN_GROUP_##group][i];\\for(i=0;i<30;++i)\{\GROUP_##group##_CONTROL_PIN=0xFF;\Delay10us(STEERING_ENGINE_INIT_DELAY);\\for(j=0;j<8;++j)\{\Delay10us(g_diffAngle[PIN_GROUP_##group][j]);\GROUP_##group##_CONTROL_PIN&=~(g_diffAngleMask[PIN_GROUP_##group][j]);\}\\Delay10us(STEERING_ENGINE_CYCLE-counter);\}\}voidmain(){UCHAR8i;UCHAR8j;UINT16InitSerialPort();P1=0xFF;//初始化舵机角度for(i=0;i<ROBOT_JOINT_AMOUNT;++i){g_angle[0][i]=45;g_angle[1][i]=45;}for(i=0;i<USED_PIN;++i)for(j=0;j<8;++j)g_diffAngle[i][j]=0;FillDiffAngle();InitPwmPollint();while(1){#ifdefDEBUG_PROTOCOLif(g_fillingBufferIndex){P11=0;P10=1;}else{P11=1;P10=0;}if(g_swapBuffer)P12=0;elseP12=1;#endifif(g_swapBuffer){FillDiffAngle();g_swapBuffer=FALSE;InitPwmPollint();}PWM_STEERING_ENGINE(1)PWM_STEERING_ENGINE(2)}}
分享给小伙伴们:
我来说两句……
微信公众号二
微信公众号一out p10-p11
该产品图片(3)
该商户的其他产品
(C) dianping.com, All Rights Reserved. 本站发布的所有内容,未经许可,不得转载,详见 。

我要回帖

更多关于 买p10还是等p11 的文章

 

随机推荐