利用单片机实现红外遥控读码器,定时中断数码管显示,外加遥控。
上传时间: 2017-07-23
上传用户:王者A
(1)用8 个LED 发光管的来回滚动显示或跳跃运动显示来模拟靶的移动,用按1~8 数字键(对应8 个LED)来模拟射击,如果在某个LED 点亮期间按下相应数字键,表示射中并熄灯(全部熄),记录射中次数。 (2)比赛规则可有以下两种: 比赛规则1:靶始终来回不断地移动(一旦射中则从头开始滚动),在规定的时间(如50 秒)和规定的射击次数(如20 次)内看谁的射中次数多谁获胜; 比赛规则2:总共有若干个(如20 个)移动靶,每个靶的移动时间限制在一定的时间范围内(如5 秒),要求在此时间内射击,若射中则记一分并出现下一个移动靶,若未射中或在规定时间内未射击则不记分并出现下一个移动靶。同样看谁的射中次数多谁就获胜。 (3) 要求精确定时中断计时
上传时间: 2017-07-30
上传用户:anng
第二届飞思卡尔杯智能车大赛,本人编写,欢迎参考。使用DG128,实现定时中断,光电管感应后AD转换,PWM控制舵机与电机,捕捉速度的脉冲信号。
上传时间: 2013-12-22
上传用户:siguazgb
c80511f020实时时钟程序代码,通过这样来实现时钟显示和定时中断的功能
标签: c80511f020 实时时钟 代码 程序
上传时间: 2017-09-14
上传用户:cccole0605
题目:基于51单片机的RS485从机系统设计 单片机接口资源配置: 1. 上电复位电路; 2. 晶振电路采用11.0592Mhz晶振; 3. 485接口电路(P3.7用于485芯片的收发控制,收发管脚接单片机的rxd和txd); 4. P2口通过外部跳线接相应的高低电平,配置从机地址为组号; 5. P3.6外接一发光二极管(注意串联电阻进行限流); 6. P3.2外接一按键,断开高电平,按下低电平; 7. 按键检测采用外部中断方式,下跳沿触发; 8. 单片机定时器0以模式1(16位模式)工作,产生50ms的定时中断,并在此基础上设计一单片机内部时钟(24小时制,能计数时、分、秒、50ms值); 9. 单片机串行通信采用模式1非多机通信方式,采用9600波特率以串行中断方式进行数据的收发通信,主机地址为0xF0,广播地址为0xFF。 系统功能需求: 1. 系统配置和自检功能: l 从机上电后进行初始化,通过读取P2口进行从机地址配置; l 发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒); l 检测到一次按键按下操作后,熄灭发光二极管。 2. 数据接收和按键计时功能: l 从机接收主机程序(PC机上的串口调试程序)的按键允许命令帧并进行校验; l 校验正确并且目的地址是广播地址或者本从机的地址,通过发光二极管长亮指示,并允许按键操作; l 按键按下后,尽可能准确记录按键的动作时点(定时器的低8位、定时器的高8位、50ms值、秒、分、小时); l 按键操作只能响应一次,重复按键操作不响应; l 按键的动作时点记录后,发光二极管以每秒一次的频率闪烁(亮0.5秒,灭0.5秒)。 3. 数据发送功能: l 从机接收主机程序发来的时钟数据搜索命令帧并进行校验; l 如果校验正确并且数据帧的目的地址是本从机的地址,从机将前面记录的按键动作时点数据(定时器的低8位、定时器的高8位、50ms值、秒、分、小时)按附录中的时钟数据返回帧的帧格式回传给主机; l 时钟数据返回帧回传结束后,熄灭发光二极管。 4. 校验和生成和检测功能: l 发送数据帧时能自动生成数据帧校验和; l 每帧数据在发送帧尾前,发送一字节的当前帧数据的校验和; l 接收数据帧时能检测校验和并判断接收数据是否正确。 附录:帧定义 校验和的计算:除去帧头和帧尾后将帧中的其他数据求和并取低8位; 帧长:不计帧头、帧尾和校验和字节。 按键允许命令帧: 帧头 帧长 目的地址 源地址 命令字 校验和 帧尾 AA 04 FF F0 01 F4 66 时钟数据搜索命令帧: 帧头 帧长 目的地址 源地址 命令字 保留字 校验和 帧尾 AA 05 01 F0 03 00 F9 66 时钟数据返回帧: 帧头 帧长 目的地址 源地址 命令字 TL0 TH0 50ms 秒 分 时 校验和 帧尾 AA 0A F0 01 07 01 B6 09 03 00 00 C5 66 帧结构头文件frame.h(内容如下) //帧格式定义 #define FRAME_HEAD 0xAA //帧头 #define FRAME_FOOT 0x66 //帧尾 #define FRAME_LEN 0x00 //帧长 #define FRAME_DST_ADR 0x01 //目的地址 #define FRAME_SRC_ADR 0x02 //源地址 #define FRAME_CMD 0x03 //命令字 #define FRAME_DATA 0x04 //帧数据起始 //帧命令定义 #define READY 0x01 //按键允许命令 #define TIME_SERCH 0x03 //时钟数据轮询命令 #define TIME_BACK 0x07 //时钟数据返回命令 //地址定义 #define BROAD_ADR 0xFF //广播地址 #define MASTER_ADR 0xF0 //主机地址
上传时间: 2020-06-18
上传用户:umuo
S7-200西门子PLC例程源码100例合集:PLC S7-200程序实例--程控喷泉程序.rarplc200例子.rarS200配料程序.rars7 200例子程序.rars7 200做的转盘的程序,6个工位.rarS7 Array and Indirect Addressing Examples and Basics.zips7-200 modbus主、从站例子程序.rarS7-200 modbus主从站标准例程.rarS7-200 Modbus主站通讯程序.rarS7-200 Modbus从站通讯测试.rarS7-200 PID控制例程1.rarS7-200 PID控制例程2.rarS7-200 PID控制例程3.rarS7-200 PWM控制实例.rarS7-200 变频控制例程.zipS7-200 恒压供水,一拖三实例.rars7-200 称重程序.rarS7-200 自由口通讯测试程序A.rarS7-200 自由口通讯程序 方式B.rarS7-200 自由口通讯程序 方式C.rars7-200 高速计数及pid控制之恒速控制.rarS7-200PLC控制恒压变频供水的PLC程序.rarS7-200PLC的程序结构.rarS7-200_315-DP与EM277的PROFIBUS通讯.rarS7-200_315-DP与EM277的PROFIBUS通讯.zipS7-200_50例程.rarS7-200_与S7300之间的MPI通讯(1).zipS7-200_与S7300之间的MPI通讯.zipS7-200_与S7300的以太网通讯(1).zipS7-200_与S7300的以太网通讯.zipS7-200_之间通讯和链接.rarS7-200_时间设定与读取.rarS7-200下的布袋除尘器控制程序.rarS7-200与6RA70之间的USS通讯.zipS7-200与ABB550变频器通讯实例.rarS7-200与DDM4A数显表通信1.rarS7-200与DDM4A数显表通信2.rarS7-200与MM440通过USS协议通讯例子.rarS7-200与PC之间的连接:从WINDOWS应用程序中读数据.rarS7-200与S7-300通信实例及步骤.rarS7-200与三垦变频器通信实例1.rarS7-200与三垦变频器通信实例2.rarS7-200与三垦变频器通信实例3.rarS7-200与富士PXR仪表自由通讯口协议通信.rarS7-200与易能EDS1000变频器的通讯.rars7-200之多种方法实现单按钮电路.rarS7-200之间数据通讯.rarS7-200使用EM253控制伺服的PLC程序.rarS7-200供水(两台循环)实例.rars7-200做Modbus RTU.rars7-200做modbus主站与杰曼仪表通讯程序.rarS7-200利用MODBUS主站库与LG变频的通讯程序.rarS7-200和变频器自由口通信.zipS7-200处理定时中断.zips7-200实例.rarS7-200实验用程序(1).rarS7-200实验用程序.rarS7-200工程.rarS7-200带TD操作面板.rars7-200库 格雷码.rars7-200应用实例.pdfS7-200控制步进电机.rarS7-200控制步进电机带加速.rars7-200控制的水平小车程序.rars7-200数控机床程序.rarS7-200料仓下料器程序.rars7-200模拟量处理子程序.rarS7-200水处理程序(1).rarS7-200水处理程序.rarS7-200玻璃瓶压盖机的程序.rars7-200生料磨收尘器.rarS7-200用定时中断计算累计流量的程序.rars7-200电梯程序.rarS7-200电泳线流水线控制程序.rars7-200的发脉冲.rarS7-200的格雷码与二进制的转换、S7-200寻址例程、S7-200时间设定与读取、S7-200之间的通讯与链接.........rarS7-200直线插补程序.rarS7-200程序----秤.rars7-200程序1.rars7-200程序实例.rarS7-200脉冲输出测试程序.rarS7-200自由口与打印机通讯.rarS7-200西门子PLC例程源码100例合集.zipS7-200通过EM277通讯.zipS7-200造纸应用程序,多点传动,带通讯.rars7-200锅炉半自动控制.rarS7-200静电除尘.rarS7-212用自由通信口模式和并行打印机相连.rarS7-212通过自由
标签: S7-300
上传时间: 2021-10-22
上传用户:
目标要求:系统时钟8Mhz,6个PWM脉冲。实现上述目标的方法有很多种,比如两个定时器级连,定时器定时中断翻转IO口,等等,这里使用DMA的方式去实现。
上传时间: 2022-02-21
上传用户:qingfengchizhu
1.内置高稳定度的32.768Hz的DcXo(数字温度补偿晶体振荡2.支持I2C总线的高速模式(400K)。3.定时报警功能(可设定:天,日期,小时,分钟)4.固定周期定时中断功能5.时间更新中断功能。6.32.768KHz频率输出(具有使能OE功能)7.闰年自动调整功能。(2000到2099)8.宽范围接口电压:2.2V到5.5V9.宽范围的时间保持电压:1.8到55V10.低电流功耗:0.8uA/3V(Typ.)注意:当访问该器件的时候,所有的通讯从传输开始条件到传输结束条件为止,所有的操作必须在0.95秒内完成。如果这样的通讯需要0.95s或更长时间,那么I2C总线接口将由内部总线时间溢出功能复位。10、8025T操作模式:1)实时时钟模式该功能被用来设定和读取年,月,日,星期,时,分,秒时间信息。年份为后两位数字表示,任何可以被4整除的年份被当成闰年处理。(2000年到2099年)2)固定周期的中断发生功能:固定周期定时中断发生功能可以产生一个固定周期的中断事件,固定周期可在244.14us到4095分钟之间的任意时间设定。3)定时更新中断功能:该功能可以根据内部时钟的定时设定,每秒或每分钟产生一个中断事件。当中断事件产生,UF标志位的值变成1同时/NT引脚变成低电平表示一个中断事件的产生。4)闹钟中断功能该功能可以根据报警设定来产生一个中断5)32.768KHz时钟输出:订以通过FoUT引脚来输出一个32.768kHz频率的时钟信号,该功能可以通过FE引脚控制。6)和cPU的接口功能数据的读写都是通过I2C总线接口的方式来完成。11、寄存器简介:
上传时间: 2022-04-06
上传用户:kingwide
基于STC89C51单片机的智能电热水器的控制器的设计,要达到的控制要求有:(1)用LCD1602液晶显示水温、设置上下限和定时时间,(2)水温检测显示范围为00~99℃,精度为±1℃。(3)温度预设范围为0~99℃,当检测温度低于预设温度时,开始加热;检测温度高于预设温度时,停止加热。(4)设置4个程序按键。分别问设置按键、加键、减键、确定。(5)可以红外遥控,通过红外一体接收探头接收遥控器信号,执行与主板按键同等功能。(6)有水位检测功能,无水自动上水,无水不加热。//外部中断解码程序_外部中断0void intersvr1(void) interrupt 2 using 1{ TR0=1; Tc=TH0*256+TL0;//提取中断时间间隔时长 TH0=0; TL0=0; //定时中断重新置零 if((Tc>Imin)&&(Tc<Imax)) { m=0; f=1; return; } //找到启始码 if(f==1) { if(Tc>Inum1&&Tc<Inum3) { Im[m/8]=Im[m/8]>>1|0x80; m++; } if(Tc>Inum2&&Tc<Inum1) { Im[m/8]=Im[m/8]>>1; m++; //取码 } if(m==32) { m=0; f=0; if(Im[2]==~Im[3]) { IrOK=1; TR0=0; } else IrOK=0; //取码完成后判断读码是否正确 } //准备读下一码 }}
上传时间: 2022-05-14
上传用户:
#define PI (3.14159265)// 度数表示的角速度*1000#define MDPS (70)// 弧度表示的角速度#define RADPS ((float)MDPS*PI/180000)// 每个查询周期改变的角度#define RADPT (RADPS/(-100))// 平衡的角度范围;+-60度(由于角度计算采用一阶展开,实际值约为46度)#define ANGLE_RANGE_MAX (60*PI/180)#define ANGLE_RANGE_MIN (-60*PI/180)// 全局变量pid_s sPID; // PID控制参数结构体float radian_filted=0; // 滤波后的弧度accelerometer_s acc; // 加速度结构体,包含3维变量gyroscope_s gyr; // 角速度结构体,包含3维变量int speed=0, distance=0; // 小车移动的速度,距离int tick_flag = 0; // 定时中断标志int pwm_speed = 0; // 电机pwm控制的偏置值,两个电机的大小、正负相同,使小车以一定的速度前进int pwm_turn = 0; // 电机pwm控制的差异值,两个电机的大小相同,正负相反,使小车左、右转向float angle_balance = 0; // 小车的平衡角度。由于小车重心的偏移,小车的平衡角度不一定是radian_filted为零的时候
上传时间: 2022-06-01
上传用户: