当前位置:首页 > 单片机 > 单片机
[导读] 引 言 单片机在数据采集与控制、智能仪表中发挥重要的作用。单片机应用系统与后端上位机系统之间通讯进行数据交换,构成功能强大的测控系统是目前发展的趋势。 NEC公司生产的μPD78045F是7

  引  言

       单片机在数据采集与控制、智能仪表中发挥重要的作用。单片机应用系统与后端上位机系统之间通讯进行数据交换,构成功能强大的测控系统是目前发展的趋势。

       NEC公司生产的μPD78045F是78K0系列8位单片机功能较强的044F子系列的最高型号。该芯片功能强、可靠性高、速度快、支持节电应用。美中不足的是,该芯片的2个串行I/O口虽然功能强,却只支持同步通讯,没有异步通讯功能。

       本文给出在μPD78045F上采用软件模拟方式,使用2个I/O口线和一个8位定时器实现异步串行UART功能的方法。本方法占用资源少,设置和使用简单方便,帧格式可自由改变。

       设计思路

    &nb

 

sp;  每一个UART都应具备如下功能:

       异步串行发送和接收的基本单位是帧,通常每帧包括以下部分:

       本设计中,发送采用主动查询方式,可使用任一输出端口,本文中将P12.1设置为输出口,作为TxD;由于异步通讯中接收是被动的和随机的,因此只能采用 中断方式,P0.1是外部中断INTP1的外部引脚,设计中使用它作为RxD,设置为下降沿触发方式,可及时检测到起始位的逻辑0电平,进入中断处理程序 进行数据接收。

       波特率发生器使用8位定时器TM1,产生指定波特率下的1个发送/接收位时序长度,即“位定时”。UART的并行数据到串行数据的转换、每帧数据格式的生 成、发送和接收功能都由软件来控制完成。在指定波特率下,位定时为1,000,000ms / 波特率,硬件系统采用fx=4.9152 MHz的主晶振,软件设置定时器计数时钟为4分频,即:fx/4=1.2288 MHz  ,达到指定波特率位定时常数为:1228800 / 波特率 。常用的波特率对应的位定时常数列在表1中。


       以下设置通讯参数为9600波特率,1位起始位,6位数据位,发送顺序从MSB到LSB,偶校验,2位停止位。

 

 

                                                                 图1 发送过程流程图

                                                            图2 接收过程流程图

       软件流程 

       发送

      
发送过程采用主动查询方式完成,为保证每个发送位的时长相同,整个过程关闭中断。首先,设定定时器定时一位时长,启动 定时器,关闭中断,开始一帧的发送;然后,在发送一位时长的低电平(起始位)后,按最高位在先的顺序依次发送6个数据位,同时计算偶校验位,并在数据位后 发送;最后,发送2位时长高电平作为停止位,结束一帧的发送。关闭定时器,开放中断,发送过程结束。发送流程见图1。

       接收

      
接收过程是在中断处理程序中完成的。中断是由下降沿触发的,进入中断的时刻是处在接收起始位的时段。为了保证接收准 确,在检测到起始位后,不能在每一位时长的开始而应在其中间进行采样。进入中断程序后,首先通过设定定时器,等待一位半时长,跳过整个起始位和半时长的首 个数据位,然后开始按最高位在先的协议接收六个时长的数据位,每接收一位进行串并转换和校验位计算;随后接收校验位并与计算机结果比较,确定是否接收

 

正确。出于简化程序,校验位接收完毕后,没有读取停止位。最后关闭定时器,结束接收过程,中断返回。

       在μPD78045F的中断系统中,高优先级中断的响应时间最长32个CPU时钟,这些时延应在程序中进行补偿,尤其在高速率通讯时位定时时长很短,补偿 尤为重要。补偿的方法是从位定时中减去最长时延32个时钟。在9600波特率、定时器 4分频计数情况下,应减去 32/4=8个定时器计数。接收中断处理流程见图2。

       结语

      
本文介绍的软件UART实现方法,已在项目中实际应用,达到功能要求,工作稳定可靠。从以上方案可以看出,本方法的最高波特率可达38400,每一帧的格式可灵活改变,其中数据位长度和发送顺序均没有限制,可根据需要发送数十位的数据位。

       使用本方法应具备以下条件:

       本方法占用外部连线少,稳定可靠,使用方便,简单有效,由于其帧格式的巨大灵活性,是在低成本、中速率、特殊数据传输场合下的一个较好选择。


参考文献:
1.        NEC Corporation,‘μPD78045F SUBSERIES USER'S MANUAL’,1996

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统
关闭
关闭