第10章 AT89C51单片机与输入外设和输出外设的接口设计
第10章 AT89C51单片机与输入外设和输出外设的接口设计1.下列项说法正确。
A.HD7279是一个用于键盘和LED显示器的专用接口芯片
B.在单片机与微型打印机的接口中,打印机的BUSY信号可作为查询信号或中断请求信号使用
C.为给扫描法工作的8 8键盘提供接口电路,在接口电路中只需要提供两个输入口和一个输出口
D.LED显示器的字型码是固定不变的
答:A.对;B.对;C.错;D.错。
2.为什么要消除按键的机械抖动?软件消除按键机械抖动的原理是什么?
答:在按键的闭合和断开过程中,由于开关的机械特性,导致了按键抖动的产生。
如果不消除按键的机械抖动,按键的状态读取将有可能出现错误。
消除按键抖动一般是采用软件或硬件去抖。
软件去抖的原理是,在第一次检测到有键按下时,该键所对应的行线为低电平,执行一端延时10ms的子程序后,确认该行线电平是否仍然为低电平,如果仍为低电平,则确认该行确实有键按下。
3.LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答:静态显示时,数据是分开送到每一位LED上的。
而动态显示时,则数据是同时送到每一个LED上,再根据位选线来确定是哪一位LED被显示。
静态显示亮度很高,但口线占用较多。
动态显示口线占用较少,适合用在显示位数较多的场合。
4.写出表10-1中仅显示小数点“.”的段码。
答:80H(共阴极);7FH(共阳极)。
5.说明矩阵式键盘按键按下的识别原理。
答:按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。
行线通过上拉电阻接到+5V上,无按键按下时,行线处于高电平状态,而当有按键按下时,行线电平状态将由与此行线相连的列线的电平决定。
列线的电平如果为低,则行线电平为低;列线的电平如果为高,则行线的电平亦为高。
将行、列线信号配合起来并做适当的处理,才能确定闭合键的位置。
6.对于图10-10所示的键盘,采用线反转法原理编写出识别某一按键被
按下并得到其键号的程序。
答:先对P1口高4位送低电平,读取P1口低4位的值;再对P1口低4位送低电平,读取P1口高4位的值,将两次读到的值组合在一起就得到了按键的特征码,再根据特征码查找键值。
参考程序如下:
KEYIN: MOV P1,#0FH ;反转读键
MOV A,P1
ANL A,#0FH
MOV B,A
MOV P1,#0F0H
MOV A,P1
ANL A,#0F0H
ORL A,B
CJNE A,#0FFH,KEYIN1
RET ;未按键
KEYIN1: MOV B,A ;暂存特征码
MOV DPTR,#KEYCOD ;指向特征码表
MOV R3,#0FFH ;顺序码初始化
KEYIN2: INC R3
MOV A,R3
MOVC A,@A+DPTR
CJNE A,B,KEYIN3
MOV A,R3 ;找到,取顺序码
RET
KEYIN3: CJNE A,#0FFH,KEYIN2 ;未完,再查
RET ;已查完,未找到,以未按键处理
KEYCOD: DB 0E7H,0EBH,0EDH,0EEH ;特征码表
DB 0D7H,0DBH,0DDH,0DEH
DB 0B7H,0BBH,0BDH,0BEH
DB 77H,7BH,7DH,7EH
7.键盘有哪3种工作方式,它们各自的工作原理及特点是什么?
答:(1)编程扫描方式。
当单片机空闲时,才调用键盘扫描子程序,反复扫描键盘,等待用户从键盘上输入命令或数据,响应键盘的输入请求。
(2)定时扫描方式。
单片机每隔一定的时间对键盘扫描一次。
(3)中断扫描方式。
只有在键盘有键按下时,才执行键盘扫描程序并执行该按键功能程序,如果无键按下,单片机将不理睬键盘。
8.根据图10-11所示的电路,编写在6个LED显示器上轮流显示“1,2,3,4,5,6”的显示程序。
答:参见教材P170的显示程序。
9.简述TPP-40A/16A微型打印机的Centronics接口的主要信号线及功能,与AT89C51单片机相连接时,如何连接几条控制线?
答:DB0~DB7——数据线,单向传输,由单片机输入给打印机。
STB(STROBE)——数据选通信号。
在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。
BUSY——打印机忙状态信号。
当该信号有效(高电平)时,表示打印机正忙于处理数据。
此时,单片机不得使STB信号有效,向打印机送入新的数据。
ACK——打印机的应答信号。
低电平有效,表明打印机已取走数据线上的数据。
ERR——出错信号。
当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。
在打印出错信息之前。
该信号线出现一个负脉冲,脉冲宽度为30νs。
用一条地址线来控制写选通信号STB和读取BUSY引脚状态。
10.如果把图10-25所示的打印机的BUSY线断开,然后与AT89C51单片机的线相接,请简述电路的工作原理并编写将以20H为起始地址的连续20个内存单元中的内容输出的打印程序。
答:本程序采用外部中断来完成数据打印,先打印一个数据,当BUSY 线从高电平变成低电平时,再打印下一个数据。
参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP IN
ORG 0030H
MAIN: SETB EX0 ;允许外部中断
SETB IT0
SETB EA
MOV R0,#7FH ;控制口地址
MOV A,#81H ;控制字
MOVX @R0,A
MOV R1,#20H ;数据区首地址
MOV R2,#19 ;计数器
MOV A,@R1 ;打印内容
MOV R0,#7CH ;A口地址
MOVX @R0,A
MOV R0,#7FH
MOV A,#0EH
MOVX @R0,A ;PC7=0
MOV A,#0FH
MOVX @R0,A ;PC7=1
SJMP $
IN: DJNZ R2,EX ;20个数据都结束了吗?
INC R1 ;指向下一个数据
MOV A,@R1
MOV R0,#7CH
MOVX @R0,A
MOV R0,#7FH
MOV A,#0EH
MOVX @R0,A
MOV A,#0FH
MOVX @R0,A
EX: RETI。
基于单片机AT89C51的输入输出控制板设计
目录
摘要I
AbstractII
第1章绪论1
1.1选题背景和意义1
1.2发展前景1
1.3八路继电器控制板的应用2
1.4本章小结2
第2章系统设计方案3
2.1系统设计步骤3
HEBEI UNITED UNIVERSITY
毕业设计说明书
GRADUATEDESIGN
设计题目:
摘
随着经济的快速发展,单片机的应用也越来越广泛,不仅在工业上,而且在我们日常生活中见到的很多东西也都会用到单片机,可见单片机已成为我们生活中必不可少的一部分。近年来,由于智能化楼宇不断增温,加上人们对安全防护的需求也逐渐扩大,智能化门禁管理应运而生。人们逐渐习惯以门禁替代传统钥匙的出入方式,门禁管理给企业管理带来的效益和便利,使它的使用越来越广泛。门禁管理系统为通道和出入口的管理提供智能化手段,达到正常出入、维护秩序、防入侵等目的。解决钥匙管理和人员管理的难题,减低保安人员的工作压力,为工作场所提供一个高度安全有序的环境。
In this paper,input and output control panel design is based on AT89C51 ,The next bit micro- controller to achieve access control and access control PC control and PC host computer communication.Finally,associated with the information network .
AT89C51的引脚功能
—VCC:供电电压。
—GND:接地。
—P0口:P0口为一个8位漏级开路双向I/O口,每个管脚可吸收8TTL门电流。
当P1口的管脚写“1”时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部电位必须被拉高。
—P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1—P2门电流,当P2位地址外编程—P3P3口写入“1P3口将输出电流P3P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 WR(外部数据存储器写选通)P3.7 RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。
—RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
—PROGALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时, ALE只有在执行MOVX,MOVC指令时ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
—PSEN:外部程序存储器的选通信号。
在由外部程序存储器取址期间,每个机器周期PSENRESET;当EA(VPP)。
如图11所示,在X1和X2之间接一只石英振荡晶体构成了单片机的时钟电路,它还有另一种接法,是把外部振荡器的信号直接连接到XTAL1端,XTAL2端悬空不用。
AT89C51复位引脚RST/VP通过片内一个施密特触发器(抑制噪声作用)与片内复位电路相连,施密特触发器的输出在每一个机器周期由复位电路采样一次。
89C51单片机各接口
AT89C51单片机简介2.管脚说明VCC 供电电压。
GND 接地。
P0口 P0口为一个8 漏级开路 向I/O口, 脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据 储器,它可 被定义为数据/地址的第八 。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码, 时P0外部必须被拉高。
P1口 P1口是一个内部提供 拉电阻的8 向I/O口,P1口缓冲器能接收输出4TTL 门电流。
P1口管脚写入1后,被内部 拉为高,可用作输入,P1口被外部 拉为 电平时,将输出电流,这是由于内部 拉的缘故。
在FLASH编程和校验时,P1口作为第八 地址接收。
P2口 P2口为一个内部 拉电阻的8 向I/O口,P2口缓冲器可接收,输出4个TTL 门电流,当P2口被写“1”时,其管脚被内部 拉电阻拉高,且作为输入。
并因 作为输入时,P2口的管脚被外部拉 ,将输出电流。
这是由于内部 拉的缘故。
P2口当用于外部程序 储器或16 地址外部数据 储器进行 取时,P2口输出地址的高八 。
在给出地址“1”时,它利用内部 拉优势,当对外部八 地址数据 储器进行读写时,P2口输出其特殊 能寄 器的内容。
P2口在FLASH编程和校验时接收高八 地址信号和控制信号。
P3口 P3口管脚是8个带内部 拉电阻的 向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部 拉为高电平,并用作输入。
作为输入,由于外部 拉为 电平,P3口将输出电流 ILL 这是由于 拉的缘故。
P3口也可作为AT89C51的一些特殊 能口,如 表所示口管脚备选 能P3.0 RXD 串行输入口P3.1 TXD 串行输出口P3.2 /INT0 外部中断0P3.3 /INT1 外部中断1P3.4 T0 记时器0外部输入P3.5 T1 记时器1外部输入P3.6 /WR 外部数据 储器写选通P3.7 /RD 外部数据 储器读选通P3口同时为闪烁编程和编程校验接收一些控制信号。
AT89C51的引脚功能和说明
AT89C51单片机各引脚图如下2-5所示:P1.0 ┫1 40┣ VccP1.1 ┫2 39┣ P0.0P1.2 ┫3 38┣ P0.1P1.3 ┫4 37┣ P0.2P1.4 ┫5 36┣ P0.3P1.5 ┫6 35┣ P0.4P1.6 ┫7 34┣ P0.5P1.7 ┫8 33┣ P0.6RST/Vpd ┫9 AT89C51 32┣ P0.7RXD P3.0 ┫10 31┣ -EA/Vpp(内1/外0 程序地址选择)TXD P3.1 ┫11 30┣ ALE/-P (地址锁存输出) -INT0 P3.2 ┫12 29┣ -PSEN (外部程序读选通输出)-INT1 P3.3 ┫13 28┣ P2.7T0 P3.4 ┫14 27┣ P2.6T1 P3.5 ┫15 26┣ P2.5-WR P3.6 ┫16 25┣ P2.4-RD P3.7 ┫17 24┣ P2.3X2 ┫18 23┣ P2.2X1 ┫19 22┣ P2.1GND ┫20 21┣ P2.0图2-5 AT89C51的引脚图AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除1000次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
外形及引脚排列如图所示特性:与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24MHz ·三级程序存储器锁定·128×8位内部RAM ·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路AT89C51 提供以下标准功能:4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
(完整版)at89c51引脚图及功能
at89c51引脚图及功能AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:·与MCS-51产品指令系统完全兼容·4k字节可重擦写Flash闪速存储器·1000次擦写周期·全静态操作:0Hz-24MHz ·三级加密程序存储器·128×8字节内部RAM ·32个可编程I/O口线·2个16位定时/计数器·6个中断源·可编程串行UART通道·低功耗空闲和掉电模式功能特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
·P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
第10章AT89C51单片机与键盘显示器等的接口设计
COM2=0 十位
COM1=0 个位
(b)
送显示位扫描信号: COM4=0 COM3=1 COM2=0 COM1=0 个位 十位 百位 千位 g 送 2 的显示段码: hgfedcba =10100100 f e d c b a COM3=0 百位 COM2=1 COM1=0 个位 十位
(c)
只要扫描信号的频率足够 快,加上LED数码显示器发光 的余晖效应和人的视觉暂留现 象,人们感觉到的好像是各位 同时显示的效果,而无闪烁现 象。 一般每个LED数码显示器 的显示时间为1~5ms。
b. 线反转法
第1步:列线输出为全低电平, 则行线中电平由高变低(或由 低变高)的所在行为按键所在 行。 第2步:行线输出为全低电平, 则列线中电平由高变低(或由 低变高)所在列为按键所在列。 结合上述两步,可确定按键所 在行和列。
编程说明:
在单片机应用系统中,键盘扫描只是系统的部分程序。进 行软件系统编程时,一般作为子程序调用或中断服务程序 使用。该子程序入口参数为无,出口参数为键码值,一般 存于A。因此,其调用十分简单,但一定要注意返回的键码 值所对应的键在键盘的哪个位臵,即要掌握键码分配表。 矩阵式键盘尽管比独立式键盘复杂。但有了上述子程序后, 只要学会调用,你甚至不需要知道键盘扫描程序是如何编 写的,COPY即可,编程也就变得十分简单了。从这可以看 出平时注意查阅资料,收集实用子程序,掌握子程序的调 用,对提高编程效率是多么重要。
DELY10MS
JAN1 ANJ JAN1_PRG JAN1
;P1.0=0键被按下,延时消抖
;P1.0是否仍为低电平,否则重 新查询 ;按键有效,等待键释放 ;调用键功能程序 ;返回继续查询
P1.0
at89c51单片机与dac实验原理
at89c51单片机与dac实验原理实验目的:通过将AT89C51单片机与DAC(数模转换器)连接,实现数字信号到模拟信号的转换,并通过外部模拟电路将转换后的信号输出到外部设备,进而实现对外部设备的控制或反馈。
实验原理:AT89C51单片机是一种常用的8位单片机,具有强大的数据处理能力和丰富的外设资源。
而DAC则是一种能够将数字信号转换为模拟信号的电子组件。
将AT89C51与DAC连接,可以实现通过单片机控制DAC输出模拟信号的功能。
DAC的工作原理是通过将一个数字信号转换为与之等效的模拟信号。
一般情况下,DAC的输入端接收到的是一个n位的数字信号。
而DAC的输出端则是一个与输入数字信号等效的模拟电压或电流信号。
通过改变输入端的数字信号,可以控制输出信号的幅度,实现对模拟信号的控制。
AT89C51单片机与DAC连接时,其输入端通过端口连接到单片机的IO 口,而DAC的输出端则通过外部模拟电路连接到外部设备。
在这个过程中,单片机通过编写程序控制IO口的输出信号,将对应的数字信号输入到DAC的输入端。
DAC将输入的数字信号转换为模拟信号,并通过外部电路将模拟信号输出到外部设备。
通过改变单片机输出信号的方式、频率和幅度,可以实现对外部设备进行控制或反馈。
实验步骤:1.连接AT89C51单片机与DAC。
根据DAC的引脚定义,将单片机的IO 口与DAC的输入端连接,同时将DAC的输出端与外部设备连接。
2.编写单片机程序。
根据实验需求,编写单片机程序,控制IO口的输出信号。
通过改变IO口输出信号的方式、频率和幅度,实现对DAC的输入信号的控制。
4.进行实验观察。
观察外部设备是否输出相应的结果,检测转换过程是否正常。
实验所需材料:-AT89C51单片机-DAC数模转换器-外部模拟电路-外部设备(如电机、灯光等)实验心得:通过将AT89C51单片机与DAC连接,可以实现数字信号到模拟信号的转换。
该实验具有一定的重要性,因为它可以通过单片机实现对外部设备的精确控制。
AT89C51单片机说明
EA A8H AF
ET2 ES
ET1 EX1 ET0 EX0
AD AC AB AA A9 A8 IE
A0H A7 A6 A5 A4 A3 A2 A1 A0 P2
SM0 SM1 SM2 REN TB8 RB8 TI
RI
98H 9F 9E 9D 9C 9B 9A 99 98 SCON
90H 97 96 95 94 93 92 91 90 P1
工作寄存器组3 18H
17H 工作寄存器组2
10H
0FH 工作寄存器组1
08H
07H 工作寄存器组0
00H
图 2-4 内部低 128 个字节地址 RAM 空间
第 3 页 共 9页
附录
AT89C51 单片机说明
寄存器符号 ACC B PSW SP
DPTR
P0 P1 P2 P3 IP IE TMOD TCON TH0 TL0 TH1 TL1 SCON SBUF PCON
IP 中断优先次序寄存器
位地址 - - BD BC BB BA B9 B8
符号
- - PT2 PS PT1 PX1 PT0 PX0
-(IP.7) :保留位,无定义。 -(IP.6) :保留位,无定义。 PT2(IP.5) :设定计时器 2 的优先次序(8052 使用)。 PS(IP.4) :设定串行端口的中断优先次序。 PT1(IP.3) :设定时/计时器 1 的优先次序。 PX1(IP.2) :设定外部中断 INT1 的优先次序。 PT0(IP.1) :设定计时器 0 的优先次序。 PX0(IP.0) :设定外部中断 INT0 的优先次序。
(60KB)
0FFFFH
1000H
外部 程序 存储器
AT89C51设计
AT89C51设计1. 简介AT89C51是一种经典的8位单片机,由凯瑞电子(Keil)公司生产。
它是Intel 8051指令集架构的一部分,具有强大的功能和广泛的应用。
AT89C51具有51个I/O引脚,4KB flash存储器,128字节的RAM,以及4个8位定时器/计数器。
它适用于各种嵌入式系统,如家电控制,电子设备,工业自动化,安全系统等。
本文将分享AT89C51的设计相关知识,包括硬件配置、编程语言和开发工具等内容。
2. 硬件配置AT89C51的硬件配置包括以下几个方面:2.1. 晶体振荡器AT89C51支持外部晶体振荡器,用于提供时钟信号。
一般情况下,使用11.0592MHz的晶体振荡器可以满足大多数应用需求。
2.2. 电源AT89C51工作电压为4.5V至5.5V,可以通过外部电源供电。
在设计中,需要提供稳定的电源电压,并通过适当的电源滤波电路降低电源噪音。
2.3. 外部存储器AT89C51内置4KB的闪存和128字节的RAM。
如果需要更大的存储空间,可以通过外部存储器扩展。
此外,还可以通过外部EEPROM实现数据的长期存储。
2.4. 输入/输出设备AT89C51具有51个I/O引脚,可用于连接各种输入/输出设备,如LED,键盘,LCD显示器等。
在设计中,需要根据具体需求配置合适的输入/输出设备。
3. 编程语言AT89C51支持多种编程语言,如汇编语言和C语言。
以下将介绍两种常见的编程语言。
3.1. 汇编语言汇编语言是一种符号化的低级语言,直接操作计算机硬件。
AT89C51使用的汇编语言是51系列的汇编语言,具有良好的指令集和寻址模式。
以下是一个简单的AT89C51汇编代码示例:ORG 0HMOV A, #20HMOV P1, AEND3.2. C语言C语言是一种高级编程语言,具有结构化的特点,能够更方便地编写和维护代码。
AT89C51的C语言编程通常使用凯瑞电子(Keil)公司的Keil C编译器。
(完整版)AT89C51单片机USB接口驱动和应用程序的开发毕业论文
北方民族大学学士学位论文论文题目:AT89C51单片机USB接口驱动和应用程序的开发院(部)名称:电信学院学生姓名:杨闯指导教师姓名:周春艳论文提交时间: 2010年5月24日论文答辩时间:2010年5月29日学位授予时间:北方民族大学教务摘要通用串行总线USB是一种新兴的并逐渐取代其他接口标准的数据通信标准。
USB,由于速度快,使用方便灵活,易于扩展,支持即插即用,成本低廉等一系列优点,得到了广泛的应用。
本论文以基于USB总线的数据采集系统的研制过程为主要内容,阐述了利用CH372与ATMEL的AT89C51等组成的一套数据采集系统的设计方案、开发方法和开发过程,并给出了具体实现方案。
论文首先简要介绍了USB总线的相关内容,然后介绍了数据采集系统的设计。
数据采集系统的设计包括硬件设计、固件程序开发、驱动程序开发和应用程序开发四部分。
在硬件设计部分,首先介绍了设计中所用的CH372的性能和特点,然后给出了具体硬件设计方案,并对设计中应该注意的问题进行了说明。
驱动和应用程序主要完成USB设备的读写和即插即用功能,并提供一个友好的人机界面,对数据采集系统进行控制并显示采集后的数据。
本论文已完成了基于USB总线的数据采集系统的设计,用其实现了基本的数据采集功能。
使用USB总线传输数据,为数据采集系统与计算机之间的通讯开辟了新的道路。
关键词:USB、驱动程序、应用程序、AT89C51、CH372AbstractUniversal serial bus USB is one kind of emerging and replace other interface standards of data communication standards. USB, due to fast, convenient and flexible easy to expand, to support plug and play, low cost advantages, such as widely application.The paper is mainly concerned with design process of data acquisition system that is based on USB bus. The design scheme, developing method and developing process of a suit of data acquisition system used with CH372 and ATMEL’s AT89C51 are expatiate. In addition, the paper also gives the material realization scheme.At fist, the paper introduces the protocol of USB bus in brief, and then discusses the design of data acquisition system, which includes four parts, , firmware design, device driver and application program. In the in detail; the questions which should be paid attention to in design is explained. Drivers and applications of the main equipment and USB plug and play function, and provide a friendly -machine interface, control ofdata acquisition system and display the data collection.The paper of data acquisition system based on USB bus and realizedthe basal data acquisition foundation. Using USB bus to transfer data blazed a way in communication between data acquisition system and computer.Keywords: USB、Drive、Applications、AT89C51、CH372目录第1章绪论 (1)1.1 引言 (5)1.2 USB的特点 (5)1.3 USB实时数据采集系统的实现方案 (7)第2章 USB体系简介 (8)2.1 体系概述 (8)2.2 USB的传输类型 (10)2.3 USB的设备状态 (13)第3章 USB数据采集系统的硬件设计 (16)3.1 USB 接口方案 (16)3.2 USB接口的硬件设计 (17)3.2.1 CH372简介 (17)3.2.2 USB接口的硬件电路设计 (23)3.3 USB接口硬件的实现 (25)3.3.1时钟电路 (25)3.3.2 复位电路 (25)3.3.3 AD转换电路 (26)3.3.4 CH372接口电路 (27)3.3.5 单片机扩展RAM接口电路 (28)第4章 USB数据采集系统设备固件编写 (28)4.1 固件设计方案及工作流程 (29)4.1.1固件的设计思想 (29)4.1.2固件的工作流程 (29)4.2固件开发 (30)4.2.1主循环模块(MAINLOOP.C) (30)4.2.2外接口模块 (31)4.2.3 CH375_INIT初始化模块 (31)4.2.4上传数据块模块 (31)4.2.5上传中断数据模块 (31)第5章 USB设备驱动程序及应用程序 (32)5.1驱动开发工具的选择 (32)5.2 WDM概述 (32)5.3 主要模块设计 (33)5.3.1 初始化模块 (34)5.3.2即插即用管理模块 (34)5.3.3 I\O控制模块 (37)5.4 应用程序设计与实现 (37)5.4.1 操作例程及初始化 (38)5.4.2 设备读写接口程序的实现 (39)5.4.3 数据传输程序的设计和实现 (40)5.5 用户应用程序的具体实现 (45)结束语 (46)致谢 (47)参考文献 (47)附录一 (48)附录二 (48)第1章绪论1.1 引言现代工业生产和科学研究对数据采集系统的要求日益提高,目前比较通用的方法已逐渐不能适应其要求。
