介绍一种运用PIC16F84单片机实现与PC机串行通信的方法,并给出其硬件接口电路及通信源程序。关键词 异步串行通信 发送与接收 VB4 Win95 串口查询法 1 前言 美国Microchip公司的PIC16系列单片机是一种新型的CMOS工艺的8位单片机。其中,PIC16FXX单片机的程序存储器为电可擦除闪速存储器(flash),可多次修改程序,甚至可以在线编程。PIC16F83和PIC16F84片内数据存储器除RAM外,还有64字节的EEPROM,可以当作一般的或非易失性的数据存储器使用,简单方便。它还具有片内上电复位、延时电路、看门狗电路等。另外,PIC16系列单片机功耗极低,因而是一种非常适合在各种便携式设备中使用的高性价比的单片机,并已经得到了越来越广泛的应用。 但是在许多需要大量计算的运用中,还必须借助微机的强大数据处理能力。这样必须通过通信电路实现PIC单片机与微机间的可靠数据传输。有的PIC16单片机内并没有提供串行口,所以串行通信必须通过自己设计的硬件电路和通信软件来实现。 下面介绍用查询法实现异步串行通讯的方法。同时给出了用PIC16F84单片机的两个I/O口模拟2线串行口的硬件接口电路、程序流程框图、单片机内通信程序以及微机内的通信程序等。2 硬件实现方法与电路 PIC16F84的程序存储器由1K×14的闪速(flash)存储器构成,它只有13条I/O口,1个定时器,为了尽量节省单片机的软硬件资源,采用下述异步串行通信的实现方法。 如图1所示,PIC16F84在4MHz时钟下,采用半双工方式,可实现9600波特率的异步串行数据通信,1位停止位,8位数据位,无校验位。接收和发送以低位在先(一般模式),采用软件延时。为节省篇幅,单片机内的通信程序中未提供任何握手协议,用户可根据自己的需要在软件中加入握手方式。
上传时间: 2014-12-27
上传用户:偷心的海盗
交通灯控制器的设计与实现一、实验目的1. 了解交通灯管理的基本工作原理。2. 熟悉8253计数器/定时器、8259A中断控制器和8255A并行接口的工作方式及应用编程。3. 掌握多位LED显示的方法。 二、 实验内容与要求设计一个用于十字路口的交通灯控制器。1.基本要求: 1) 东西和南北方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。2) 当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。3) 一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。2.提高部分:1) 实时修改交通灯的持续时间。2) 根据不同时段对主要交通方向的信号进行调整。3) 可以使用LCD显示提示信息。 三、实验报告要求 1.设计目的和内容 2.总体设计 3.硬件设计:原理图(接线图)及简要说明 4.软件设计框图及程序清单 5.设计结果和体会(包括遇到的问题及解决的方法) 四、总体设计交通灯的工作过程如下:设十字路口的1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车,2个路口的LED数码管开始倒计时25秒。延迟20秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车,2个路口的LED数码管重新开始倒计时25秒。延迟20秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。当有紧急情况时,2个方向都红灯亮,倒计时停止,车辆禁止通行,当紧急情况结束后,控制器恢复以前的状态继续工作。 在设计中采用6个发光二极管来模拟2个路口的黄红绿灯,每个路口用2个数码管来显示通行或禁止剩余的时间。紧急情况用一个单脉冲发生单元申请中断来模拟,紧急情况结束后,再发一个中断来恢复以前的状态。 根据前面的介绍,本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块采用硬件定时和软件定时相结合的方法,用8253定时/计数器定时100ms,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和8279中断控制器组成。 程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序组成。包括对8253、8255以及8259等可编程器件的编程。 五、硬件设计 本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图1所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。 定时模块是由8253的计数器0来实现定时100ms。Clk0接实验平台分频电路输出Q6,f=46875hz。GATE0接8255的PA0,由8255输出来控制计数器的起停。OUT0接8259的IRQ2,定时完成申请中断,进入中断服务程序。 发光二极管显示模块由8255输出来控制发光二极管的亮灭。8255输出为低电平时,对应的发光二极管就点亮,否则就熄灭。8255的接口电路如图2所示。交通灯的对应关系如下:L7 L6 L5 L2 L1 L0PC7 PC6 PC5 PC2 PC1 PC013红灯 13黄灯 13绿灯 24红灯 24黄灯 24绿灯 实验平台上提供一组六个LED数码管。插孔CS1用于数码管段选的输出选通,插孔CS2用于数码管位选信号的输出选通。本设计用4个数码管来倒计时。 紧急中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来请求中断,然后做出紧急情况处理。
标签: 交通灯控制器
上传时间: 2013-10-07
上传用户:小小小熊
采用面向控制的Motorola DSP控制器DSP56F803,构建了一种廉价而实用的数字低中频软件电台,实现了该电台在AM、FM、SSB和FSK 4种调制方式下的互通.详细阐述了DSP56F803在构建软件电台中的设计思路和应用技巧,并给出了具体的软硬件方案.
上传时间: 2013-10-24
上传用户:libinxny
高性能的数据压缩可以有效的减少数据对存储空间和通信带宽的要求,降低通信成本。为解决图像数据的高压缩性能问题,本文提出了基于JPEG2000标准的数据压缩系统的FPGA实现方案。相对于软件算法实现和其他硬件方法,采用FPGA硬件实现可降低系统复杂度提高性能。最终设计的IP核具有资源占用少,性能良好和便于扩展等优点,能够满足通信传输和照相设备等应用需求。
上传时间: 2013-12-17
上传用户:cjl42111
随着嵌入式技术的不断发展,嵌入式系统在各种领域中得到了广泛的应用。本文针对嵌入式系统需要在显示屏上实现字符的输入,在Linux环境下,利用QT/E库软件,实现了软键盘设计。主要介绍了软键盘的设计以及软键盘实现的程序编写。
上传时间: 2013-10-19
上传用户:qiulin1010
介绍全球导航卫星系统软件接收机的基本结构和优点,系统地实现了GPS软件接收机。该结构的硬件部分实现中频信号采样模块,软件部分实现可设置12通道的中频信号处理模块、信号捕获和跟踪、导航电文存储及转换,并针对伪距定位算法部分实现了单点静态定位,考虑的误差源主要包括卫星钟误差、对流层误差、电离层误差和地球自转引起的偏差。
上传时间: 2013-11-20
上传用户:x4587
高性能的数据压缩可以有效的减少数据对存储空间和通信带宽的要求,降低通信成本。为解决图像数据的高压缩性能问题,本文提出了基于JPEG2000标准的数据压缩系统的FPGA实现方案。相对于软件算法实现和其他硬件方法,采用FPGA硬件实现可降低系统复杂度提高性能。最终设计的IP核具有资源占用少,性能良好和便于扩展等优点,能够满足通信传输和照相设备等应用需求。
上传时间: 2013-11-22
上传用户:13691535575
一个管理ie的软件,实现了过滤网址等功能,可以参考其ie编程
标签: 软件
上传时间: 2014-01-05
上传用户:l254587896
zebra免费软件,实现RIP,OSPF等路由功能
上传时间: 2014-01-07
上传用户:253189838
东之源超市管理系统是用delphi开发的基于windows的小型数据库管理软件。使用该软件对中小型超市进行简单的进销存管理和数据查询,将给您的工作带来方便。该软件有界面漂亮、操作方便、简单管理等特点。 本软件可以实现的功能如下: 用户管理,包括用户的添加、删除、密码和权限的修改; 备份管理,包括数据库的备份、数据库的还原; 商品管理,商品的添加、删除、修改、销量统计和分类查询; 商品报表; 销售商品:通过输入货物编号和数量实现商品销售,并提供库存判断、找零计算等功能; 销售报表和销售历史; 今日盘点,告诉用户今日的销售额是多少; 人事管理,共享版本不提供些功能; 帮助功能,软件的使用或相关说明; 登录和退出登录,实现了管理员和销售员不同权限的分类;
标签: windows delphi 超市管理系统 数据库管理软件
上传时间: 2014-03-06
上传用户:Zxcvbnm