实现单片机的串口实时收发,并立即返回收到的数据
标签: UART
上传时间: 2015-05-29
上传用户:1097682730
可以单点调试,包括VDM51文件,能够轻松的调试程序。。。。
上传时间: 2016-05-20
上传用户:xuxin10217
本文详述了使用VB和C51实现PC机和单片机串行通信的开发方法,并简要地介绍了VB通讯控件及其使用方法,给出了调试程序。
标签: VB实现的实时曲线的绘制
上传时间: 2016-05-25
上传用户:guangyu_2005
使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。因此很多开发51应用的工程师或普通的单片机爱好者,都对它十分喜欢。
上传时间: 2019-10-28
上传用户:a798131165
题目:基于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
本书从基本概念出发,全面讲解了Delphi各方面的知识,其内容包括安装Delphi 6,Object Pascal语言的基本语法和Object Pascal技术,窗体的使用,各种常用组件的属性、事件和方法,对话框设计,图形图像编程,文件管理,调试程序和错误处理,高级组件的使用,多媒体应用,API函数的使用,数据库以及网络编程等。这些涉及到使用程序设计的各方面的知识,本书都有详细的实例说明,有的实例比较简单,有些比较复杂,这样既可以使读者学到Delphi的相关知识,也可以学到一些编程技巧,为日后实际应用打下基础。本书适合Delphi初学者系统地学习,也可供软件开发人员参考。
标签: Delphi
上传时间: 2021-01-12
上传用户:
PDF电子书-keil+C51教程完整精华版1270页断发展,以 C 为主流的单片机高级语言也不断被更多的单片机爱好者 和工程师所喜爱。使用 C 语言肯定要使用到 C 编译器,以便把写好的 C 程序编译为机器码, 这样单片机才能执行编写好的程序。KEIL uVISION2 是众多单片机应用开发软件中优秀的 软件之一,它支持众多不同公司的 MCS51 架构的芯片,它集编辑,编译,仿真等于一体, 同时还支持,PLM,汇编和 C 语言的程序设计,它的界面和常用的微软 VC++的界面相似, 界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。 以上简单介绍了 KEIL51 软件,要使用 KEIL51 软件,必需先要安装它,这也是学习编 程语言所要求的第一步――建立学习环境。KEIL51 是一个商业的软件,对于普通爱好者可 以到 KEIL 中国代理周立功公司的网站上下载一份能编译 2K 的 DEMO 版软件 (http://www.zlgmcu.com/download/downs.asp?ID=480),基本可以满足一般的个人 学习和小型应用的开发。(安装的方法和普通软件相当这里就不做介绍了) 安装好后,您是不是迫不及待的想建立自己的第一个 C 程序项目呢?下面就让我们一 起来建立一个小程序项目吧。
上传时间: 2022-03-25
上传用户:qdxqdxqdxqdx
一、 实验目的使用 51单片机的八位数码管顺序显示自己的学号。掌握 C 语言、汇编语言两种编程单片机控制程序的方法。掌握使用 Keil 4 或 Keil 5 软件编写、编译、调试程序的方法。掌握使用 Proteus 软件绘制电路原理图、硬件仿真和程序调试。二、实验设备笔记本电脑51 单片机(普中科技)八位数码管(单片机上已集成)应用程序:Proteus 8.0、Keil uVision5、stc-isp-v6.88E三、实验原理(1)数码管数码管按段数可分为七段数码管和 8 段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP),这个小数点可以更精确的表示数码管想要显示的内容。按能显示多少个(8),可分为 1 位、2位、3位、4位、5 位、6位、7 位等数码管。按发光二极管单元连接方式可分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管,共阳数码管在应用时将公共极 COM 接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮,当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应用时应将公共极 COM 接到地线 GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。(2)51单片机单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器ROM、多种 I/O口和中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。MSC-51 单片机指以 8051为核心的单片机,由美国的 Intel 公司在 1980 年推出,80C51 是 MCS-51系列中的一个典型品种;其它厂商以 8051为基核开发出的CMOS 工艺单片机产品统称为 80C51 系列。本实验中我使用普中科技的 51 单片机来点亮八位数码管并使其显示我的学号(20198043)。四、 实验 过程(1)熟悉数码管使用 Proteus 软件构建电路图,学会如何点亮数码管,熟悉如何使数码管显示不同的数字(0-9)。我们可以按照上面的原理图让对应的段导通,以显示数字。对于共阳数码管,若显示数字 0,可以让标号为 A,B,C,D,E,F 的段导通,标号为 G,H 的段不导通,然后将阳极通入高电压,即显示数字 0。代码举例如下:最后效果如下,成功点亮一个数码管。经过更多尝试和学习,学会使多位数码管显示多位数字。结果举例如下:(2)多位数码管显示学号为了显示我们学号,就不能只使用一位数码管,需要使用八位数码管,相较于单位数码管,多位数码管更加复杂,驱动函数有很大区别。多位数码管使用同一组段选,不同的位选,因此就不能够一对一地固定显示,这就需要动态扫描。动态扫描:利用人眼视觉暂留,多位数码管每次只显示一位数字,但是切换频率大于 200HZ(50 × 4),这样就能让人产生同时显示多个数字的错觉。具体操作是轮流向数码管送字形码和相应的位选。一个完整的驱动程序不只以上这些,一个完整的数码管驱动有 6部分:1. 码表(ROM):存储段码(一般放在 ROM中,节省 RAM空间),例如数字 0的段码就是 0xC0,码表则包含 0-9的段码2. 显存(RAM):保存要显示的数字,取连续地址(便于查表)3. 段选赋值:通过查表(码表)操作,将显存映射到段码4. 位选切换:切换显示的位置5. 延时:显示的数字短暂保持,提升亮度6. 消影:消除切换时不同位置互相影响而产生的残影
上传时间: 2022-06-08
上传用户:canderile
二十一世纪的今天科技与经济迅速发展,人们的生活节奏变得越来越快,生活水平越来越高,对于生活的品味和质量的要求也更高。人们不再满足于只能提供简单计时功能的时钟,希望在能保证计时精确的基础上能多添加一些其他功能,诸如日历、定时等。本文主要介绍了以STM32F103VCT6开发板为核心部件来设计的一款万年历,以其内部的RTC时钟模块作为时钟,用TFTLCD液晶显示器作为显示模块,时钟电路能准确提供24小时制时间、平年闰年的判断以及定时。采用Kei1uvision4进行编写调试程序,以神州二号嵌入式技术开发板为硬件平台进行设计,最终实现在显示屏上显示时间、日期、以及进行定时等功能。以基于STM32的智能万年历作为设计的课题,因为它有很好的开放性和可发挥性,不仅考察了对单片机的掌握能力而且强调了对单片机扩展的应用。另外液晶显示的万年历已经越来越流行,特别适合在家庭居室、办公室、大厅、会议室、车站和广场等地方使用,它具有显示清晰直观、走时准确、可以进行夜视等功能,并且还可以扩展出其它多种功能。所以,电子万年历作为设计课题很有价值。经过两周的课程设计,我们完成了按键和触摸两种方式对万年历的控制,实现了基本的万年历功能和闹钟功能。本次课程设计让我对万年历有了深刻理解,更让我对stm32有了更进一步的学习。关键词:STM32F103VCT6;最小应用系统;万年历
上传时间: 2022-06-24
上传用户:
使用编译环境:MDK4.72A IAR6.30使用硬件环境:STM32F103RBT6使用函数库版本:STM32F10x_StdPeriph_Driver V3.50工程概要: 完成是MCU通过SPI2对w5500的读写操作,完成对IP,mac,gateway等的操作, 内网测试,请保证W5500的IP与测试PC机在同一网段内,且不冲突 如果是用网线跟PC机直连,请设置PC机本地连接地址IP为静态IP调试说明:此例程适用的调试下载器是J-link-ob,也可以用过串口下载调试程序,(请将串口线插在板子J1口 上,并打开超级终端或串口助手,配置波特率115200,8位,一个停止位,无校验位。
上传时间: 2022-06-26
上传用户: