实验四-串口通信实验
- 格式:docx
- 大小:156.48 KB
- 文档页数:14
使用VB中的MSComm控件实现RS-232串口通信实验准备:需要准备一些与串口通信有关的设备,如(外置式)调制解调器、计算机串口与调制解调器的连接线、一根DTE到DTE 的无调制解调器连接线(接法见本章有关习题的参考答案),在实验前检查计算机的两个串口是否能够正常工作。
实验环境:Windows 95/98操作系统,Microsoft VB 5.0以上程序设计环境。
对例题中涉及调制解调器的内容,采用计算机与调制解调器连接的方式;对在例题中设计数据传输的内容,须事先将DTE 到DTE的无调制解调器连接线的两端,分别插入Com1和Com2串口。
实验说明:VB中的MSComm控件通过串行端口传输和接收数据,为应用程序提供串行通讯功能。
MSComm控件提供下列两种处理通讯的方式:(1)事件驱动(实时)方式,这是处理串行端口交互作用的一种非常有效的方法。
在许多情况下,在事件发生时需要得到通知,例如,在Carrier Detect(CD)或RequestToSend(RTS)线上一个字符到达或一个变化发生时。
在这些清况下,可以利用MSComm控件的OnComm事件捕获并处理这些通讯事件。
OnComm事件还可以检查和处理通讯错误。
(2)轮询方式,在程序的每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。
如果应用程序较小,并且是自保持的,这种方法可能是更可取的。
例如,如果写一个简单的电话拨号程序,则没有必要对每接收一个字符都产生事件,因为唯一等待接收的字符是调制解调器的“OK”响应。
每个使用的MSComm控件都对应着一个串行端口。
如果应用程序需要访问多个串行端口,必须使用多个MSComm控件。
可以在Windows“控制面板”中改变端口地址和中断地址。
下面这个简单的例子采用了轮询方法演示了用调制解调器进行基本的串行通讯:Private Sub Form_Load()Dim Instring As String '保存输入子串的缓冲区mPort=3 '使用COM3。
姓名:班级:自动化15 学号:2015实验一数据存储实验一实验目的1。
掌握TMS320F2812程序空间的分配;2。
掌握TMS320F2812数据空间的分配;3。
能够熟练运用TMS320F2812数据空间的指令。
二实验步骤与内容实验步骤1.在进行DSP实验之前,需先连接好仿真器、实验箱及计算机,连接方法如下所示:2.F2812CPU板的JUMP1的1和2脚短接,拨码开关SW1的第二位置ON;其余OFF3.E300底板的开关SW4的第2位置ON,其余位置OFF.其余开关设置为OFF.4.上电复位在硬件安装完成后,确认安装正确、各实验部件及电源连接无误后,启动计算机,接通仿真器电源,此时,仿真器上的指示灯应点亮,否则DSP开发系统与计算机连接存在问题。
5.运行CCS程序1)待计算机启动成功后,实验箱220V电源置“ON",实验箱上电2)启动CCS5.5,工作环境的路径选择:E:\E300Program\E300TechV-2812\normal ;6.成功运行CCS5.5程序后,出现如下图所示界面:7.右键点击Project Explorer窗口下的工程文件“e300_01_mem”,选择“Open Project"命令打开该工程,如下图所示,可以双击才看左侧源文件;8.点击菜单栏Project/Build All命令编译整个工程,编译完成后点击按钮进入仿真模式,完全进入后如下图所示:9.用“View"下拉菜单中的“Memory/Browser”查看内存单元,参数设置如下图:注意:下面的参数设置都是以16进制。
此时可以观测到以0x003F9020为起始地址的存储单元内的数据;10.单击按钮,开始运行程序,一段时间后,单击按钮,停止程序运行,0x003F9020H~ 0x3F902FH单元的数据的变化,如下图所示:11.关闭Memory Browser窗口,点击按钮,退出仿真模式。
单片机实验指导书目录一、基础知识1.A VR MEGA16学习板简介 (1)2.A VR Studio 使用环境简介 (3)3.ICC使用环境简介 (7)4.下载程序说明 (12)二、实验内容1.熟悉实验环境 (14)2.I/O口实验 (18)3.秒表时间显示实验 (19)4.串口通信实验 (21)一、基础知识1. AVR MEGA16学习板简介a. 简介:A VR MEGA16 学习板专为A VR单片机初学者设计,简单实用是本学习板的最大特点。
布局合理,模块划分清晰符合正常使用习惯。
电路简单,安排了最常用最实用的功能电路,接口上尽量不复用。
人性化设计,学习板没有追求那些高级的热门的功能实验,集成了A VR单片机学习必不可少的A VR ISP下载线,可以直接与PC机连接通过STK500 标准界面进行程序下载。
b. 学习板实物图片:c. 硬件资源:AT Mega16,A VR 单片机主芯片,内包含有:16K Flash、512Byte EEPROM、1K SRAM。
学习板上CPU 可升级到AT Mega32,以完成更大容量需要。
AT24C02,I2C总线器件,EEPROM数据存储器,256Byte EEPROM。
74HC595,SPI 总线器件,SPI 总线并口扩展器件,8 位移位寄存器。
DS1302,时钟芯片。
RS232,RS232 接口芯片。
8 个输入按键、1 个中断输入按键、1 个复位按键。
4 位动态扫描LED 数码管、8 位LED 发光二极管。
1 个无源蜂鸣器,1 个A/D 输入可调电阻器。
LCD 接口,液晶显示屏接口,可接LCD1602 及LCD12864 液晶屏,LCD 为选配件。
A VR JTAG 仿真接口,A VR ISP 下载接口。
板上集成有STK500 V2.0 版本的A VRISP 下载器d. A VR MEGA16学习板接口说明:(1). 接口说明(2). 跳针(短路块)说明:2. AVR Studio使用环境简介(1). 安装方式:双击安装文件A VR Studio V4.13 b528.exe,见到如下安装界面:图1.2.1 安装界面点击Next,选择I accept the terms of the license agreement 这个选项,继续点击Next。
《MCS51单片机原理及应用》实验指导书唐山学院电工电子实验教学中心年月前言一.单片机原理实验的任务单片机原理实验是单片机原理及应用课程的一部分,它的任务是:1.通过实验进一步了解和掌握单片机原理的基本概念、单片机应用系统的硬件设计及调试方法。
2.学习和掌握单片机应用系统程序设计技术。
3.提高应用计算机的能力及水平,提高逻辑思维及动手能力。
二.实验设备单片机实验所使用的设备由计算机、单片机实验开发系统(见下图0-1),其中计算机是软件开发平台,主要完成程序编辑、编译、下载程序等任务;单片机实验开发系统是硬件开发平台,是基于51/196单片机的扩展实验系统。
计算机和单片机实验开发系统之间是通过RS232串行接口进行通信的。
图0-1 单片机原理实验设备单片机实验开发系统配有开关电源、单片机、晶振、存储器、可编程并行接口芯片、键盘显示控制芯片、24键键盘、六位LED数码管显示、A/D及D/A转换芯片、简单输出口2个、简单输入口1个、逻辑电平输入开关、发光二极管显示电路,并配有小直流电机、步进电机、继电器、音响等驱动电路。
在计算机软件的控制下可完成单片机基本实验及综合设计性实验项目。
所有的MCS51单片机原理及应用课程实验都是在这套实验系统上完成的。
三.对参加实验学生的要求1.阅读实验指导书,复习与实验有关的理论知识,明确实验目的,了解内容和方法。
2.按实验指导书要求进行接线和操作,经检查和指导老师同意后再通电。
3.在实验中注意观察思考,记录有关数据和程序,并由指导教师复查后才能结束实验。
4.实验后应断电并返回WINDOWS下关闭计算机,整理实验台,恢复到实验前的情况。
5.认真写实验报告,按规定格式写出程序流程图、程序、并分析实验结果、完成思考题等。
字迹要清楚,结论要明确。
爱护实验设备,遵守实验室纪律。
*注:本实验指导书适用于MCS51单片机原理及应用A、单片机原理及应用B等课程。
目录第一章MC51单片机原理及应用实验 (3)实验一P1口实验(验证性) (3)实验二外部中断实验(验证性) (5)实验三定时器实验 (7)实验四串行口实验--串并转换实验 (9)实验五数码显示实验 (11)实验六A/D转换实验 (13)实验七数字电子钟实验(综合性) (15)实验八D/A转换实验 (16)实验九简单I/O口扩展实验 (18)实验十步进电机实验 (20)实验十一直流电机实验 (22)实验十二PC机与单片机串行通信实验 (24)实验十三继电器与电子音响实验 (26)实验十四8255可编程并行接口实验 (28)实验十五键盘显示接口实验 (30)第二章单片机开发实验系统及TMSD调试程序 (32)第一节单片机开发实验系统 (32)第二节TMSD源语言调试程序简介 (35)第一章MCS51单片机原理及应用实验实验一P1口实验一.实验目的1.学习P1口的使用方法。
linux下的串⼝通信原理及编程实例linux下的串⼝通信原理及编程实例⼀、串⼝的基本原理1 串⼝通讯串⼝通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进⾏传输数据的⼀种通讯⽅式。
串⼝是⼀种接⼝标准,它规定了接⼝的电⽓标准,没有规定接⼝插件电缆以及使⽤的协议。
2 串⼝通讯的数据格式 ⼀个字符⼀个字符地传输,每个字符⼀位⼀位地传输,并且传输⼀个字符时,总是以“起始位”开始,以“停⽌位”结束,字符之间没有固定的时间间隔要求。
每⼀个字符的前⾯都有⼀位起始位(低电平),字符本⾝由7位数据位组成,接着字符后⾯是⼀位校验位(检验位可以是奇校验、偶校验或⽆校验位),最后是⼀位或⼀位半或⼆位停⽌位,停⽌位后⾯是不定长的空闲位,停⽌位和空闲位都规定为⾼电平。
实际传输时每⼀位的信号宽度与波特率有关,波特率越⾼,宽度越⼩,在进⾏传输之前,双⽅⼀定要使⽤同⼀个波特率设置。
3 通讯⽅式单⼯模式(Simplex Communication)的数据传输是单向的。
通信双⽅中,⼀⽅固定为发送端,⼀⽅则固定为接收端。
信息只能沿⼀个⽅向传输,使⽤⼀根传输线。
半双⼯模式(Half Duplex)通信使⽤同⼀根传输线,既可以发送数据⼜可以接收数据,但不能同时进⾏发送和接收。
数据传输允许数据在两个⽅向上传输,但是,在任何时刻只能由其中的⼀⽅发送数据,另⼀⽅接收数据。
因此半双⼯模式既可以使⽤⼀条数据线,也可以使⽤两条数据线。
半双⼯通信中每端需有⼀个收发切换电⼦开关,通过切换来决定数据向哪个⽅向传输。
因为有切换,所以会产⽣时间延迟,信息传输效率低些。
全双⼯模式(Full Duplex)通信允许数据同时在两个⽅向上传输。
因此,全双⼯通信是两个单⼯通信⽅式的结合,它要求发送设备和接收设备都有独⽴的接收和发送能⼒。
在全双⼯模式中,每⼀端都有发送器和接收器,有两条传输线,信息传输效率⾼。
显然,在其它参数都⼀样的情况下,全双⼯⽐半双⼯传输速度要快,效率要⾼。
物联网平台硬件简要说明书一、硬件框图二、平台资源介绍1、 ARM处理器(网关节点)基于ARM Cortex-A8的高性能处理器架构体系,低功耗、低成本、外设资源丰富,可安装Android 4.0。
频率从 600MHz到1GHz以上NEON SIMD 指令集Thumb-2 指令集编码内置高性能的图形处理器SGX540128 位 SIMD 数据引擎2、 Zigbee模块2.1 CC2530模块(协调器、终端节点)CC2530模块由CC2530芯片模块+底板模块组成(底板模块用于接口扩展)。
CC2530模块中包括一个协调器模块,其他用于终端节点模块。
协调器模块接一个LCD面板,可用于跟踪显示Zigbee建网信息,终端节点接各种传感器。
2.2 传感器模块(1)光敏传感器(2)烟雾传感器(4)温湿度传感器(5)火焰传感器(6)气体传感器(7)热释红传感器(8) 磁通传感器3、RFID 设备模块(1) RFID模块(2) RFID标签4 、蓝牙模块(1)主蓝牙模块(2)从蓝牙模块,可接多种传感器5、CC-Dubug 仿真器,RS232CC-Dubug用于烧写或调试Zigbee 模块,RS232用于zigbee模块与上位机信息交互6、开关选择模块选择特定的zigbee模块烧写程序或与上位机串口通信三、配件方案1 ARM处理器方案一:(1)购买(2)推荐产品:友善之臂Tiny210SDK2+LCD(3)价格:799-1099,不包括配件(4)可选配件:3G上网卡,SD WIFI ,CMOS摄像头,监控摄像头模块,GPRS模块2、 Zigbee模块方案一:CC2530芯片模块管脚间隔与万能板间距一样,底板模块自己定制。
(1)购买CC2530芯片模块,万能板,其他配件(2)推荐产品:鼎泰克电子有限公司出的DRF1605(CC2530芯片模板)(3)价格:协调器模块+LCD+万能板+其他配件终端节点+底板模块传感器方案二 CC2530芯片模块+特定底板模块(1)购买(2)推荐产品:丘捷科技有限公司出品(3)价格:协调器模块+LCD+特定底板模块 260终端节点+底板模块 115传感器 25*73、RFID 设备模块(1)购买(2)推荐产品(3) 价格:1804 、蓝牙模块(1)购买(2)推荐产品大菠萝电子产品连锁商城(3)价格:主蓝牙模块 54从蓝牙模块 545、CC-Dubug 仿真器(1)价格: 586、开关选择模块7、其它接口及外设四、实验开发1 嵌入式linux开发1.1ARM处理器接口试验1.2Linux系统移植试验1.3Linux 驱动开发试验1.4Android 开发2无线通信试验2.1CC2530接口试验2.2基于CC2530传感器实验2.3Zigbee通信协议试验2.4android 下传感器界面开发2.5蓝牙模块开发2.6RFID模块开发3综合实验3.1基于android的物联网管理系统硬件环境:物联网开发平台+ PC主机软件环境:Windows、Linux 操作系统下的android环境项目功能简述:在Windows、Linux 操作系统下编写android物联网管理软件实现对物联网开发平台上传感器信息的采集和对执行单元的控制。
msp430 实验报告MSP430 实验报告引言:MSP430是一款低功耗、高性能的微控制器,广泛应用于嵌入式系统开发领域。
本实验报告将介绍我对MSP430进行的一系列实验,包括基本的GPIO控制、定时器应用、模拟信号采集和通信接口应用等。
实验一:GPIO控制在本实验中,我使用MSP430的GPIO引脚控制LED灯的亮灭。
通过配置引脚的输入/输出模式以及设置引脚电平,我成功地实现了对LED灯的控制。
这为后续实验奠定了基础,也让我更加熟悉了MSP430的寄存器配置。
实验二:定时器应用在本实验中,我探索了MSP430的定时器功能。
通过配置定时器的时钟源和计数模式,我实现了定时器中断功能,并利用定时器中断实现了LED灯的闪烁。
这个实验让我更加深入地了解了MSP430的定时器模块,并学会了如何利用定时器进行时间控制。
实验三:模拟信号采集在本实验中,我使用MSP430的模拟信号输入引脚和模数转换模块,成功地将外部的模拟信号转换为数字信号。
通过配置ADC模块的采样速率和精度,我实现了对模拟信号的准确采集,并将采集到的数据通过串口输出。
这个实验让我对MSP430的模拟信号处理有了更深入的了解。
实验四:通信接口应用在本实验中,我使用MSP430的串口通信模块,实现了与外部设备的数据传输。
通过配置串口的波特率和数据格式,我成功地实现了与计算机的串口通信,并通过串口发送和接收数据。
这个实验让我掌握了MSP430与外部设备进行数据交互的方法。
结论:通过一系列的实验,我对MSP430的基本功能和应用有了更深入的了解。
MSP430作为一款低功耗、高性能的微控制器,具备丰富的外设和强大的处理能力,适用于各种嵌入式系统的开发。
通过学习和实践,我掌握了MSP430的GPIO控制、定时器应用、模拟信号采集和通信接口应用等基本技能,为以后的嵌入式系统开发打下了坚实的基础。
未来展望:MSP430作为一款成熟的微控制器,具备广阔的应用前景。
课程设计报告( 2014 -- 2015年度第二学期)课程名称:DSP课程设计题目:基于DSP实验系统的串口通信院系:电子与通信工程系班级:电子学号:学生姓名:指导教师:设计周数: 2成绩:日期:2015 年7月16日一、课程设计的目的与要求1.设计方案:通过TMS320C5509A的串口与电脑进行通信,利用串口调试助手发送数据,由DSP接收到,DSP读到收到数据进行下一步的让四位LED灯亮,实现数据的通信,并在lcd12864上显示发送的数据,还有显示拨码开关的数值。
2.设计指标:电脑只能发送0~15,因为读出数据的时候比较方便解码,比如发送4就可以直接给LED直接赋值,让第三个灯亮,也就是一般的二进制转换。
二、设计正文1.设计思路(系统组成介绍)串口模块:TL16C550 是一个标准的串口接口芯片,它的控制寄存器基地址为0x400200,寄存器占用TMS320VC5509 的8 个地址单元。
串口中断与TMS320VC5509 的INT0 连接。
用户可以使用TMS320VC5509 的中断0 响应串口中断。
TL16C550 有11 个寄存器,这11 个寄存器是通过TMS320VC5509 的3 个地址线(A3~A1)和线路控制寄存器中的DLAB 位对它们进行寻址的。
板上加上16C550、Max232 和驱动电路。
驱动电路主要完成将输出的0-3.3V 电平转换成异步串口的工作电平,转换电平的工作由MAX232 芯片完成,但由于它是5V 器件,所以它同DSP 间的信号线必须有电平转换,此板采用的是74LVC245。
实验箱上的液晶模块采用的型号是TJDM12864MTJDM12864M 是一款带中文字库的图形点阵模块,由动态驱动方式驱动128×64 点阵显示。
低功耗,供应电电压范围宽。
内含多功能的指令集,操作简易。
采用COB 工艺制作,结构稳固,使用寿命长。
特性:1.提供 8 位,4 位及串行接口可选2.64×16 位字符显示 RAM(DDRAM 最多 16 字符×4 行,LCD 显示范围 16×2 行)3.2M 位中文字型 ROM(CGROM),总共提供 8192 个中文字型(16×16 点阵)4.16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(16×8 点阵)5.64×16 位字符产生 RAM(CGRAM)6.15×16 位总共 240 点的 ICON RAM(ICONRAM)7.自动复位(RESET)功能8.绘图及文字画面混合显示功能9.提供多功能指令:——画面清除(display clear)——游标归位(return home)——显示开/关(display on/off)——游标显示/隐藏(cursor on/off)——字符闪烁(display character blink)——游标移位(cursor shift)——显示移位(display shift)——垂直画面旋转(vertical line scoll)——反白显示(By-line reverse display)——睡眠模式(sleep mode)DSP与LCD的连接:3.软件设计流程:4.在试验箱上模拟实现用随实验箱附带的串口线(两端均为9 孔“D”形插头)连接计算机com1 或com2 插座和ICETEK–VC5509-A 板上标准RS-232 插座,编译、下载、运行。
.51系列单片机原理与应用实验华南师范大学物理与工程工程学院微机教研室20010年9月目录实验须知 (2)实验一数字量输入输出实验 (4)实验二交通灯控制实验 (6)实验三定时与中断实验 (8)实验四串行通信实验 (11)实验五串行A/D转换实验 (13)实验六现实人体视觉暂留特性测试实验 (14)实验七实时时钟制作实验 (17)实验八简易电子琴制作实验 (18)实验九 EEPROM应用—数字密码锁 (20)实验十综合实验:教学板自检程序设计 (25)实验十一数据采集—火灾报警装置的软硬件设计 (26)附录一实验教学板 (27)附录二实验用软件使用说明 (28)实验须知一、预习要求1.实验前认真阅读实验指导书的相关内容,明确实验目的和实验任务。
2.实验前应做好预习报告,在报告中,要求画出所设计的实验电路原理图、程序流程图,编写好程序,并对程序加以注释,还要拟订好实验步骤。
二、实验要求1.按实验中心安排的时间到指定实验室上实验课,不要迟到、缺席。
有特殊原因不能在原安排时间来实验时,须提前一天通知实验中心负责教师。
2.认真完成每次实验的各项任务,实验结果要请指导教师检查。
教师对实验内容提问,并对完成者进行记录。
3.爱护设备,保持清洁,不得在实验室内大声喧哗,不要将食物带入实验室,不擅自更换设备。
4.在实验箱(板)通电状态下,不要用手随意触摸电路板上除按键和开关以外的芯片等其它元器件。
,严禁带电操作,即所有接线、改线和拆线操作均应在不带电的状态下进行。
5.实验中若发生异常情况应立即切断电源,并向指导教师报告,检查原因,避免再次发生类似情况。
6.实验完毕,请整理好实验设备后再离开实验室。
三、实验报告要求实验报告必须使用实验报告专用纸,书写要工整、清楚,并在下一次实验时交给指导教师。
实验报告应包括以下内容:1.实验名称、实验人姓名、学号、班级、同组人姓名。
2.实验目的、任务(内容)。
3.各任务程序流程图、自编程序清单,对程序须给出适量注释(例如:变量和某些寄存器的作用,关键程序段的功能等)。
第1篇一、实验背景随着科技的不断发展,嵌入式系统在各个领域得到了广泛的应用。
嵌入式系统是指将计算机技术应用于特定场合,以实现特定功能的计算机系统。
它具有体积小、功耗低、成本低等特点,是现代电子设备中不可或缺的部分。
为了让学生更好地掌握嵌入式系统的基础知识和实践能力,本实验课程旨在通过一系列实验,使学生了解嵌入式系统的基本原理和开发方法。
二、实验目的1. 理解嵌入式系统的基本概念和组成。
2. 掌握嵌入式系统硬件平台的基本操作。
3. 熟悉嵌入式软件开发流程,包括编程、调试和部署。
4. 培养学生的实际操作能力和创新意识。
三、实验原理1. 嵌入式系统概述嵌入式系统是指将计算机技术应用于特定场合,以实现特定功能的计算机系统。
它通常由硬件和软件两部分组成。
硬件主要包括微处理器、存储器、输入/输出接口等;软件则包括操作系统、驱动程序、应用程序等。
2. 嵌入式系统硬件平台嵌入式系统硬件平台是嵌入式系统的物理基础,主要包括以下几部分:(1)微处理器:嵌入式系统的核心,负责执行指令和处理数据。
(2)存储器:包括ROM(只读存储器)、RAM(随机存储器)和Flash存储器等,用于存储程序和数据。
(3)输入/输出接口:用于实现嵌入式系统与外部设备之间的数据交换。
(4)外设:如显示器、键盘、鼠标、传感器等,用于实现人机交互。
3. 嵌入式软件开发嵌入式软件开发主要包括以下几个阶段:(1)需求分析:明确嵌入式系统的功能需求和性能指标。
(2)硬件选型:根据需求选择合适的硬件平台。
(3)软件开发:包括操作系统、驱动程序和应用程序的开发。
(4)编译与调试:将源代码编译成可执行文件,并在开发环境中进行调试。
(5)部署:将编译后的程序部署到嵌入式系统中。
4. 嵌入式系统调试嵌入式系统调试是软件开发过程中的重要环节,主要包括以下几种方法:(1)代码调试:通过设置断点、单步执行等方式,观察程序执行过程。
(2)逻辑调试:通过打印语句或调试工具,观察程序执行过程中的变量值和程序流程。
第1篇一、实验目的1. 理解串行静态显示的原理。
2. 掌握串行静态显示的实现方法。
3. 通过实验验证串行静态显示的可行性。
二、实验原理串行静态显示是指通过串行接口向显示模块发送数据,使得显示模块显示相应的信息。
其原理是将需要显示的字符或数字转换成相应的编码,通过串行接口发送到显示模块,由显示模块将接收到的数据显示出来。
三、实验设备1. 电脑一台2. 串行通信模块(如:MAX232)3. 显示模块(如:LCD1602)4. 连接线若干5. 电源四、实验步骤1. 连接设备(1)将电脑的串口与串行通信模块的RXD、TXD、GND引脚连接。
(2)将串行通信模块的VCC引脚连接到电源的正极,GND引脚连接到电源的负极。
(3)将显示模块的RS、RW、EN、DB0-DB7引脚与串行通信模块的相应引脚连接。
2. 编写程序(1)选择合适的编程语言(如:C语言)。
(2)编写程序,实现以下功能:a. 初始化串口参数,如波特率、数据位、停止位、校验位等。
b. 将需要显示的字符或数字转换为相应的编码。
c. 通过串口发送编码到显示模块。
d. 显示模块接收到数据后,将数据显示出来。
3. 运行程序(1)将程序编译并生成可执行文件。
(2)运行程序,观察显示模块是否正常显示信息。
4. 结果分析(1)若显示模块正常显示信息,则实验成功。
(2)若显示模块显示信息不正确或无显示,则检查程序代码和硬件连接,找出问题所在并解决。
五、实验总结1. 通过本次实验,掌握了串行静态显示的原理和实现方法。
2. 在实验过程中,遇到了一些问题,如程序代码错误、硬件连接错误等。
通过查阅资料、分析问题,最终成功解决了这些问题。
3. 本次实验有助于提高自己的动手能力和解决问题的能力。
六、实验报告实验名称:串行静态显示实验实验日期:____年__月__日实验地点:____实验室实验人:____实验设备:电脑、串行通信模块、显示模块、连线、电源实验步骤:连接设备、编写程序、运行程序、结果分析实验结果:显示模块正常显示信息实验总结:掌握了串行静态显示的原理和实现方法,提高了自己的动手能力和解决问题的能力。
目录实验一跑马灯实验 (1)实验二按键输入实验 (3)实验三串口实验 (5)实验四外部中断实验 (8)实验五独立看门狗实验 (11)实验七定时器中断实验 (13)实验十三ADC实验 (15)实验十五DMA实验 (17)实验十六I2C 实验 (21)实验十七SPI 实验 (24)实验二十一红外遥控实验 (27)实验二十二DS18B20实验 (30)1 / 32'.实验一跑马灯实验一.实验简介我的第一个实验,跑马灯实验。
二.实验目的掌握STM32 开发环境,掌握从无到有的构建工程。
三.实验内容熟悉MDK KEIL 开发环境,构建基于固件库的工程,编写代码实现跑马灯工程。
通过ISP 下载代码到实验板,查看运行结果。
使用JLINK 下载代码到目标板,查看运行结果,使用JLINK 在线调试。
四.实验设备硬件部分:PC计算机(宿主机)、亮点STM32实验板、JLINK。
软件部分:PC机WINDOWS系统、MDK KEIL软件、ISP软件。
五.实验步骤1.熟悉MDK KEIL 开发环境2.熟悉串口编程软件ISP3.查看固件库结构和文件4.建立工程目录,复制库文件5.建立和配置工程6. 编写代码7. 编译代码8.使用ISP下载到实验板9.测试运行结果10.使用JLINK 下载到实验板11.单步调试12. 记录实验过程,撰写实验报告六.实验结果及测试源代码:int main(void}<5tm32_Clock_IniC (9); /,耒红对甘去置delay^init (72 >; "延吋初始<tLED Tnit:C>;"初维花与LED连接的硬伴接口while tl){匚EDO=O;匸ED1=1;de .lay ms (300 J ;LEDO=1;LEDL-0;delay ms(3"0^;两个灯LEDO与LED1实现交替闪烁的类跑马灯效果,每300ms闪烁一次。
一、实习背景随着科技的不断发展,微控制器(Microcontroller Unit,MCU)作为一种重要的嵌入式系统核心组件,广泛应用于工业控制、智能家居、汽车电子等领域。
为了提高学生的实践能力和工程素养,我们学校特开设了微控制器实训课程。
本次实训旨在通过实际操作,使学生掌握微控制器的原理、编程和应用。
二、实习目的1. 理解微控制器的结构和工作原理;2. 掌握C语言编程在微控制器上的应用;3. 学会使用开发工具和调试工具;4. 提高学生的动手能力和团队协作精神。
三、实习内容1. 微控制器基础(1)微控制器的结构:CPU、存储器、I/O端口、定时器/计数器、中断系统等;(2)微控制器的工作原理:程序存储、指令执行、数据存储、输入输出等;(3)常用微控制器型号及特点。
2. C语言编程(1)C语言基本语法和编程规范;(2)指针、数组、结构体等数据结构;(3)函数、模块化编程;(4)中断编程、定时器编程等。
3. 开发工具与调试工具(1)Keil MDK、IAR EWARM等集成开发环境;(2)Proteus、Altium Designer等仿真软件;(3)ST-Link、JTAG等调试工具。
4. 实验项目(1)LED闪烁实验:实现LED灯闪烁,掌握基本I/O操作;(2)按键控制LED实验:实现按键控制LED灯的亮灭,掌握按键输入;(3)定时器实验:实现定时器功能,掌握定时器编程;(4)中断实验:实现中断功能,掌握中断编程;(5)串口通信实验:实现串口通信,掌握串口编程。
四、实习过程1. 教师讲解:教师详细讲解微控制器的原理、编程和应用,使学生了解相关知识;2. 实验操作:学生按照实验指导书进行操作,动手实践;3. 交流讨论:学生之间、师生之间进行交流讨论,解决实验过程中遇到的问题;4. 实验报告:学生完成实验报告,总结实验过程和心得体会。
五、实习成果1. 学生掌握了微控制器的原理、编程和应用;2. 学会了使用开发工具和调试工具;3. 提高了学生的动手能力和团队协作精神;4. 实验项目顺利完成,达到了预期目标。
组态王软件与单片机串口ascii通讯的机制及实现方法作者:姜宝申组态软件广泛的应用于工农业生产的各个领域,是保证相关系统设备经济稳定安全运行的重要方式,是对传统控制方式的一次革命,得到了越来越广泛的应用。
很多工控及电子爱好者对这方面很感兴趣,都跃跃欲试,可苦于软件要想得到实际效果,就得连接设备,通过设备预设的寄存器与软件的变量进行连接,辅以命令语言,才能取得真正的体验。
软件支持的设备比如板卡、数字仪表、PLC、变频器等等都是属于工控设备,价格都比较昂贵,一般很难触及。
那是不是组态软件就不适合于我们用了呢,也不一定,比如国产的组态王组态软件支持单片机串口ascii 通讯,烧写了相应程序的单片机也可以当做组态软件的设备,和其他设备一样,也能完成诸如水位、行程等状态的监视及电机、阀门、灯泡、加热器等的启动停止,开与关,以及模拟量经AD转换后,通过串口以ascii码的形式传送给组态软件,只是这些功能的实现是依靠单片机的端口来完成,组态软件访问单片机,监视单片机所有端口状态,控制一部分端口的高低电平状态,辅以外部电气回路,同样能实现相应的功能。
例如:组态软件通过串口发送指令,控制单片机的某个输出端口的电平高低变化,端口通过驱动使继电器的触点闭合,电机转动,假如这个电机是带动水泵往水箱里面打水,水箱水位的预定位置装有触点,这个触点连接在单片机的另一个输入端口上,当水位到达触点位置,触点动作单片机的这个端口电平发生变化,这个变化通过同一个串口传回给组态软件,组态软件可以根据命令语言编写的程序酌情是自动还是手动停止电机运行,或者是调整电机的转速,保证水箱的水位在预设的范围内,这就是组态软件构成的控制系统的最基本应用。
图1相对而言,用单片机与组态软件实现的控制系统要比其他成品设备的组态稍微麻烦一些,不但需要了解掌握组态软件的工作机制,还需要单片机的软硬件及电路方面的知识,这里边的重点就是单片机的汇编或c语言编程,但掌握了组态软件的通讯协议,按协议编写,比较起来并不是很难。
目录实验一系统认识实验 (2)实验二端口I/O输入输出实验 (14)实验三外部中断实验 (17)实验四定时器实验 (21)实验五串行口通信实验 (25)实验六串行通信的调试实验 (29)实验七数码管静态显示实验 (33)实验八数码管动态显示实验 (38)实验一系统认识实验一、实验目的1.学习Keil C51编译环境的使用;2.学习STC单片机的下载软件STC-ISP的使用;3.掌握51单片机输出端口的使用方法。
二、实验内容任选单片机的一组I/O端口,连接LED发光二极管,编写程序实现8个LED按二进制加1点亮。
三、接线方案单片机P10~P17/C51单片机接L0~L7/LED显示,如下图:图1-1实验线路四、实验原理51单片机有4个8位的并行I/O端口:P0、P1、P2、P3,在不扩展存储器、I/O端口,在不使用定时器、中断、串行口时,4个并行端口,32根口线均可用作输入或输出。
作为输出时,除P0口要加上拉电阻外,其余端口与一般的并行输出接口用法相同,但作为输入端口时,必须先向该端口写“1”。
例如P0接有一个输入设备,从P0口输入数据至累加器A中,程序为:MOV P0, #0FFHMOV A, P0若将P0.0位的数据传送至C中,程序为:SETB P0.0MOV C, P0.0五、实验步骤1、连接串行通信电缆和电源线;2、根据图1-1实验线路进行电路连接;3、将C51单片机核心板上的三个开关分别拨到“独立”、“运行”“单片机”;4、打开实验箱上的电源开关。
5、利用Keil C51创建实验程序,并进行编译生成后缀为.HEX的文件;6、利用STC-ISP软件将后缀为.HEX的文件下载到单片机ROM中;7、观察实验现象,并记录。
若实验现象有误请重复第5、6步。
六、参考程序ORG 0000H ;程序的开始LJMP MAIN ;转入主程序ORG 0200H ;主程序的开始MAIN: MOV P1,#00H ;P1口做准备M1: INC P1 ;P1口连接输出计数,LCALL DELAY ;转入延时子程序LJMP M1 ;循环DELAY: MOV R5,#255 ;延时子程序D1: MOV R6,#255DJNZ R6,$DJNZ R5,D1RETEND ;程序体结束七、思考题1、利用其他I/O口实现LED加1点亮功能;2、利用P1端口实现流水灯(左移或右移)功能;3、实现LED其他点亮功能。
STM32串⼝通讯实现——USB转串⼝⼀、RS232,TTL简介RS232是个⼈计算机的通讯接⼝之⼀,⼀般会有两组RS323接⼝,分别为COM1和COM2,电平标准为+12V为逻辑负,-12为逻辑正。
TTL电平为5V为逻辑正,0为逻辑负,这样的数据通信及电平规定⽅式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。
这是计算机处理器控制的设备内部各部分之间通信的标准技术。
⼆、串⼝通讯原理了解了RS232和TTL两种通信标准后,就可以开始了解串⼝通信USART了。
UART :通⽤异步收发传输器,它将要传输的资料在串⾏通信与并⾏通信之间加以转换。
作为把并⾏输⼊信号转成串⾏输出信号的芯⽚。
同样它是串⾏通信接⼝ UART只有数据线收和发,并⽆时钟线,故为异步串⾏通信接⼝,可以实现全双⼯传输和接收;在嵌⼊式中,常⽤与上位机与外设通信。
串⼝通信的概念⾮常简单,串⼝按位发送和接收字节。
尽管⽐按字节的并⾏通信慢,但是串⼝可以在使⽤⼀根线发送数据的同时⽤另⼀根线接收数据。
它很简单并且能够实现远距离通信。
⼀般来说有3种串⼝通讯⽅式。
1. 两设备通过232标准通讯⽤控制器发出TTL电平,然后经过电平转换芯⽚转换为RS232电平,然后通过D89接⼝进⾏通讯2. ⽤USB转串⼝进⾏通讯⽤控制器发出TTL电平,然后经过电平转换芯⽚转换,然后通过USB接⼝和USB转串⼝进⾏通讯,需要安装CH340驱动。
本博客就主要针对这种⽅式进⾏串⼝通讯。
3. TTL电平之间直接通讯不需要控制器和转换芯⽚,直接使⽤TTL电平进⾏通讯。
三、⽣成⽂件1.建⽴⼯程打开Keil5软件,新建⼀个⼯程,然后添加⼀个.s⽂件,点击魔法棒选择Output选项,勾选Creat Hex File。
2.输⼊代码在.s⽂件当中输⼊以下代码,代码是在别⼈的博客当中复制的。
;RCC寄存器地址映像RCC_BASE EQU 0x40021000RCC_CR EQU(RCC_BASE +0x00)RCC_CFGR EQU(RCC_BASE +0x04)RCC_CIR EQU(RCC_BASE +0x08)RCC_APB2RSTR EQU(RCC_BASE +0x0C)RCC_APB1RSTR EQU(RCC_BASE +0x10)RCC_AHBENR EQU(RCC_BASE +0x14)RCC_APB2ENR EQU(RCC_BASE +0x18)RCC_APB1ENR EQU(RCC_BASE +0x1C)RCC_BDCR EQU(RCC_BASE +0x20)RCC_CSR EQU(RCC_BASE +0x24);AFIO寄存器地址映像AFIO_BASE EQU 0x40010000AFIO_EVCR EQU(AFIO_BASE +0x00)AFIO_MAPR EQU(AFIO_BASE +0x04)AFIO_EXTICR1 EQU(AFIO_BASE +0x08)AFIO_EXTICR2 EQU(AFIO_BASE +0x0C)AFIO_EXTICR3 EQU(AFIO_BASE +0x10)AFIO_EXTICR4 EQU(AFIO_BASE +0x14);GPIOA寄存器地址映像GPIOA_BASE EQU 0x40010800GPIOA_CRL EQU(GPIOA_BASE +0x00)GPIOA_CRH EQU(GPIOA_BASE +0x04) GPIOA_IDR EQU(GPIOA_BASE +0x08)GPIOA_ODR EQU(GPIOA_BASE +0x0C) GPIOA_BSRR EQU(GPIOA_BASE +0x10) GPIOA_BRR EQU(GPIOA_BASE +0x14) GPIOA_LCKR EQU(GPIOA_BASE +0x18);GPIO C⼝控制GPIOC_BASE EQU 0x40011000GPIOC_CRL EQU(GPIOC_BASE +0x00) GPIOC_CRH EQU(GPIOC_BASE +0x04) GPIOC_IDR EQU(GPIOC_BASE +0x08)GPIOC_ODR EQU(GPIOC_BASE +0x0C) GPIOC_BSRR EQU(GPIOC_BASE +0x10) GPIOC_BRR EQU(GPIOC_BASE +0x14) GPIOC_LCKR EQU(GPIOC_BASE +0x18);串⼝1控制USART1_BASE EQU 0x40013800USART1_SR EQU(USART1_BASE +0x00) USART1_DR EQU(USART1_BASE +0x04) USART1_BRR EQU(USART1_BASE +0x08) USART1_CR1 EQU(USART1_BASE +0x0c) USART1_CR2 EQU(USART1_BASE +0x10) USART1_CR3 EQU(USART1_BASE +0x14) USART1_GTPR EQU(USART1_BASE +0x18);NVIC寄存器地址NVIC_BASE EQU 0xE000E000NVIC_SETEN EQU(NVIC_BASE +0x0010);SETENA寄存器阵列的起始地址NVIC_IRQPRI EQU(NVIC_BASE +0x0400);中断优先级寄存器阵列的起始地址NVIC_VECTTBL EQU(NVIC_BASE +0x0D08);向量表偏移寄存器的地址NVIC_AIRCR EQU(NVIC_BASE +0x0D0C);应⽤程序中断及复位控制寄存器的地址SETENA0 EQU 0xE000E100SETENA1 EQU 0xE000E104;SysTick寄存器地址SysTick_BASE EQU 0xE000E010SYSTICKCSR EQU(SysTick_BASE +0x00) SYSTICKRVR EQU(SysTick_BASE +0x04);FLASH缓冲寄存器地址映像FLASH_ACR EQU 0x40022000;SCB_BASE EQU(SCS_BASE +0x0D00)MSP_TOP EQU 0x20005000;主堆栈起始值PSP_TOP EQU 0x20004E00;进程堆栈起始值BitAlias_BASE EQU 0x22000000;位带别名区起始地址Flag1 EQU 0x20000200b_flas EQU(BitAlias_BASE +(0x200*32)+(0*4)) ;位地址b_05s EQU(BitAlias_BASE +(0x200*32)+(1*4))DlyI EQU 0x20000204DlyJ EQU 0x20000208DlyK EQU 0x2000020CSysTim EQU 0x20000210;常数定义Bit0 EQU 0x00000001Bit1 EQU 0x00000002Bit2 EQU 0x00000004Bit3 EQU 0x00000008Bit4 EQU 0x00000010Bit5 EQU 0x00000020Bit6 EQU 0x00000040Bit7 EQU 0x00000080Bit8 EQU 0x00000100Bit9 EQU 0x00000200Bit10 EQU 0x00000400Bit11 EQU 0x00000800Bit12 EQU 0x00001000Bit13 EQU 0x00002000Bit14 EQU 0x00004000Bit15 EQU 0x00008000Bit16 EQU 0x00010000Bit17 EQU 0x00020000Bit18 EQU 0x00040000Bit19 EQU 0x00080000Bit20 EQU 0x00100000Bit21 EQU 0x00200000Bit22 EQU 0x00400000Bit23 EQU 0x00800000Bit24 EQU 0x01000000Bit25 EQU 0x02000000Bit26 EQU 0x04000000Bit27 EQU 0x08000000Bit28 EQU 0x10000000Bit29 EQU 0x20000000Bit30 EQU 0x40000000Bit31 EQU 0x80000000;向量表AREA RESET, DATA, READONLYDCD MSP_TOP ;初始化主堆栈DCD Start ;复位向量DCD NMI_Handler ;NMI HandlerDCD HardFault_Handler ;Hard Fault Handler DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD 0DCD SysTick_Handler ;SysTick HandlerSPACE 20;预留空间20字节;代码段AREA |.text|, CODE, READONLY;主程序开始ENTRY;指⽰程序从这⾥开始执⾏Start;时钟系统设置ldr r0,=RCC_CRldr r1,[r0]orr r1, #Bit16str r1,[r0];开启外部晶振使能;启动外部8M晶振ClkOkldr r1,[r0]ands r1, #Bit17beq ClkOk;等待外部晶振就绪ldr r1,[r0]orr r1,#Bit17str r1,[r0];FLASH缓冲器ldr r0,=FLASH_ACRmov r1, #0x00000032str r1,[r0];设置PLL锁相环倍率为7,HSE输⼊不分频ldr r0,=RCC_CFGRldr r1,[r0]orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14) orr r1, #Bit10str r1,[r0];启动PLL锁相环ldr r0,=RCC_CRldr r1,[r0]orr r1, #Bit24str r1,[r0]PllOkldr r1,[r0]ands r1, #Bit25beq PllOk;选择PLL时钟作为系统时钟ldr r0,=RCC_CFGRldr r1,[r0]orr r1, #(Bit18 :OR: Bit19 :OR: Bit20 :OR: Bit16 :OR: Bit14) orr r1, #Bit10orr r1, #Bit1str r1,[r0];其它RCC相关设置ldr r0,=RCC_APB2ENRmov r1, #(Bit14 :OR: Bit4 :OR: Bit2)str r1,[r0];IO端⼝设置ldr r0,=GPIOC_CRLldr r1,[r0]orr r1, #(Bit28 :OR: Bit29);PC.7输出模式,最⼤速度50MHz;PC.7通⽤推挽输出模式str r1,[r0];PA9串⼝0发射脚ldr r0,=GPIOA_CRHldr r1,[r0]orr r1, #(Bit4 :OR: Bit5);PA.9输出模式,最⼤速度50MHzorr r1, #Bit7and r1, #~Bit6;10:复⽤功能推挽输出模式str r1,[r0]ldr r0,=USART1_BRRmov r1, #0x271str r1,[r0];配置波特率->115200ldr r0,=USART1_CR1mov r1, #0x200cstr r1,[r0];USART模块总使能发送与接收使能;710200002c 200000;AFIO 参数设置;Systick 参数设置ldr r0,=SYSTICKRVR;Systick装初值mov r1, #9000str r1,[r0]ldr r0,=SYSTICKCSR;设定,启动Systickmov r1, #0x03str r1,[r0];NVIC;ldr r0,=SETENA0;mov r1,0x00800000;str r1,[r0];ldr r0,=SETENA1;mov r1, #0x00000100;str r1,[r0];切换成⽤户级线程序模式ldr r0,=PSP_TOP;初始化线程堆栈msr psp, r0mov r0, #3msr control, r0;初始化SRAM寄存器mov r1, #0ldr r0,=Flag1str r1,[r0]ldr r0,=DlyIstr r1,[r0]ldr r0,=DlyJstr r1,[r0]ldr r0,=DlyKstr r1,[r0]ldr r0,=SysTimstr r1,[r0]mainldr r0,=Flag1ldr r1,[r0]tst r1, #Bit1;SysTick产⽣0.5s,置位bit 1beq main ;0.5s标志还没有置位;0.5s标志已经置位ldr r0,=b_05s;位带操作清零0.5s标志mov r1, #0str r1,[r0]bl LedFlasmov r0, #'H'bl send_a_charmov r0, #'e'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'o'bl send_a_charmov r0, #' 'bl send_a_charmov r0, #'w'bl send_a_charmov r0, #'o'bl send_a_charmov r0, #'r'bl send_a_charmov r0, #'l'bl send_a_charmov r0, #'d'bl send_a_charmov r0, #'\n'bl send_a_charb main;⼦程序串⼝1发送⼀个字符send_a_charpush {r0 - r3}ldr r2,=USART1_DRstr r0,[r2]b1ldr r2,=USART1_SRldr r2,[r2]tst r2, #0x40;发送完成(Transmission complete)等待pop {r0 - r3}bx lr;⼦程序 led闪烁LedFlaspush {r0 - r3}ldr r0,=Flag1ldr r1,[r0]tst r1, #Bit0;bit0 闪烁标志位beq ONLED ;为0打开led灯;为1关闭led灯ldr r0,=b_flasmov r1, #0str r1,[r0];闪烁标志位置为0,下⼀状态为打开灯;PC.7输出0ldr r0,=GPIOC_BRRldr r1,[r0]orr r1, #Bit7str r1,[r0]b LedExONLED;为0打开led灯ldr r0,=b_flasmov r1, #1str r1,[r0];闪烁标志位置为1,下⼀状态为关闭灯;PC.7输出1ldr r0,=GPIOC_BSRRldr r1,[r0]orr r1, #Bit7str r1,[r0]LedExpop {r0 - r3}bx lr;异常程序NMI_Handlerbx lrHardFault_Handlerbx lrSysTick_Handlerldr r0,=SysTimldr r1,[r0]add r1, #1str r1,[r0]cmp r1, #500bcc TickExitmov r1, #0str r1,[r0]ldr r0,=b_05s;⼤于等于500次清零时钟滴答计数器设置0.5s标志位;位带操作置1mov r1, #1str r1,[r0]TickExitbx lrALIGN;通过⽤零或空指令NOP填充,来使当前位置与⼀个指定的边界对齐END3.⽣成.hex⽂件输⼊代码编译后就会在⼯程⽬录下⽣成⼀个.hex⽂件四、烧录程序打开mcuisp软件,然后选择⽣成的.hex⽂件进⾏烧录,记得进⾏设置,如图所⽰五、运⾏调试烧录完成后复位,打开串⼝调试助⼿,找到⽣成的.hex⽂件,然后将参数设置好,因为都是默认的,所以这⾥不需要设置,然后点击打开串⼝就完成了六、波形观测同样的,我们可以通过Keil5进⾏仿真,⽤逻辑分析仪观测波形,不需要接⼊硬件。
姓名:彭嘉乔 学号:3130104084
日期:2015.05 地点: ___________
指导老师:弓 ________________ 成绩:
实验类型: 同组学生姓名:吴越 、实验内容和原理(必 填) 四、操作方法和实验步骤
六、实验结果与分析(必 填)
七、讨论、心得
一、实验目的 1、掌握80C51串行口工作方式选择、理解串行口四种通讯模式的区别、波特率发生器的作用及通讯过程屮的时 序关系。 2、 掌握串口初始化的设置方法和串行通信编程的能力。 3、 了解PC机通讯的基本要求,掌握上位机和下位机的通讯方法。 4、 编写简单的通信协议(如串行口工作方式、波特率、校验方式、出错处理等)
二、 实验器材 1、 Micetek仿真器一台。 2、 实验板一块。 3、 PC机电脑一台。 4、 九针串口线一条。
別f尹丿占实验报告 课程名称:彳 — 实验名称:实验四 串口通信实验 、实验目的和要求(必 填)
三、主要仪器设备(必 填) 五、实验数据记录和处理 三、 实验原理 串口通讯对单片机而言意义重大,不但可以实现将单片机(下位机)的数据传输到PC端(上位机), 便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是 RS232电平的,而单片机的
串口是TTL电平的,两者Z间必须有一个电平转换电路,本实验采用专用芯片 也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。 3. 1 RS232九针串口基本功能简介
九针串口即RS-232接口,是个人计算机上的通讯接口之一,由电子工业协会 Industries Association , EIA)所制定的异步传输标准接口。通常RS-232接口以9个引脚(DB-9)或是25个引脚(DB-25) 的型态出现,一般个人计算机上会有两组 RS-232接口,分别称为COM1和COM2。该接口分
为公头子和母头子。九针串口(母头)的功能如下,请见图 1 :
9 / \ 6
Ov 3v Ov Ov
图1 RS232九针串口母头功能说明 分别为1 :载波检测 (DCD) ; 2 :接收数据(RXD) ; 3 :发送数据(TXD) : 4 :数据终端准备 好(DTR) ; 5 :信号地(GND) ; 6 :数据准备好(DSR) ; 7 :发送请求(RTS) ; 8 :发送清除(CTS) ; 9 :振铃 指示(RI)接法。 本实验采用三线制连接串口,也就是说和电脑的 9针串口只需连接其屮的3根线:第5脚的GND、 第2脚的RXD、第3脚的TXD。这是最简单的连接方法, 但是已满足本实验硬件需求, 电路如图2所示, MAX232的第11脚和单片机的11脚连接,通过MAX232芯片的电平转换,将T1OUT输出连接板子上9针串口(母头)
MAX232进行转换,虽然 (Electronic 第2脚的RXD ;板子上9针串口(母头)第3脚的TXD与\IAX232芯片的第13脚相
连,通过RS232电平转换为TTL电平后,将\IAX232芯片的第12脚和单片机的10脚连接,同时9针 串口第5脚的GND与单片机的第20脚GND连接。图2剧所融既迪讯接另隔蕙图 3.2串口助手软件 串口调试助手3.0版是WMD工作室最新研发的智能调试工具,是不折不扣的“串口助手”。 串口调试助手3.0版可以实现的功能包括发送接收 16进制数、字符串、传输文件、搜索出空闲串口 ■ k 等,此外,还可以搜索用户自定殛置其他的项目。
串口调试助手为绿色软件,下载后只需要复制到硬盘上的指定目录屮即安装完成。
四、实验要求 1、 要求单片机串行口选择模式1,并设定合适的波特率。 2、 选用定时器T1为波特率发生器,晶振为6M。 3、 要求每隔1000ms由上位机向下位机发送一个字节, 同时把下位机接收到的数值显示在 30H开始 的RAM屮,并将接收到的数值返回到上位机,并显示在信息窗口中。
五、程序源代码及注释 ORG OOOOH AJMP MAIN ORG 0030H MAIN:
MOV TMOD, #20H 设定时器/计数器T1为定时器方式2
MOV SCON, #50H 置串行口方式1、接收 MOV TL1,#OFAH 置T1定时常数(串行口波特率为2604 ) MOV TH1,#OFAH MOV RO, #30H存储地址 SETB TRI启动定时器 SETB EA允许屮断 CLR ES不允许串行口屮断 MOV PCON, #00H 波特率不倍增
CLR TI CLR RI
WAIT1:接收 JNB RI, WAIT1 CLR RI MOV A, SBUF MOV ©RO, A MOV SBUF, A 发送 WAIT2: JNB TI, WAIT2 WAIT1: 004B 3098FD JNB RI,WAIT1
CLR TI INC RO SJMP WAIT1
六、实验程序LST文件 ORG 0000H 0000 0130 AJ\1P MAIN ORG 0030H MAIN: 0030 758920 MOV TMOD, #20H 0033 759850 MOV SCON, #50H 0036 758BFA MOV TL1, #OFAH 0039 758DFA MOV TH1, #OFAH 003C 7830 MOV RO,#30H 003E D28E SETB TRI 0040 D2AF SETB EA 0042 C2AC CLR ES 0044 758700 MOV PCON, #00H 0047 C299 CLR TI 0049 C298 CLR RI 004E C298 CLR RI 0050 E599 MOV A, SBUF 0052 F6 MOV ©RO, A
0053 F599 MOV SBUF,A WAIT2: 0055 3099FD JNB TI,WAIT2 0058 C299 CLR TI 005A 08 INC RO 005B 80EE SJMP WAIT1
符号值类型 AC 二 00D6H CONST 常量
ACC 二 OOEOH CONST 常量 常量 B 二 OOFOH CONST
CY 二 00D7H CONST 常量
常量 DPH 二 0083H CONST
DPL 二 0082H CONST 常量
常量 EA 二 OOAFH CONST
常量 ES 二 OOACH CONST
ETO 二 00A9H CONST 常量
常量 ET1 二 OOABH CONST
EXO 二 00A8H CONST 常量 EXI 二 OOAAH CONST 常量 常量 Fl OOD1H CONST
fE 00A8H CONST 常量
IEO =0089H CONST 常量
IE1 = 008BH CONST 常量 IP _ 00B8H CONST 常量
ITO =0088H CONST 常量
IT1= 008AH CONST 常量
MAIN 二 0030H CODE 标号
OV 二 00D2H CONST 常量
P 二OODOH CONST 常量 PO 二 0080H CONST 常量
Pl 二 0090H CONST 常量
P2 二 00A0H CONST 常量 P3 二 OOBOH CONST 常量 PCON = 0087H CONST 常量 PS = OOBCH CONST 常量 PSW 二 OODOH CONST 常量 PTO 二 00B9H CONST
常量
PT1 _ OOBBH CONST 常量
常量 PXO 00B8H CONST
PX1 OOBAH CONST 常量 RB8 二 009AH CONST 常量
RI 二 0098H CONST 常量 RSO二 常量 00D3H CONST
常量 RS1 二 00D4H CONST
SBUF 二 0099H CONST 常量
SCON 常量 =0098H CONST
SMO 二 009FH CONST 常量
常量 SMI 二 009EH CONST
常量 SM2 二 009DH CONST
常量 SP 二 0081H CONST
TB8 二 009BH CONST 常量
常量 TCON 二 0088H CONST
常量 TFO 二 008DH CONST
TF1 二 008FH CONST 常量
常量 TH0 二 008CH CONST
TH1 二 008DH CONST 常量
TI 二 0099H CONST 常量 常量 TLO 二 008AH CONST
TL1 二 008BH CONST 常量
REN = 009CH CONST 常量