采用8位单片机驱动PCI总线网卡的设计方案

采用8位单片机驱动PCI总线网卡的设计方案
采用8位单片机驱动PCI总线网卡的设计方案

采用8位单片机驱动PC I 总线网卡的设计方案

闫全成,李 琦,杨延西

(西安理工大学 陕西西安 710048)

摘 要:提出了一种采用8位单片机80C 51和PC I 总线主控I O 加速器芯片9054驱动PC I 总线网卡以实现R S 232串行设备与以太网连接的设计方案。采用该方案可以方便的实现单片机上网,为现场串行设备的网络化管理提供基础。给出了硬件接口电路的设计与实现方法,程序设计采用了C 51语言,便于移植和调试,并且提供了主要程序原代码。

关键词:以太网;串行通讯;单片机;PC I 总线

中图分类号:T P 393111 文献标识码:B 文章编号:1004373X (2003)0103204

D esign of D r ives PC I bus N ic by adopti ng 8b its Sirgle

ch ip M icrocom puter

YAN Q uancheng ,L IQ i ,YAN G Yanx i

(X i ′an U niversity of Techno l ogy ,X i ′an ,710048,Ch ina )

Abstract :A design is p ropo sed ,w h ich drives PC I bu s N I C to realize the connecti on betw een serial comm un icati on equ i pm en ts based on R S 232p ro toco l and either netw o rk by adop ting 8b its single ch i p m icrocompu ter and PC I I O ch i p 90541T h is design is very conven ien t to hook in ternet fo r single ch i p m icrocompu ter and to m anage filed serial comm un icati on equ i pm en ts via netw o rk 1T he design and realizati on of hardw are in terface circu itry are given 1Based on C 51the p rogram is designed so as to be tran sp lan ted and debugged conven ien tly 1T hese key p rogram codes are offered 1

Keywords :either netw o rk ;serial comm un icati on ;single

ch i p m icrocompu ter ;PC I bu s ;R S 232

收稿日期:20021028

目前,以太网(E thernet )协议已经非常广泛地应用于各种计算机网络,如办公局域网、工业控制网络、因特网等场合,并且还不断地在发展。单片机或微控制器(M CU )(也称为嵌入式系统)已经在各个领域得到了广泛的应用。目前绝大多数系统都是以M CU 为核心,与监测、伺服、指示设备配合实现一定的功能。如果嵌入式系统能够连接到In ternet ,则可以方便、低廉地将信息传送到世界上的任何一个地方。因此单片机如何控制以太网网卡进行传输数据,如何加载TCP IP 协议连接到互联网,这些都是一些具有挑战性的问题[1,2]。

单片机上网研究最多的一个方案就是用单片机驱动ISA 总线网卡或者是驱动基于ISA 总线的以太网控制芯片。但是,近年来,随着ISA 总线在台式电脑上的消失(PC 98以后的标准已经取消了ISA 总线),ISA 总线的设备也不断减少,而且很多生产ISA 网卡芯片的厂家已经停止生产ISA 网卡芯片。在计算机上,多数设备用的是PC I 总线,因此如何制造低成本的PC I 总线的以太网接口设备,如何用单片机来驱动

PC I 总线网卡,已成为目前计算机工业控制系统的燃

眉之急。然而用只有16位地址总线、8位数据端口的8位单片机来直接驱动有32位地址数据复用总线及

其他各种信号线的PC I 总线网卡,几乎是不可能的。

为此,本文中采用PC I 9054接口芯片作为沟通单片机与PC I 设备间的桥梁,设计实现了单片机与PC I 网卡间的可靠通信任务,并提供了主要硬件接口电路和主要程序原代码。1 PC I 9054芯片介绍[3]111 PC I 9054主要特性

PC I 9054是由美国PL X 公司生产的先进的PC I I O 加速器,他采用了先进的PL X 数据管道结构技术。符

合PC I V 212规范的32位33M H z 总线主控接口控制器可获得高达132M b s 的PC I 突发传输速度。通用总线主控接口配备先进的数据流水线架构(D ata P i p e A r 2ch itectu re (tm )),包含2个DM A 引擎,可编程目标、

起始器数据传输模式和PC I 信息传输等功能。112 PC I 9054本地总线工作模式介绍

PC I 9054芯片连接的本地端总线有3种工作模式:M 模式、C 模式和J 模式。可利用模式选择引脚加以选

闫全成等:采用8位单片机驱动PC I 总线网卡的设计方案

择,其中C 模式时序较为简单。为此,本方案设计选择PC I 9054工作在C 模式。当PC I 9054工作在C 模式时,其数据传输采用直接数据传输方式,按数据传输的控制方式,他又分为3种传输模式,如表1所示。

表1 直接数据传输方式

直接数据传输方式

功 能 描 述

PC I 初始化器模式

允许本地CPU 访问PC I 端的存储器和I O 端口,在这种模式下,PC I 9054是本地总线上的目标设备,PC I 总线上的主设备。PC I 目标模式

允许PC I 主设备访问本地端的存储器和I O 端口,在这种模式下,PC I 9054是本地总线上的主设备,PC I 总线上的从设备。DM A 模式

PC I 9054内的DM A 控制器直接读取PC I 端的存储器数据,然后写入本地端的存储器,或读取本地端的存储器数据,写入PC I 端的存储器。在这种模式下,DM A 控制器既是PC I 端的主设备又是本地端的主设备。

本方案设计采用PC I 初始化器模式,通过本地端的单片机来控制PC I 9054芯片,然后通过PC I 9054芯片来驱动PC I 总线上的网卡,在这里PC I 9054芯片就象一个桥梁,连接了2个不同的总线设备。其读写工作原理如图1所示。

113 PC I 9054寄存器简介

PC I 9054内部提供了5种寄存器:PC I 配置寄存

器,本地端配置寄存器,运行时间RU N T I M E 寄存器,DM A 寄存器和I 2O 信息寄存器。在本方案设计中,我们主要用到2种配置寄存器:PC I 配置寄存器和本地端配置寄存器,下面对这2种寄存器的功能做简要介绍。

PC I 配置寄存器也就是我们常说的PC I 配置空间,他提供了配置PC I 的一些信息。其中V ender I D ,D evice I D ,R evisi on I D ,H eaderT yp e ,C lassCode 用于PC I 设备的识别。命令寄存器(Comm and )包含设备控制位,包括允许存储器读写响应等。状态寄存器(Statu s )用于记录PC I 总线的相关事件。PC I 配置寄存器提供了6个基地址寄存器,这些基地址都是在系统中的物理地址范围内,其中BA SE 0和BA SE 1都是用来访问其他配置寄存器的基地址,BA SE 1是其他配置寄存器映射到PC I 端内存的基地址,BA SE 2是其他寄存器映射到PC I 端I O 的基地址。所以可以通过PC I 端内存和PC I 端I O 来访问LO CAL 配置寄存器与其他3种寄存器。BA SE 2~5四个空间提供了访问本地端所接的4个芯片(当然可以少于4个),他们将本地端的芯片通过本地端地址(在LO CAL 配置寄存器中设)翻译成PC I 的地址,也就是将本地的芯片映射到系统的内存或I O 口。这样使得用程序操作这一段内存(或I O )实际上就是对本地的芯片操作

图1 PC I 总线读写工作原理

本地端配置寄存器提供了本地端的一些信息,在本方案设计中,主要是通过配置本地端配置寄存器来将本地端的单片机读写指令、周期转换成PC I 端的读写指令及周期。也就相当于将PC I 端网卡上的芯片及存储器映射到本地端,与本地端的存储器统一编址,这样单片机只要能访问本地端的内存,那么就能用来访问PC I 总线上的网卡。

PC I 9054工作时需要一个配置芯片E 2

PROM ,以便在PC I 卡上电的时候配置PC I 9054,主要配置PC I 卡的V endo r

I D 和D evice

I D ,这是系统用来标识

PC I 卡的。另外,还需要了其他寄存器,主要起到了对PC I 9054初始化的作用。其中本地端寄存器也可以由

本地CPU 读写,直接进行配置。2 RT L 8029网卡简介

R TL 8029是符合N e 2000标准的32位PC I 总线

网卡,遵循IEEE 80213协议。按功能可将其划分为:接

收功能模块、CRC 产生模块、发送功能模块、地址识别模块、F IFO 控制模块、协议逻辑阵列模块及DM A 和缓冲控制模块。对网卡进行编程可以实现局域网内

《现代电子技术》2003年第1期总第144期

软件科技园

任一站点间的通信。熟悉网卡接口电路是对网卡编程的首要条件。网卡接口电路功能可以分为2部分:一是与计算机PC I 总线相连,包括数据总线读写、地址总线驱动、中断控制信号的产生、存储器读写信号以及I O 端口信号的引入等;二是对网卡内部的操作,包括对缓冲SRAM 的读写、对R TL 8029A S 芯片的控制、读站地址PROM 及读自举ROM 等。通过网卡工作原理的分析,可以将接口信号线减至最少。以太网相当于一个链路层连接,因此可以把以太网的传输单元称为帧(F ram e )。10M b 以太网的

F ram e 长度为64

~1518b 。其格式如表2所示。表2 标准IEEE 80213帧结构

前导码目的地址源地址帧类型

帧数据

冗余校验码

64B

48B

48B

16B

46~1500b

32B

其中前导码是网络适配器发送M A C 帧的时候为

了使接收适配器辨别出M A C 帧开始而加入的码,高层的用户不必考虑。32位CRC ,即冗余校检码,是以太网使用的校检机制,现在CRC 的生成与检测都可以由网络适配器完成,因此用户也不必考虑这一字段。帧类型,这一字段决定了以太网帧数据使用的是什么协议,如A R P 是0x 0806,IP 是0x 0800等。从另一个角度看,这一字段也可以看作以太网帧自己表明身份的字段。因此,在处理M A C 帧时,需要根据这一字段的数据来决定将数据传送给哪个上层协议。在IEEE 80213协议中,这一字段表示以太网数据的长度。由于两个协议在这一字段上的不同定义,所以网络适配卡

对这一字段是不做解释的。程序员必须在软件上编程处理这一字段。3 方案设计

(1)本方案设计的硬件结构如图2所示。

系统中用到的主要芯片除了80C 51单片机和PC I 9054外还有M A X 232(串口的电平转换),24C 02(I 2C 总线的E 2PROM ),74HC 373(8位锁存),62256(32K 的RAM ),EPM 7096(CPLD ),93C 46(E 2PROM ,用来初始化PC I 9054)。其中62256(外部32K 的RAM )可以不用,可以用网卡上的RAM 来代替,但是网卡上的RAM 的存取比较复杂,速度会比加62256慢。使用外部RAM 的目的是提高单片机的数据传输速度和处理复杂的TCP IP 协议。由于以太网的数据包最大可以有1500多字节,80C 51单片机是无法存储这么大的包的,只有放到外部的RAM 里。同时外部的RAM 也用作串行口的输入输出缓冲,以使单片机具有高速的吞吐数据的能力。24C 02是I 2C 总线的E 2PROM ,用来存储用户的一些设置,比如IP 地址、网关等。本方案使用CPLD 的目的是,将80C 51单片机的8位数据与16位地址转换成32位的数据和地址,因为PC I 9054工作在初始化器模式时,他要求本地端的总线是32位的。在这里,用CPLD 实现这样一个外部逻辑非常简单。M A X 232为串口电平转换电路。数据可以从串口输入到单片机,单片机再把数据通过网卡传出去

图2 硬件结构简图

闫全成等:采用8位单片机驱动PC I 总线网卡的设计方案

(2)软件设计

对网卡编程就是对网络接口控制芯片R TL 8029A S 中各种寄存器进行编程控制,从而完成数据分组的正确发送和接收。所有单片机程序采用C 51语言编制,具有可读性强、移植性好、开发周期短的特点。代码的使用效率也比较高。

主程序可以分为PC I 9054芯片初始化、网络通讯和串行通讯2部分:PC I 9054芯片初始化过程就是对PC I 9054芯片的PC I 端配置寄存器和本地端配置寄存

器进行正确的编程配置,以实现本地端单片机与PC I 端网卡的无缝连接,对这2个寄存器既可以通过对93C 46烧写编程的方式,也可以通过本地CPU 直接编程的方式来完成初始化。网络通讯过程又可分为网卡初始化、发送控制和接受控制3部分。主程序框图如图3所示

图3 发送程序框图

PC I 9054芯片初始化过程就是对PC I 9054芯片的

相关寄存器进行初始化,这些寄存器包括DM RR 、DM LBAM 、PC I CR 、CN TRL 等。

(1)PC I CR [2∶0]=111B 。允许PC I 初始化器(本地端)访问PC I 总线。PC I 9054能够响应I O 访问。

(2)DM PBAM [1∶0]=11。允许PC I 初始化器访问PC I 9054存储器和I O 端口。

(3)DM RR =FFF 00000H 。设定PC I 初始化器端(4)可访问的存储器范围是1M B 。

(5)DM LBA I =40000000H 。为PC I In itiato r to

PC I I O Configu rati on 寄存器设定本地端基地址(6)DM PBAM [1]=1。允许本地端I O 端口访

问PC I In itiato r to PC I I O Configu rati on 寄存器

DM CFGA [23∶0]=005010,DM CFGA [31]=1。网卡初始化过程 对网卡的初始化就是对网卡相

关寄存器进行初始化。这些寄存器包括CR ,DCR ,

RBCR PSTA R T ,PSTO P ,ISR ,I M R ,PA R 0

~PA R 5,M A R 0

~M A R 5D 等。PSTA R T 接收缓冲区的起始页的地址。PSTO P 接收缓冲区的结束页地址(该页不用于接收)。BN R Y 指向最后一个已经读取的页(读指针)CU RR 当前的接收结束页地址(写指针)。

(1)CR =0x 21:选择页0寄存器,将R TL 8029芯

片处于离线状态;

(2)DCR =0x 8:32位内存访问;

(3)RBCR 0=0,RBCR 1=0:远程DM A 操作时传递字节数清零;

(4)RCR =0xc 0,接受到的帧存入缓冲区;(5)TCR =oxe 2:环路测试状态;

(6)PSTA R T =0x 4C ,PSTO P =0x 80;构造缓冲区;

(7)ISR =0xff ;中断寄存器清零;(8)CR =0x 61:选择页1;

(9)设置网卡地址PA R 0~PA R 5(10)设置多址寄存器M A R 0~M A R 5;(11)CU RR =0x 4d :初始化当前页寄存器;(12)TCR =0xE 0:发送器正常工作状态。

发送控制过程 在网络中,帧传输的过程就是发送方将待发送数据按帧格式要求封装成帧,然后通过网卡发送到网络的传输线上的工程。发送程序框图如图4所示

图4 主程序框图

接收控制过程 帧的接收过程分为2步[3]:第1步有本地DM A 将帧存入接收缓冲区中;第2步由远程DM A 将接收缓冲区中的帧读入内存。即将网络上的数据帧接收并存在网卡的接收缓冲区中,然后由主机程序将缓存区中的帧读走并存入内

存中。

(下转第38页) 《现代电子技术》2003年第1期总第144期

软件科技园

分析(F requency Dom ain)子模板,可以求出时域信号对应的频谱、互功率谱、FFT、传递函数、幅频响应和相频响应等27种频域运算。滤波器(F ilters)子模板,有巴特沃斯滤波器、切比雪夫滤波器、有限冲击响应滤波器、无限冲击响应滤波器等13种滤波器。加窗(W in2 dow s)子模板,可以对信号进行加窗处理,窗函数有矩形窗、汉宁窗、海明窗等12种窗函数。

5 Labv iew与C语言的接口方法

L abview提供的模板完全可以完成一个完整的虚拟仪器测试系统的基本编程,但是L abview并不是万能的,他所提供的图标功能是有限的,实际系统中仍然有些功能是L abview无法或难以实现的。针对这个问题,L abview在A dvanced子模板上提供了和C语言的接口,C I N(Code In terface N ode)。

C I N是一个位于L abview框图程序窗口的带有输入输出端口的图标,输入、输出端口的个数可由设计者根据实际需要确定。用户可将需要调用的外部代码编译成L abview所能识别的格式后与此结点相连,当此结点执行时,L abview将自动调用与此结点相连的外部代码,并向C I N传递特定的数据结构。而且用户可向C I N传递任意复合的数据结构,通常情况下,使用C I N 可获得较高的程序效率,因为L abview中数据的存储格式遵循了C语言中数据的存储格式,二者完全相同。

C I N的设计方法大致包括以下几个步骤:

(1)在框图程序窗口中建立一个C I N。

(2)确定C I N图标的输入、输出参数的个数和数据类型。

(3)建立模板文件。

(4)在模板文件中的规定位置(3En ter You r Code H ere3)填写实现某种测量功能定的C源代码,生成最终的C源代码文件。

(5)在L abview指定的环境下(如V isual C++)编译步骤(4)中生成的C源代码文件,并生成可执行文件。

(6)调用C I N的功能菜单将生成的可执行文件载入C I N图标。这样就基本形成了一个具备某种功能的C I N图标。

参 考 文 献

[1] 袁渊,古军1虚拟仪器基础教程[M]1成都:

电子科技大学出版社,2000

[2] 刘君华,贾惠芹,等1虚拟仪器图形化编程语

言L abview教程[M]1西安:西安电子科技大

学出版社,2001

[3] L abV iew U ser M anual[J]1N ati onal In stru

m en ts Co rpo rati on,1998

[4] G1P rogramm ing R eference M anual[J]1N ati

onal In strum en ts Co rpo rati on,1998

作者简介 邹 翔 男,西安电子科技大学电子工程学院电路与系统专业在读研究生。(上接第35页)

帧的接收工作由网卡自动完成,只需对相关的寄存器和PSTA R T,PSTO P,CU RR和BN R Y进行适当的初始化即可。帧读入之前,必须初始化相应的寄存器R SA R,RBCR,然后再启动远程DM A读操作和主机程序的读端口操作。为了获得数据长度,先读入18B的数据,然后根据有效数据的长度将帧完整的读入。启动远程DM A读操作,应该令CR=0A H,远程DM A将从接收缓冲区的DM A地址处读入1B并送往I O数据端口,由主机程序读入内存。

这一过程将一直持续到RBCR寄存器为0。

4 结 语

本文提出了一种用8位单片机80C51和PC I总线主控I O加速器芯片9054来驱动PC I总线网卡,实现R S232串行设备与以太网的连接以传送控制信令和数据文件,实现单片机上网的设计方案,设计了相关硬件,编制了相应的驱动程序。整个方案结构简单,实现方便,缩短了开发周期,降低了系统开发成本。

参 考 文 献

[1] 李光军1实用接口技术[M]1成都:电子科技

大学出版社,1997

[2] 蔡宁果,何晓琼,用8位单片机实现串口-以

太网转换器[J]1电子技术应用,2002,(2) [3] PC I9054D atabook V2111H ttp:www1P lx t

ech1com

作者简介 闫全成 男,1978年出生,西安理工大学硕士研究生。研究方向为基于网络的远程控制系统。

李 琦 男,1957年出生,西安理工大学教授,硕士生导师。研究方向为新型控制装置。

杨延西 男,1975年出生,西安理工大学博士研究生。研究方向为机器人视觉伺服控制系统。

邹 翔等:基于图形化编程语言L abview设计虚拟仪器的方法

PCI总线协议基础

PCI总线协议基础 PCI总线协议基础 PCI基本总线协议传输机制是猝发成组数据传输。一个分组由一个地址相位和一个或多个数据相位组成。 1.PCI总线的传输控制 PCI总线上所有的数据传输基本上都是由以下三条信号线控制的: FRAME#:由主设备驱动,说明一次数据传输周期的开始和结束。 IRDY#:由主设备驱动,表示主设备已经作好传送数据的准备。 TRDY#:由从设备驱动,表示从设备已经作好传送数据的准备。 当数据有效时,数据源设备需要无条件设置xRDY#,接收方可以在适当的时间发出xRDY#信号。FRAME#信号有效后的第一个时钟前沿是地址相位的开始,此时,开始传送地址信息和总线命令,下一个时钟前沿进入一个或多个数据相位。每当IRDY#和TRDY#同时有效时,所对应的时钟前沿就使数据在主从设备之间传送。在此期间,可由主设备或从设备分别利用IRDY#和TRDY#的无效而插入等待周期。 一旦主设备设置了IRDY#,将不能再改变IRDY#和FRAME#,直到当前的数据相位完成为止,而此期间不管TRDY#的状态是否发生变化。一旦从设备设置了TRDY#,就不能改变DEVSEL#、TRDY#或STOP#,直到当前的数据相位完成为止。也就是说,只要数据传输已经开始,那么在当前数据相位结束之前,不管是主设备还是从设备都不能撤消命令,必须完成数据传输。 最后一次数据传输时(可能紧接地址相位之后),主设备应撤消FRAME#信号而建立IRDY#,表明主设备已作好了最后一次数据传输的准备。当从设备发出TRDY#信号,表明最后一次数据传输已经完成,接口转入空闲状态,此时FRAME#和IRDY#均被撤消。 对于PCI总线的传输,可总结出以下几条规则: ①FRAME#和IRDY#决定总线的忙/闲状态。当其中一个有效时,表示总线忙;两个都无效时,总线进入空闲状态。 ②一旦FRAME#被置为无效,在同一传输期间不能重新置为有效。 ③除非设置IRDY#,一般情况下不能设置FRAME#无效(在FRAME#无效后的第一个时钟沿IRDY#必须保持有效)。 ④一旦主设备已使IRDY#有效,在当前数据相位完成前,不能改变IRDY#或FRAME#的状态。 ⑤在完成最后一个数据相位之后的时钟周期主设备必须使IRDY#无效。 2.PCI总线的寻址 PcI总线定义了三种物理地址空间:内存地址空间、I/O地址空间及配置地址空间,前两种为通常意义的地址空间,第三种配置地址空间用以支持PCI的硬件配置。 PCI总线的地址译码是分散的,每个设备都有自己的地址译码逻辑,从而省去了中央译码逻辑。PCl支持对地址的正向译码和负向译码,所谓正向译码,是指总线上每个设备都监视地址总线上的访问地址,判断是否落在自己的地址范围内,译码速度较快。所谓负向译码,是指要接受未被其他设备在正向译码中接受的所有访问,因此,此种译码方式只能由总线上的一个设备来实现(一般是连接

重装网卡驱动

重装网卡驱动,另外,电源电压不稳也有可能造成这种情况。 宽带adsl拨号上网用户经常会碰到“错误678”的故障提示:一直上网正常,但某一天突然上不了了,拨号连接时出现“错误678”等提示,一般用户对这种故障是束手无策,有的还怀疑是不是密码被盗了?总的来说,对这种故障的具体原因不太好判断,但经过分析,绝大部分情况下还是能够顺利解决的。下面就对这种故障发生的原因和解决办法阐述如下: 一、“错误678”是什么意思? 宽带adsl拨号上网使用pppoe协议连接,通过电话线传输数据,使用adsl专用modem实现数据的调制解调,错误提示678的含义是:远程计算机无响应,意思是从计算机发出指令到网卡向外发送数据,包括电话线的传输,局端(电信局机房端)端子板的端口处理到返回数据到计算机的过程中数据传输出问题都会提示678错误。简单地说就是网络不通了。 二、用户在遇到“错误678”的常见解决思路和步骤: 1、最近你的计算机有没有动过?特别是ADSL Modem连线、线路有没有动过?请先检查“猫”上信号灯是不是会闪(猫不同,指示灯也不同,主要有dsl、 adsl,line,link,@等都是宽带信号指示灯),如果要闪,检查线路有没有接对(主要是 分离器上,有三个口,每个口对应一根线,接法是总线就是进线接line口,电话机接phone口,另外modem或adsl接宽带猫,你也可以直接将电话进线接在猫上试,这样可以排除分离器坏),如果接对还是闪,检查电话线路是不是有接头,线路氧化接触不好也会出现信号定不住(电话线进猫的水晶头或线有问题,也会造成线路不通。) 2、确认adsl modem拨号正常,因为网卡自动获取的IP没有清除,所以再次拨号的时候网卡无法获取新的IP地址会提示678,操作方法是:关闭adsl modem,进入控制面板的网络连接右击本地连接选择禁用,5秒钟后右击本地连接选择启用,然后打开adsl modem拨号即可; 3、如果第一步无效,则在关闭adsl modem的情况下,仍然禁用本地连接(网卡),重启计算机,然后启用本地连接(网卡),再打开adsl modem即可解决; 4、如果上述步骤都无法解决,查看网卡灯是否亮,如果网卡灯不亮,检查网卡和网线。 5、如果网卡灯正常1,2步无法解决则卸载网卡驱动,重装网卡驱动。 6、如果上述操作无效联系电信部门确认端口。笔者在家中上网也曾遇到过“678”错误,刚开始什么问题也检查不出来,后来发现是电信局那边的端口松动了,导致线路不通。 7、还有一种情况,笔者也曾碰到过,如果你的家中有两台以上的电脑,用来接电脑的HUB端口损坏的话,也会出现“678错误”,这时更换一个好的端口就可以了。 8、有些经过电信检测后网络情况正常,也出现了错误“678”的提示,这时要考虑使用过程中各种应用软件的冲突,同样也会引发网络不通。如“雅虎小助手”、杀毒软件或者防火墙等出现异常引发错误“678”提示的现象。所以,在您发现错误“678”的提示时,可以先尝试暂时卸载“雅虎小助手”、退出杀毒软件或者暂时关闭防火墙,重新进行连接,试试看是否能够解决问题。

基于单片机的电子时钟课程设计报告

目录 一、引言········ 二、设计课题········· 三、系统总体方案········· 四、系统硬件设计······ 1.硬件电路原理图 2.元件清单 五、系统软件设计········· 1.软件流程图 2.程序清单 六、系统实物图········ 七、课程设计体会········ 八、参考文献及网站········· 九、附录·········

一.引言 单片机因将其主要组成部分集成在一个芯片上而得名,就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O接口电路等部件集成在一个芯片上。 基于单片机设计的数字钟精确度较高,因为在程序的执行过程中,任何指令都不影响定时器的正常计数,即便程序很长也不会影响中断的时间。 数字钟是采用数字电路实现对日期、时、分、秒,数字显示的计时装置,由于数字集成电路的发展和石英晶体振荡器的广泛应用,使得数字钟的精度,远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表的报时功能。数字钟已成为人们日常生活中的必需品,广泛应用于家庭、车站、码头、剧院、办公室等场所,给人们的生活、学习、工作带来极大的方便。不仅如此,在现代化的进程中,也离不开电子钟的相关功能和原理,比如机械手的控制、家务的自动化、定时自动报警、按时自动打铃、时间程序自动控制、定时广播、自动起闭路灯、定时开关烘箱、通断动力设备、甚至各种定时电气的自动启用等,所有这些,都是以钟表数字化为基础的。而且是控制的核心部分。因此,研究数字钟及扩大其应用,有着非常现实的意义。 本设计使用12MHZ晶振与单片机AT89C51相连接,以AT89C51芯片为核心,采用动态扫描方式显示,通过使用该单片机,加之在显示电路部分使用HD74LS373驱动电路,实现在8个LED数码管上显示时间,通过4个按键进行调时、复位等功能,在实现各功能时数码管进行相应显示。软件部分用C语言实现,分为显示、延迟、调时、复位等部分。通过软硬件结合达到最终目的。

AT89C51单片机电子时钟设计资料

AT89C51单片机电子时钟设计 学院: 专业: 学号: 学生:

目录 1 电子时钟 (4) 1.1 电子时钟简介 (4) 1.2 电子时钟的基本特点 (4) 1.3 电子时钟的原理 (4) 2 单片机识的相关知识 (4) 2.1单片机简介 (4) 2.2 单片机的特点 (5) 2.3 AT89C51单片机介绍 (5) 3 设计方案的选择 (7) 3.1计时方案 (7) 3.2 显示方案 (7) 3.3 数码管显示工作原理 (8) 3.4 键盘电路设计 (9) 3.5 主控模块AT89C51 (9) 4 系统软件设计 (9) 附录 (12)

摘要:单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次设计通过对它的学习、应用,以AT89C51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;电子时钟;AT89C51

1 电子时钟 1.1 电子时钟简介 本设计采用AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒的时钟。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零,从而达到计时的功能,是人民日常生活不可缺少的工具。 1.2 电子时钟的基本特点 现在高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。 1.3 电子时钟的原理 该电子时钟由AT89C51,键盘,八段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。 2 单片机识的相关知识 2.1单片机简介 单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。

基于单片机的电子日历时钟设计

#include #define uchar unsigned char #define uint unsigned int //----端口定义--- sbit ACC_7=ACC^7; sbit RST1=P2^5; sbit IO=P2^6; sbit SCLK=P2^7; sbit k1=P3^2; sbit k2=P3^3; sbit k3=P2^2; sbit k4=P2^3; //uchar wei[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; // 数码的位选,左到右 uchar tab_1302[7]={45,50,11,19,1,1,15}; uchar tab_time[8]={0,0,10,0,0,10,0,0}; //时间 uchar tab_day[8]={0,0,10,0,0,10,0,0,}; //年月日 uchar tab_num[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf}; //0 1 2 3 4 5 6 7 8 9 - {"0123456789-"} ////////////=============函数声明============//////////////// void display_time(); void delayms(uint); void display_day(); void ds1302(); //获取DS1302的时间 void ds1302_init(); //DS1302的初始化 void write1302(uchar,uchar); //指定地址向DS1302写数据 uchar read1302(uchar); //指定地址向DS1302读数据 void ds1302(); void int0_init(); /////////=======中断初始化=======/////////// void int0_init() { EX0=1;

PCI总线标准协议(中文版)

8.4.2 PCI总线信号定义 在一个PCI应用系统中,如果某设备取得了总线控制权,就称其为"主设备";而被主设备选中以进行通信的设备称为"从设备"或"目标节点''。对于相应的接口信号线,通常分为必备的和可选的两大类,为了进行数据处理、寻址、接口控制、仲裁等系统功能, PCI接口要求作为目标的设备至少需要47条引脚,若作为主设备则需要49条引脚。下面对主设备与目标设备综合考虑,并按功能分组将这些信号表示在图8.19中。其中,必要的引脚在左边,任选的引脚在右边。 一.信号类型说明 图8.19 PCI引脚示图 为了叙述方便,将PCI信号按数传方向及驱动特性划分为五种类型,各种类型的规定 如下: in:输入信号。 out:输出驱动信号。 t/s:表示双向三态输入/输出驱动信号。 s/t/s:持续三态(Sustained Tri-State),表示持续的并且低电平有效的三态信号。在某一时刻只能属于一个主设备并被其驱动。这种信号从有效变为浮空(高阻状态)之前必须保证使其具有至少一个时钟周期的高电平状态。另一主设备要想驱动它,至少要等到该信号的原有驱动者将其释放(变为三态)一个时钟周期之后才能开始。同时,如果此信号处于持续的非驱动状态时,在有新的主设备驱动它之前应采取上拉措施,并且该措施必须由中央资源提供。 o/d:漏极开路(Open Drain)可作线或形势允许多个设备共同使用, 二. PCI总线信号定义 PCI总线的信号线共有100根,下面按功能分组进行说明。

1.系统引线 CLK in:时钟输入,为所有PCI上的接口传送提供时序。其最高频率可达66MHz,最低频率一般为0 (DC),这一频率也称为PCI的工作频率。对于PCI的其他信号,除、、、之外,其余信号都在CLK的上升沿有效(或采样)。 in:复位,用来使PCI专用的特性寄存器和定时器相关的信号恢复规定的初始状况。每当复位时, PCI的全部输出信号一般都应驱动到第三态。 2.地址和数据引线 AD0~AD31 t/s:地址、数据多路复用的输入/输出信号。在有效时,是地址周期;在 和同时有效时,是数据周期。一个PCI总线的传输中包含了一个地址信号周期和一个(或多个)数据周期。PCI总线支持突发方式的读写功能。 地址周期为一个时钟周期,在该周期中AD0~AD31线上含有一个32位的物理地址。对于I/O操作,它是一个字节地址;若是存储器操作和配置操作,则是双字地址。 在数据周期, AD0~AD7为最低字节, AD24~AD31为最高字节。当有效时,表示写数据稳 定有效,有效表示读数据稳定有效。 ~3 t/s:总线命令和字节使能多路复用信号线。在地址周期内,这四条线上传输的是总线命令;在数据周期内,传输的是字节使能信号,用来表示在整个数据期中, AD0~AD31上哪些字节为有效数据。 3.接口控制信号 s/t / s:帧周期信号。由当前主设备驱动,表示一次访问的开始和持续时间。 无效时,是传输的最后一个数据周期。 s / t / s:主设备准备好信号。该信号有效表明发起本次传输的设备(主设备)能够完成一个 数据期。它要与配合使用,当这两者同时有效时,才能进行完整的数据传输,否则即为等待周期。在写周期,该信号有效时,表示有效的数据信号已在AD0~AD31中建立;在读周期,该信号有效时,表示主设备已做好接收数据的准备。 s/t/s:从设备准备好信号。该信号有效表示从设备已做好完成当前数据传输的准备工作, 此时可进行相应的数据传输。同样,该信号要与配合使用,这两者同时有效数据才能进行完整传输。在写周期内该信号有效表示从设备已做好了接收数据的准备。在读周期内,该信号有效表示有效数据已被送入AD0~AD31中,同理, 和的任何一个无效时都为等待周期。 s / t / s:停止数据传送信号,该信号由从设备发出。当它有效时,表示从设备请 求主设备终止当前的数据传送。 s / t / s:锁定信号。是由PCI总线上发起数据传输的设备控制的,如果有几个不同的设备在 使用总线,但对信号的控制权只属于一个主设备(由信号标定)。当信号有效时,表示驱动它的设备所进行的操作可能需要多个传输才能完成,如果对某一设备具有可执行的存储器,那么它必须能实现锁定,以便实现主设备对该存储器的完全独占性访问。对于支持 锁定的目标设备,必须能提供一个互斥访问块,且该块不能小于16 个字节。连接系统存储器的主桥路也必须使用。 IDSEL in:初始化设备选择信号。在参数配置读写传输期间,用作片选信号。 s/t/s:设备选择信号,由从设备驱动,该信号有效时,表示驱动它的设备已成为当前访问的从设备。它有效表明总线上的某一设备已被选中。 4.仲裁信号 t/s:总线请求信号。该信号一旦有效即表示驱动它的设备要求使用总线。它是一个点到点的 信号线,任何主设备都应有自己的信号。 t /s:总线允许信号。用来向申请占用总线的设备表示其请求已获批准。这也是一 个点到点的

网卡常见故障及解决方法

卡故障常见原因与解决方法 网卡作为局域网中的一个重要的连接“枢纽”,其工作状态的好坏,直接影响着局域网的工作效率。长时间超“负荷”工作之后,网卡很容易出现无法反应的现象。你在面对网卡“罢工”、无法及时反应时,是怎么应付的呢? 网卡是否松动 频繁将网线从网卡中插入或拔出,都有可能使网卡与插槽的位置出现偏离,导致插槽无法紧密地固定网卡。此外,环境温度的变化、操作计算机时发出的各种震动,都有可能导致网卡松动现象发生。一旦网卡有松动现象发生,网络连接肯定会时断时续,甚至无任何反应。 此时,你可以检查一下网卡指示灯,看它是否处于闪烁状态。如果指示灯不亮,必须打开机箱,从插槽中拔出网卡,然后换一个新的插槽,重新插入网卡,并确保网卡的“金手指”与主板插槽紧密结合。 驱动程序是否更新 是否正确安装网卡驱动程序,直接影响着网卡性能。而网卡驱动程序的最新版本可能会包含更多的网络连接功能,能更准确、高效地将网络性能发挥出来。为此你应该及时从网上下载最新的网卡驱动程序,同时确保下载得到的驱动程序与网卡型号一致,尽量不用相近的网卡驱动程序来代替。 此外,因为频繁地杀毒,或不正确的关闭系统,安装好的网卡驱动程序随时都有可能被破坏,从而导致网卡无法正确工作。你可以按下面的方法,来检测网卡驱动是否正常:依次点击“开始→设置→控制面板”,双击“系统”图标,进入设备管理器窗口,检查网卡上是否有不正常的标记,如有,则必须在Windows 环境下,将网卡设备和驱动程序都删除干净,然后将网卡最新驱动程序安装到系统中。驱动程序安装完成后,再进行一次网络连接测试,检查故障是否能被排除。 CMOS设置是否正确 使用旧式的ISA网卡可以正常工作,而换为PCI网卡后网络时断时续,那么该故障十有八九是由于CMOS配置不当造成的。此时,你可以按下面的方法,重新设置CMOS参数。 首先,重新启动计算机系统,进入CMOS参数设置界面,打开“PNP/PCI Configuration”设置页面,检查其中的“IRQ5”参数,看设置是否正确。 由于先前使用的是ISA网卡,那么“IRQ5”参数很有可能被设置为“legacy ISA”,这样系统会自动将中断请求5分配给ISA设备。而现在将网卡更换为PCI 类型,系统可能会无法为PCI网卡分配到合适的中断请求,这样PCI网卡就不能正常工作了。 此时,你可以将“IRQ5”参数,重新修改为“PCI/ISA PnP”,最后保存好

单片机课程设计--简易电子钟.doc

单片机课程设计报告设计课题:简易电子时钟的设计 专业班级:07通信1班 学生姓名:黎捐 学号:0710618134 指导教师:曾繁政 设计时间:2010.11.5—2010.12.20

一、设计任务与要求 (1)设计任务: 利用单片机设计并制作简易的电子时钟,电路组成框图如图所示。 (2)(2) 设计要求:1)制作完成简易的电子时钟,时间可调整。 2)有闹钟功能。 二、方案设计与论证 简易电子时钟电路系统由主体电路和扩展功能电路两主题组成,总体功能原理是以STC89C52单片机为主要的控制核心,通过外接4个独立式键盘作为控制信号源,八个七段数码管作为显示器件,蜂鸣器作为定时器件,单片机实时的去执行相应的功能。在数码管上显示出来,此时通过不同的按键来观看和调节各种数据。CPU 控制原理图如图1所示。 图1. CPU 控制原理图 三、硬件系统的设计 3.1 STC89C52控制模块 STC89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O )端口,同时内含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,STC89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash 存储器结合在一起,特别是可反复擦写的Flash 存储器可有效地降低开发成本。 MCS-52单片机内部结构 8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: 中央处理器: 中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU 负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 数据存储器(RAM): 8052内部有128个8位用户数据存储单元和128 个专用寄存器单元,它们是统一编 时间显示显示 主控器(51单片机) 时间 调整 声音报 时 (选做)

基于51单片机的电子时钟的设计

目录 0 前言 (1) 1 总体方案设计 (2) 2 硬件电路设计 (2) 3 软件设计 (5) 4 调试分析及说明 (7) 5 结论 (9) 参考文献 (9) 课设体会 (10) 附录1 电路原理 (12) 附录2 程序清单 (13)

电子时钟的设计 许山沈阳航空航天大学自动化学院 摘要:传统的数字电子时钟采用了较多的分立元器件,不仅占用了很大的空间而且利用率也比很低,随着系统设计复杂度的不断提高,用传统时钟系统设计方法很难满足设计需求。 单片机是集CPU、RAM、ROM、定时器/计数器和多种接口于一体的微控制器。它体积小、成本低、功能强,广泛应用于智能产品和工业自动化上。而51系列的单片机是各单片机中最为典型和最有代表性的一种。,本次设计提出了系统总体设计方案,并设计了各部分硬件模块和软件流程,在用C语言设计了具体软件程序后,将各个模块完全编译通过过后,结果证明了该设计系统的可行性。该设计给出了以AT89C2051为核心,利用单片机的运算和控制功能,并采用系统化LED显示模块实时显示数字的设计方案,适当地解决了实际生产和日常生活中对计时高精确度的要求,因此该设计在现代社会中具有广泛的应用性。 关键字:AT89C2051,C语言程序,电子钟。 0前言 利用51单片机开发电子时钟,实现时间显示、调整和闹铃功能。具体要求如下: (1)按以上要求制定设计方案,并绘制出系统工作框图; (2)按要求设计部分外围电路,并与单片机仿真器、单片机实验箱、电源等正确可靠的连接,给出电路原理图; (3)用仿真器及单片机实验箱进行程序设计与调试;

(4)利用键盘输入调整秒、分和小时时刻,数码管显示时间; (5)实现闹钟功能,在设定的时间给出声音提示。 1总体方案设计 该电子时钟由89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,利用单片机内部定时计数器0通过软件扩展产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六十分钟为一小时,满二十四小时为一天。闹钟和时钟的时分秒的调节是由一个按键控制,而另外一个按键控制时钟和闹钟的时间的调节。 图1 系统结构框图 该电子时钟由STC89C51,BUTTON,1602 LCD液晶屏等构成,采用晶振电路作为驱动电路,晶振电路的晶振频率为12MHZ,使用的定时器/计数器工作方式0,通过软件扩展产生的一秒定时,达到时分秒的计时,60秒为一分钟,60分钟为一小时,24小时为一天,又重00:00:00开始计时。没有按键按键按下时,时钟正常运行,当按下调节时钟按键K1,就会关闭时钟,当按下闹钟按键K3时时钟就会进入设置时间界面,但是时钟不会停止工作,按K2键,,就可以对时钟和闹钟要设置的时间进行调整。 2硬件电路设计

基于单片机的电子闹钟设计

基于单片机的电子闹钟设计 摘要 本设计以AT89C51芯片为核心,辅以必要的外围电路,设计了一个结构简单,功能齐全的电子时钟,它由5V直流电源供电。 关键词:单片机;led;闹钟;定时器 Abstract This design, adopting AT89C51 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 5V DC as the power supply. Keywords:single chip machine ,in fixed time machine, alarm clock,LED 1 引言 1.1设计目的 此次课程设计是在学习先修课程《单片机原理与系统设计》之后,为加强对学生系统设计和应用能力的培养而开设的综合设计训练环节。本课程设计应结合《单片机原理与系统设计》课程的基础理论,重点强调实际应用技能训练,包括单片机系统设计的软件和硬件两部分。其课程设计任务是使学生通过应用单片机系统设计的基本理论,基本知识与基本技能,掌握单片机应用系统各主要环节的设计、调试方法,初步掌握并具备应用单片机进行设备技术改造和产品开发的能力,培养学生的创新意识,提高学生的动手能力和分析问题、解决问题的能力。 1.2设计要求 结合单片机知识,以AT89C51单片机为核心,利用七段LED数码管实现计时、校时及闹钟功能。 1.3设计方法 以AT89C51单片机为核心,外加晶振电路,使用8个七段数码管显示,LED 采用动态扫描,用74ls245芯片作为驱动电路。通过四个独立按键对时间进行定时、校时,从而实现闹钟提醒功能。 2 设计方案及原理 2.1设计方案 选AT89C51单片机作为系统核心,辅助外部产生时钟信号的晶振电路,再加上四个独立按键作为输入信号,使用8个七段数码管显示时间,芯片74ls245为数码管段选线的驱动,最后用蜂鸣器实现闹铃功能。使用单片机的定时器T0计时时间为50ms,计时20次作为1s的时间基准。第一部分,12MHz的晶振连接至单片机的时钟信号输入端;第二部分,四个独立按键加上四个上拉电阻连接至单片机

教你设计pci总线的高速数据采集卡(基于pci9054)

教你设计PCI总线的高速数据采集卡(基于PCI9054) 2007-03-13 21:02 眼下有不少场合需要用到PCI总线的数据采集卡,下面我就来谈一下设计PCI数采卡的原理及要点。 首先我要以我的实际经验,纠正存在于很多人心里的几个误区: 1.设计PCI采集卡要通读PCI协议。 相信有很多初学者都在这个地方被吓住了,几百页的英文要通读并理解谈何容易!其实PCI协议处理的这部分功能已经被PCI接口芯片完成了,如PLX公司的9054、9056和9052等等,它封装了PCI协议的细节,我们只需要控制这颗接口芯片local端的几个控制线就可以完成PCI总线的数据传输。PCI协议也有它的用处,我们只需要在某些需要注意的地方查阅一下相关章节即可,比如PRSNT1#和PRSNT2#引脚至少要有一个下拉,才能识别到卡,这就是PCI协议中的规定。 2. PCI卡布线很复杂,一不小心就可能不成功。 其实对于32位33MHz的PCI总线来说,布线相对比较简单,只要稍加注意就不会出问题。比如:PCI总线的时钟线要做成2500(+/-100)mil,这个是要注意的一点,一般PCI卡上的蛇行弯曲走线就是这条线,因为走直线距离一般都达不到此长度。其他要求,比如地址和数据线要在1500mil以内,其实你超过一些也没什么问题,不要超太多就好了。 3. PCI卡的驱动程序编写很难。 其实无论是软件还是硬件设计,都有一些相对成熟的资料可以参考。对驱动程序来说也是这样,对实际项目的开发没有几个是从头到尾自己在编代码,都可以在网上找到一些成熟的代码,然后自己修改一下即可,况且PCI卡的驱动程序又相对比较成熟,可参考的资料也较多。所以你要从网上找代码,向PCI接口芯片的供应商要代码,等收集到足够多的代码,再配以适当的教材(比如对于windows2000/XP系统下的WDM驱动程序,可以参考武安河老师的教材就足够),就可以进行你自己的驱动设计了。 下面我再针对具体应用谈谈PCI采集卡的设计: 一般数采卡的情况是将A/D转换后的数据通过PCI总线上传到PCI机,然后利用

网卡故障诊断

尊敬的客户 您好! 本文档介绍了网卡故障的诊断及分析,希望在您碰到网卡问题时能够参阅本文档来进行网卡故障的诊断,以便尽快找到并解决问题,缩短修复的时间。 在开始诊断网络连接故障之前,请先考虑以下问题: a.这种设置以前能工作吗,或者说这种问题是否刚发生?如果刚发生,您在网络能正常 工作到这种问题刚发生的这段时间都做了哪些改动? b.是否增加了新硬件、网线或者软件? c.这个问题是否发生在一台、几台或所有的机器?如果这个问题发生在所有的机器,则 可能是网络集线器或网线的问题。如果这个问题发生在一台或几台机器上,则可能是软件设置或硬件问题,可检查一下这些机器的网络设置是否正确。 提示: 1.根据我们的经验及维修服务统计,网卡芯片工作相当稳定,很少出现故障。一般问题出在网络配置、系统问题以及网口接触等方面。 2.在出现网络故障方面,特别是网卡驱动正常,但是局域网连接不上时,网线质量和水晶头(RJ45接头)制作方面需要重点检查,有条件的话,多试几条网线,几个网口(hub或者交换机或者插座上面的)以及重新制作水晶头。 3.可以使用RCD(戴尔随机的驱动程序光盘resource CD)或者网卡诊断程序对网卡进行诊断。根据不同机型,网卡有3com/Intel/Broadcom几种类型,登陆本地电脑并安装网卡诊断实用程序(可在RCD中找到或者到戴尔技术支持网站上下载: https://www.360docs.net/doc/f93179546.html,/china)。根据不同的网卡型号安装对应的诊断程序 3COM NIC doctor (3COM系列网卡)或者Broadcom Advanced Control Suite (Broadcom系列网卡)或者Intel PROSet II (Intel系列网卡)对相应的网卡进行 诊断。 4.网络诊断程序是不依赖于具体的Tcp/IP配置的,也就是说,如果网卡和网线以及网卡驱动程序都正常的话,诊断网卡一定通过。如果驱动正常,诊断NIC失败的 话,则网卡有问题。如果网线正常,而且驱动和TCP/IP协议都安装正确,网络诊断通不过的话,则有可能网卡或者网卡接口有问题。如果运行Ipconfig发现不能获得IP地址的话,检查是有否DHCP服务器,是否IP pool已满。PS: 更换一样机器的硬盘测试是个快捷方法。 网卡故障现象: 1.网卡不能被检测到 2.网卡驱动程序无法安装

51单片机电子时钟课程设计实验报告

《单片机原理与应用》课程设计 总结报告 题目:单片机电子时钟(带秒表)的设计 设计人员:张保江江润洲 学号:2012197213 2012118029 班级:自动化1211 指导老师:阮海容

目录 1.题目与主要功能要求 (2) 2.整体设计框图及整机概述 (3) 3.各硬件单元电路的设计、参数分析及原理说明 (3) 4.软件流程图和流程说明 (4) 5.总结设计及调试的体会 (10) 附录 1.图一:系统电路原理图 (11) 2.图二:系统电路PCB (12) 3.表一:元器件清单 (13) 4.时钟程序源码 (14)

题目:单片机电子时钟的设计与实现 课程设计的目的和意义 课程设计的目的与意义在于让我们将理论与实践相结合。培养我们综合运用电子课程中的理论知识解决实际性问题的能力。让我们对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立完成某些单片机应用系统的开发和设计打下一个坚实的基础。 课程设计的基本任务 利用89C51单片机最小系统,综合应用单片机定时器、中断、数码显示、键盘输入等知识,设计一款单片机和简单外设控制的电子时钟。 主要功能要求 最基本要求 1)使用MCS-51单片机设计一个时钟。要求具有6位LED显示、3个按键输入。 2)完成硬件实物制作或使用Pruteus仿真(注意位驱动应能提供足够的电流)。3)6位LED数码管从左到右分别显示时、分、秒(各占用2位),采用24小时标准计时制。开始计时时为000000,到235959后又变成000000。 4)使用3个键分别作为小时、分、秒的调校键。每按一次键,对应的显示值便加1。分、秒加到59后再按键即变为00;小时加到23后再按键即变为00。在调校时均不向上一单位进位(例如分加到59后变为00,但小时不发生改变)。 5) 软件设计必须使用MCS-51片内定时器,采用定时中断结构,不得使用软件延时法,也不得使用其他时钟芯片。 6)设计八段数码管显示电路并编写驱动程序,输入并调试拆字程序和数码显示程序。 7)掌握硬件和软件联合调试的方法。 8)完成系统硬件电路的设计和制作。 9)完成系统程序的设计。 10)完成整个系统的设计、调试和制作。 11)完成课程设计报告。 基本要求 1)实现最基本要求的1~10部分。 2)键盘输入可以控制电子时钟的走时/调试。 3)设计键盘输入电路和程序并调试。 4)掌握键盘和显示配合使用的方法和技巧。 提高发挥部分

单片机电子时钟的设计报告

