题目:基于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
用的是沁恒CH552e淘宝买的评估板,USB中断上传程序用的是沁恒提供的做了些修改。程序使用2个端点一个,端点1作为普通键盘,端点2作为多媒体按键,有详细注释多媒体按键报告,以下是主函数内容。/****主函数****/main(){ CfgFsys( ); //CH552时钟选择配置 mDelaymS(5); //修改主频等待内部晶振稳定,必加 ConfigT0(2); //配置2ms T0中断 USBDeviceInit(); //USB设备模式初始化 EA = 1; //允许单片机中断 UEP1_T_LEN = 0; //预使用发送长度一定要清空 UEP2_T_LEN = 0; //清空端点2发送长度 FLAG = 0; //清空USB中断传输完成标志 ready = 0; LED_VALID = 1; //给一个默认值 P1_DIR_PU &= 0xE0; //在MOD_OC为0时 p1.5 p1.6 P1.7为推挽输出 P1_MOD_OC = P1_MOD_OC & ~0xE0; //3个口的bit4 = 0 p1.5 p1.6 P1.7设置为推挽输出 P1_DIR_PU = P1_DIR_PU | 0xE0; //3个口的bit4 = 1 p1.5 p1.6 P1.7设置为输出 key1 = 1; key2 = 1; key3 = 1; while(1) { KeyDrive(); //按键驱动 }}
上传时间: 2022-05-15
上传用户:
Mathematical modeling has become an important part of the research and devclopment work in engineering and scicnce. Retaining a competitive edge requiresa fast path between ideas and prototypes, and in this regard mathematical modeling and simulation provide a valuable shortcut for understanding both qualitative and quantitative aspects of scientific and engineering design. To assist you in gaining this edge, COMSOL Multiphysics offers state-of-the art performance, being built from the ground up with a Java3D interface and C/C++ solvers.The Acoustics Module is an optional package that extends the COMSOL Multiphysicsmodcling cnvironment with customized user interfaces and functionality optimizcd for the analysis of acoustics. Like all modules in the COMSOL family, it provides a brary of prewritten ready-to-run models that make it quicker and casier to analyze disciplinc-specific problcms.
上传时间: 2022-06-19
上传用户:
蓝牙低能耗(Bluetooth Low Energy,或称Bluetooth LE、BLE,旧商标Bluetooth Smart)也称低功耗蓝牙,是蓝牙技术联盟设计和销售的一种个人局域网技术,旨在用于医疗保健、运动健身、信标、安防、家庭娱乐等领域的新兴应用。相较经典蓝牙,低功耗蓝牙旨在保持同等通信范围的同时显著降低功耗和成本011年,蓝牙技术联盟(SIG)发表了“蓝牙智能”徽标,体现低功耗设备与蓝牙设备的兼容性。具有“蓝牙智能就绪”(Bluetooth Smart ready)标识的外设兼容经典蓝牙与低功耗蓝牙的双模。具有“蓝牙智能”(Bluetooth Smart)标识的设备仅支持低功耗蓝牙,可以与“蓝牙智能就绪”或“蓝牙智能”设备通信。根据2016年5月蓝牙技术联盟的品牌信息,蓝牙技术联盟开始逐步停用“蓝牙智能”和“蓝牙智能就绪”标识,恢复使用“Bluetooth”图案标志和文字标识。标志使用新款蓝色
标签: 低功耗蓝牙
上传时间: 2022-07-26
上传用户: