题目:基于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
Visual Assembly是一个绿色免费的汇编语言编译器,该软件提供了编辑、编译、运行、调试汇编语言程序的集成环境。目前支持MASM、TASM、MCS51三种编译器。 汇编语言编译器Visual Assembly目录说明 bin目录里为本软件 files目录为汇编语言写的用于测试的程序 source目录为本软件的源代码 masm为MASM类型的编译器,其中:masm.exe为编译器,link.exe为连接器
标签: 汇编
上传时间: 2020-11-11
上传用户:
选择文件 X 双色球彩票过滤器 绿色免费版
上传时间: 2020-11-27
上传用户:
选择文件 X 双色球彩票管理系统(LotterySystem)
标签: LotterySystem 双色 管理系统
上传时间: 2020-11-27
上传用户:
题目描述 某人写了n封信,同时为每一封信写1个信封,共n个信封。如果把所有的信都装错了信封,问共有多少种?(这是组合数学中有名的错位问题。著名数学家伯努利(Bernoulli)曾最先考虑此题。后来,欧拉对此题产生了兴趣,称此题是“组合理论的一个妙题”,独立地解出了此题) 试编程求出完全装错情形的所有方式及其总量s。例如,输入n=3,即有3封信需要装入信封,完全装错的一种方式可以表示为312,表示第1封信装入第3个信封,第2封信装入第1个信封,第3封信装入第2个信封。对于n=3,完全装错的方式共有2种,分别是312和231. 输入 输入一个正整数n(2<=n<=6) 输出 输出完全装错情形的所有方式以及装错方式的总量s (每行输出5种方式,一行中的相邻两种方式之间用1个空格隔开。装错方式输出时,从小到大排列,见输出样例)。 样例输入 4 样例输出 2143 2341 2413 3142 3412 3421 4123 4312 4321 s=9
上传时间: 2020-11-30
上传用户:
拉基源码.txt
上传时间: 2020-12-23
上传用户:
本书通过130个精选的例子讲解了利用Delphi进行应用程序开发的多个方面,其内容涵盖了界面外观、多媒体控制与图像处理、时间控制、操作系统、程序控制、磁盘文件、数据库、网络与通信、鼠标和键盘、数学算法和程序发布等方面。本书内容突出了实用性,85%以上的实例模仿较常见的优秀软件的相关功能,其余实例是为帮助读者理解重点、难懂概念所做,并力求通过每章的例子重点讲述如何利用Delphi组件和API函数等来实现特定的功能。本书的另一个特点在于给出了实用性很强的“方案实例”而不仅仅是“功能实例”,其内容多为典型或通用的功能模块的解决方案,包括界面设计、操作流程以及代码控制等内容。本书适用于已经初步掌握Delphi编程概念、方法的读者阅读,可以帮助读者迅速掌握实际应用中的各种经验、技巧。
上传时间: 2021-01-13
上传用户:
keil-C51中文完全破解版 keil-C51中文完全破解版 keil-C51中文完全破解版 keil-C51中文完全破解版 keil-C51中文完全破解版
上传时间: 2021-03-23
上传用户:cc8425672
--stdafx.h中没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。 windows和mfc的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.cpp文件都包含相同的include文件,为每个.cpp文件都重复处理这些文件就显得很傻了。 为避免这种浪费,appwizard和visualc++编译程序一起进行工作,如下所示: --appwizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的mfcinclude文件。且这一文件可以随被选择的选项而变化。 --appwizard然后就建立stdafx.cpp。这个文件通常都是一样的。 --然后appwizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。 --当visualc++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。) --当visualc++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。visualc++不再分析windowsinclude文件,除非你又编辑了stdafx.cpp或stdafx.h。 在这个过程中你必须遵守以下规则: --你编写的任何.cpp文件都必须首先包含stdafx.h。 --如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。 --由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。 如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
标签: stdafx
上传时间: 2021-05-19
上传用户:1155
如果 PCB 用排线连接,控制排线对应的插头插座必须成直线,不交叉、不扭曲。 连续的 40PIN 排针、排插必须隔开 2mm 以上。 考虑信号流向,合理安排布局,使信号流向尽可能保持一致。 输入、输出元件尽量远离。 电压的元器件应尽量放在调试时手不易触及的地方。 驱动芯片应靠近连接器。 有高频连线的元件尽可能靠近,以减少高频信号的分布参数和电磁干扰。 对于同一功能或模组电路,分立元件靠近芯片放置。 连接器根据实际情况必须尽量靠边放置。 开关电源尽量靠近输入电源座。 BGA 等封装的元器件不应放于 PCB 板正中间等易变形区 BGA 等阵列器件不能放在底面, PLCC 、 QFP 等器件不宜放在底层。 多个电感近距离放置时应相互垂直以消除互感。 元件的放置尽量做到模块化并连线最短。 在保证电气性能的前提下,尽量按照均匀分布、重心平衡、版面美观的标准优化布局。 按电路模块进行布局,实现同一功能的相关电路称为一个模块,电路模块中的元件应采用就近集 中原则,同时数字电路和模拟电路分开; 定位孔、标准孔等非安装孔周围 1.27mm 内不得贴装元、器件,螺钉等安装孔周围 紧固件安装孔、椭圆孔及板中其它方孔外侧距板边的尺寸大于 3mm ; 发热元件不能紧邻导线和热敏元件;高热器件要均衡分布;
上传时间: 2021-06-25
上传用户:xiangshuai