目录 1 引言 (1) 2 设计任务与要求 (2) 2.1. 设计题目 (2) 2.2. 设计要求 (2) 3 系统的功能分析与设计方案 (3) 3.1. 系统的主要功能 (3) 3.2. 系统的设计方案 (3) 3.3. 数码管显示工作原理 (4) 3.4. 电路硬件设计 (5) 3.4.1. 设计原理框图 (5) 3.4.2. 电源部分 (5) 3.4.3. 复位电路 (6) 3.4.4. 指示灯电路 (6) 3.4.5. 按键电路 (7) 3.4.6. 时钟电路 (7) 3.4.7. 驱动电路 (8) 3.4.8. 数码管连接电路 (8) 3.4.9. 主控模块AT89S52 (9) 3.4.10. 材料清单 (10) 3.4.11. 电路原理图、PCB图及实物图 (11) 3.5. 软件设计 (13) 3.5.1. 软件设计流程 (13) 3.5.2. 完整源程序 (15) 4 系统安装与调试 (21) 4.1. 硬件电路的安装 (21) 4.2. 软件调试 (21) 5 课程设计总结 (22) 参考文献 (23) 致谢 (24)

摘要 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面。这次课程设计通过对它的学习、应用,以AT89S52芯片为核心,辅以必要的电路,设计了一个简易的单片机电子时钟,包括硬件电路原理的实现方案设计、软件程序编辑的实现、电子时钟正常工作的流程、硬件的制作与软件的调试过程。电子时钟由5.0V直流电源供电,数码管能够比较准确显示时间,通过按键能够调整时间,从而到达学习、设计、开发软、硬件的能力。 关键词:单片机;AT89S52;电子时钟;数码管;按键

基于单片机的电子时钟设计报告(LCD显示)

单片机原理及应用课程设计任务书 题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 单片机原理及应用课程设计任务书

题目:电子时钟(LCD显示) 1、设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间: 使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。用3个功能键操作来设置当前时间。功能键K1~K4功能下。 K1—设置小时。 K2—设置分钟。 K3—设置秒。 程序执行后工作指示灯LED发光,表示程序开始执行,LCD显示“23:59:00”,然后开始计时。 2、工作原理 本课题难点在于键盘的指令输入,由于每个按键都具有相应的一种功能,程序中有较多的循环结构用以判断按键是否按下,以及判断按键是否抬起,以及LCD显示器的初始化。 3、参考电路 硬件设计电路图如下图所示: 硬件电路原理图 基于AT89C51单片机的电子时钟设计报告

一、设计要求与目的 1)设计要求以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间。 2)、使用字符型LCD显示器显示当前时间。显示格式为“时时:分分:秒秒”。3)、用3个功能键操作来设置当前时间。 4)、熟悉掌握proteus编成软件以及keil软件的使用 二、本设计原理 本设计以AT89C51单片机为核心,通过时钟程序的编写,并在LCD显示器上显示出来。该编程的核心在于定时器中断及循环往复判断是否有按键操作,并对每个按键的操作在LCD显示器上作出相应的反应。由于LCD显示器每八位对应一个字符,故把秒、分、时的个位和十位分开表示。 该课题中有三个控制开关KM1、KM2、KM3分别控制时、分、秒的调整,时间按递增的方式调整,每点一次按钮则相应的时间个位加以,且时间调整不干扰其他为调整时间的显示。 三、硬件设计原理(电路) 硬件电路原理图

PCI驱动编程基本框架

Linux将所有外部设备看成是一类特殊文件,称之为“设备文件”,如果说系统调用是Linux 内核和应用程序之间的接口,那么设备驱动程序则可以看成是Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节,使得应用程序可以像操作普通文件一样来操作外部设备。 1. 字符设备和块设备 Linux抽象了对硬件的处理,所有的硬件设备都可以像普通文件一样来看待:它们可以使用和操作文件相同的、标准的系统调用接口来完成打开、关闭、读写和I/O控制操作,而驱动程序的主要任务也就是要实现这些系统调用函数。Linux系统中的所有硬件设备都使用一个特殊的设备文件来表示,例如,系统中的第一个IDE硬盘使用/dev/hda表示。每个设备文件对应有两个设备号:一个是主设备号,标识该设备的种类,也标识了该设备所使用的驱动程序;另一个是次设备号,标识使用同一设备驱动程序的不同硬件设备。设备文件的主设备号必须与设备驱动程序在登录该设备时申请的主设备号一致,否则用户进程将无法访问到设备驱动程序。 在Linux操作系统下有两类主要的设备文件:一类是字符设备,另一类则是块设备。字符设备是以字节为单位逐个进行I/O操作的设备,在对字符设备发出读写请求时,实际的硬件I/O紧接着就发生了,一般来说字符设备中的缓存是可有可无的,而且也不支持随机访问。块设备则是利用一块系统内存作为缓冲区,当用户进程对设备进行读写请求时,驱动程序先查看缓冲区中的内容,如果缓冲区中的数据能满足用户的要求就返回相应的数据,否则就调用相应的请求函数来进行实际的I/O操作。块设备主要是针对磁盘等慢速设备设计的,其目的是避免耗费过多的CPU时间来等待操作的完成。一般说来,PCI卡通常都属于字符设备。 2. 设备驱动程序接口 Linux中的I/O子系统向内核中的其他部分提供了一个统一的标准设备接口,这是通过include/linux/fs.h中的数据结构file_operations来完成的: struct file_operations { struct module *owner; loff_t (*llseek) (struct file *, loff_t, int); ssize_t (*read) (struct file *, char __user *, size_t, loff_t *); ssize_t (*write) (struct file *, const char __user *, size_t, loff_t *);

单片机课程设计 电子日历时钟显示器设计

目录 1.题目设计要求 (1) 2.开发平台简介 (1) 3.系统硬件设计 (2) 3.1设计原理 (2) 3.2器件的功能与作用 (2) 3.2.1 MCS51单片机AT89C51 (2) 3.2.2复位电路 (3) 3.2.3晶振电路 (4) 3.2.4 DS1302时钟模块 (4) 3.2.5 引脚功能及结构 (4) 3.2.6 DS1302的控制字节 (5) 3.2.7 数据输入输出(I/O) (5) 3.2.8 DS1302的寄存器 (6) 3.2.9 液晶显示LCD1602 (6) 3.2.10 串行时钟日历片DS1302 (8) 4.系统软件设计 (10) 4.1程序流程 (10) 4.2程序代码 (10) 5.系统仿真调试 (20) 5.1仿真原理图设计 (20) 5.2仿真运行过程 (21) 5.3仿真运行结果 (21) 6.总结 (21) 7.参考文献 (22)

1.题目设计要求 通过串行日历时钟芯片DS1302生成当前日期和是时间,通过IO口传输到AT89c52芯片中,然后再将AT89c52接收到的数据输出到LCD上。要求LCD上显示的日期和时间与当前系统时间保持一致。 2.开发平台简介 2.1系统仿真平台Proteus Proteus软件是由英国Labcenter Electronics公司开发的EDA工具软件,已有近20年的历史,在全球得到了广泛应用。Proteus软件的功能强大,它集电路设计、制版及仿真等多种功能于一身,不仅能够对电工、电子技术学科涉及的电路进行设计,还能够对微处理器进行设计和仿真,并且功能齐全,界面多彩。和我们手头其他的电路设计仿真软件,他最大的不同即它的功能不是单一的。另外,它独特的单片机仿真功能是任何其他仿真软件都不具备的。 2.2软件开发平台Keil C Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51生成的目标代码效率之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。

相关文档
最新文档