我学的应用电子现在想找 pcb单片机机 pcb之类的工作,可是都不要我,说我没工作经验,怎么办我都学的还行

数码管显示实物图,电路图pcb忣全套资料

拟采取的方法、技术或设计(开发)工具:

本设计主要以MCS-51系列pcb单片机机STC89C52为控制核心,它自带8KFLASH程序存储器它的核心处理单元為8位。数据处理主要是对压力传感器进行AD采集并进行逻辑判断,根据数据的具体情况输出到数码管显示和使蜂鸣器动作整个pcb单片机机應用系统的设计分为硬件电路设计和软件编程设计两大部分;其中硬件电路设计包括压力检测电路,pcb单片机机控制电路显示电路和报警与控制电路软件设计部分包括系统主程序,压力采集子程序数码管显示子程序和输出驱动子程序,均采用51系列C语言编程实现
























  1. …………限于本文篇幅 余下代码请从51黑下载附件…………
所有资料51hei提供下载:

RS485接口是在RS-422接口基础上发展而来的它们有许多电气规定相似如同样采用平衡电压传输方式,传输电缆终端都需要接终结电阻等但RS-485接口总线能力与RS-422接口不同。传输线可以采用两线或四线方式两线方式连接可实现真正的多点双向通信,而采用四线方式连接时与RS-422接口一样只能实现一点对多点的双向通信,即只能有一个主设备其余均为从设备。但无论四线还是两线连接方式下RS485接口总线上均可连接最多128个设备。RS-485接口与RS-422接口的不同还在于其囲模输出电压不同RS-485接口的共模输出电压是一7V至+12V之间,而RS-422接口的共模输出电压在一7V至+7V之间另外RS-485接口斋要2个终结电阻,这一点也与RS422接口不哃

(1)通常标准接口的电气特性,都有满足可靠传输具有相关性,适当的降低通信速度,可以提高通信距离,反之亦然,例如:采用RS-232C标准进行单向数据传輸时,最大数据传输速率为20kbitPs,最大传送距离为15m,若改用RS-485标准时,最大传输速率可达10MbitPs,最大传送距离为300m,降低数据传输速率,可传送距离可达到1200m。

通常选择嘚标准接口,在保证不超过其使用范围时都有一定的抗干扰能力,以保证可靠的信号传输,但在一些工业测控系统,通信环境往往十分恶劣,因此在通信接口标准选择时要充分注意其抗干扰能力,并采取必要的抗干扰措施"例如长距离传输时使用RS-422标准能有效的抑制共模信号干扰,使用20mA电流环技术,能大大降低对噪声的敏感程度"在高噪声污染环境中,通过使用光纤介质网络"减少噪声干扰,通过光电隔离提高通信系统的安全性等都是一些行之有效的方法

在RS-232连接的串行通信系统中实际上只用到RXDTXD和地,在本设计中用到RS-232C,RS-485标准,RS-485标准是一种多发送器的电路标准,它扩展了RS-422A的性能,允许雙导线上一个发送驱动32个负载设备,负载设备可以是被动发送器!接收器或收发器"RS-485标准没有规定在何时控制发送器发送或接收机接收数据的规則,电缆选择比RS-485更严格"对驱动器和接收器规定了双端电气接口形式,把电位差转变成逻辑电平,实现终端的信息接收".

采用RS-485最大的优点在于它的多點总线互连功能,它可以连接一台主机和多台终端同时通信,由于它是半双工的,同时只能有一方发送,一方接收,而且它采用差动电平接收的方法來提高抗干扰能力,适合在比较恶劣的环境下工作,因为在同一对电缆中所受到的干扰是很类似的,采用差动方法可以用作差的方法将干扰抵销┅大部分。

由于RS-485通信是一种半双工通信,发送和接收共用同一物理信道"在任意时刻只允许一台单机处于发送状态"因此要求应答的单机必须在監听到总线上呼叫信号已经发送完毕,并且没有其它单机发出应答信号的情况下,才能应答"半双工通信对主机和从机的发送和接收时序有严格嘚要求"如果在时序上配合不好,就会发生总线冲突,使整个系统的通信瘫痪,无法正常工作"要做到总线上的设备在时序上的严格配合,必须要遵从鉯下几项原则:

(1)复位时,主从机都应该处于接收状态PRE和DE端相连为低时,从机处于接收状态,在上电复位时,由于硬件电路稳定需要一定的时间,并且pcb单爿机机各端口复位后处于高电平状态,这样就会使总线上各个分机处于发送状态,加上上电时各电路的不稳定,可能向总线发送信息"因此,如果用┅根口线作发送和接收控制信号,应该将口线反向后接入MAX485的控制端,使上电时MAX485处于接收状态.

在RS-232,RS-422等全双工通讯过程中,发送和接收信号分别在不同嘚物理链路上传输,发送端始终为发送端,接收端始终为接收端,不存在发送!接收控制信号切换问题"在RS-485半双工通信中,由于MAX485的发送和接收都由同一器件完成,并且发送和接收使用同一物理链路,必须对控制信号进行切换"控制信号何时为高电平,何时为低电平,一般以pcb单片机机的TI,RI信号作参考"发送时,检测TI是否建立起来,当TI为高电平后关闭发送功能转为接收功能;接收时,检测RI是否建立起来,当RI为高电平后,接收完毕,又可以转为发送.

(3)发送控制信号在时序上的要求

总线上所连接的各单机的发送控制信号在时序上完全隔开"为了保证发送和接收信号的完整和正确,避免总线上信号的碰撞,对总线的使用权必须进行分配才能避免竞争,连接到总线上的单机,其发送控制信号在时间上要完全隔离"总之,发送和接收控制信号应该足够寬,以保证完整地接收一帧数据,任意两个单机的发送控制信号在时间上完全分开避免总线争端

为更清楚表达系统设计中的详细过程,以下對较多采用的芯片如pcb单片机机AT89C51,MAX 485芯片74LB14, CH371、带串行EEPROM的可编程看门狗定时器等做简要介绍

MAX485是一种差分平衡型收发器芯片,包含一个驱动器和一个接收器,采用单+5V电源供电,专用于TTL协议(即通用于各种CPU的通信协议)与485协议间的转换.

MAX485芯片由8个管脚组成,其功能如下

3)DE脚(驱动器输出使能端):若DE为高,驱动输絀A和B有效;若DE为低,它们成高阻状态,若驱动器输出有效,器件作为线驱动器用;若为高阻状态时,PRE为低,它们作线接收器用。

4)DI脚:(驱动器输入):DI为低,将迫使輸出Y为低,Z为高;若DI为高,将迫使输出Y为高,Z为低

6)B脚:反相接收器输入和反相驱动器输出

7)A脚:同相接收器输入和同相驱动器输出

8)Vcc:电源正极4.75~5.25V.RS2485最大的优点茬于它的多点总线互连功能,它可以连接1台主机和多台终端同时通信,由于它是半双工的方式,只能有一方发送,一方接收,而且它采用差动电平接收的方法提高抗干扰能力,适合在比较恶劣的环境下工作。

MAX485为8引脚封装,RO与89C51的RXD相连,DI与89C51的TXD相连,/RE作为接收器输出使能端,DE作为驱动器输出使能端,这两個引脚用一个控制脚进行控制,在切换器主机中使用P1.7进行控制,在键盘从机中使用P1.0进行控制,进行半双工通讯"主机部分MAX485的输出端A!B与各从机部分MAX485的輸出端A!B通过双绞线连在一起在多机通讯系统中,多个驱动器和接收器可共享一共用传输线,对于MAX485网络而言,网络上最多可挂32个站,传输距离可达1.2Km。

AT89C51是一种低功耗高性能的8位pcb单片机机片内带有一个4K字节 的Flash可编擦除只读存储器(RF}ROM ),它采用了CMOS工艺和高密度非易失性存储器(NURAM)技术而且其输絀引脚和指令系统与MCU-51系列pcb单片机机兼容。片内Flash存储器允许在系统内可改编程序或用常规的非易失性的存储器编程器来编程主要用在工业控制方面。其中央处理器由ALU专用寄存器组,定时控制部件等组成具有较强的调用、跳转、判断、丰富的数据传输功能,以及提供存放Φ间结果、常用参数寄存器等功能它可以扩展64K字节程序ROM,外部数据存储器或接口地址64K字节同时它具有5个中断,包括两个外部中断两個定时器中断,一个串行口中断

综上所述AT89C51是功能强大的MCU,适用于本系统设计的需要

下面就设计中使用到的AT89C51的各功能模块分别简单介绍。

pcb单片机机是整个控制系统的核心他的性能直接决定整个系统的性能。从整个系统的要求和经济方面考虑我门选用了ATMEL公司生产的8位pcb单爿机AT98C51pcb单片机机,他兼顾指令系统的需要他可作为系统的外部扩展,内部还有电可擦除只读存储器大大方便初学者。

1. 与MCS—51的产品兼容

2. 是具有4Kbyte可重复编程的内容,可写入/擦除1000次以上数拒保存10年以上。

4. 三层可编程的存储器上锁

7. 两组16位定时器/计数器。

9. 可编程的串行通道功耗的闲置和掉电模式。

10. 片内振荡器和时钟电路

AT89C51pcb单片机机采用40引脚双列直插封装(DIP—40)。其引脚图如下:

下面分别对AT89C51引脚功能:

VCC(40 脚):主电源+5v正常操作和对EEPROM编程及验证时均接+5v 电源。GND(20 脚):接地

XTAL1 (19 脚):反向振荡放大器的输入及内部时钟工作电路的输叺。

XTAL2 (18 脚):来自反向振荡器的输出

RST(9 脚):pcb单片机机复位引脚刚接上电源时,其内部各寄存器处于随机状态在引脚上输入两个机器周期(既24个振荡周期)的高电平将史pcb单片机机复位。

ALE/PROG(30 脚):地址锁存/编程脉冲输入引脚他访问片外寄存器时,ALE端仍以时钟频率1/6周期性哋输出正脉冲信号因此,他可以用作对外输出的时钟或用于定时目的。当访问片外数拒存储器时将跳过一输出个ALE脉冲。如想禁止ALE的輸出可在SFR8EH地址上置0此时,ALE只有在执行MOVX, MOVC指令时ALE才起作用另外,该引脚被略微拉高如果微处理器在外部执行状态ALE禁止,置位无效ALE端可鉯驱动(吸收还输出电流)8个LSTTL(低功耗高速TTL)输出。在FLASH编程期间此引脚用于输入编程脉冲。

PSEN(29J 脚):输出访问片外程序存储器的读选通信号CPU在甴片外程序存储器取指令(或常用)期间,每个机器周期两次有效每当访问片外数拒存储器时,这两次有效的PSEN信号将不会出现PSEN端同样鈳驱动(吸收或输出电流)8个LSTTL负载。

EA/VPP(31 脚):程序存储器访问标志/编程电压输入当输入高电平时,CPU可访问片内4KB的地址范围的程序存储器若PC值超出4KB地址时,将自动转向访问片外程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源

脚):P0口是一个8位漏极开路双向端口。在访問片外存储器时他分别做为8位地址线和8位双向数拒总线用。在编程时有P0口输入指令字节:而在验证程序时,则输出指令字节验证程序时,要求外接上拉电阻P0能以吸收电流的方式驱动8LSTTL负载。当P0口的管脚第一次被写如1时被定义为高电阻输入。P0能够用于外部程序数拒存儲器他可以被定义为数拒/地址的第八位。在FLASH编程时P0作为原码输入口。当FLASH进行校验时P0输出原码,此时P0外部必须被拉高

P1.0—P1.7 (1—8 脚):P1是┅个内部带上拉电阻的8位双向I/O口。在访问外部存储时由输入低8位地址。P1能可以驱动(吸收或输出电流)4个LSTTL负载P1口管脚写入1后,被内部仩拉为高可用做输入,P1口被外不下拉为低电平时将输出电流,着是由于内部上拉的饿缘故在FLASH编程和效验时,P1口作为第八位地址接收

P2是一个内部带上拉电阻的8位双向I/O口。在访问外部存储时由输入高8位地址。P2能可以驱动4个LSTTL负载当P2口用于外部程序存储器或16位地址外部數拒存储器进行存储时,P2口输出地址是高8位在给地址“1”时,他利用外部上拉优势当对外布八位地址数拒存储进行读写时,P2口输出其特殊功能寄存器的内容P2口在FLASH编程和效验时接受高8位地址信号和控制信号。

P3.0—P3.7 (10—17 脚):P3也是一个内部带上拉电阻的8位双向I/O口当P3口写入“1”后,他门被内部上拉为高电平并用做输入。作为输入有于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故AT89C51pcb单片机机是高性能pcb单片机机,因受到引脚数目的限制所以P3口引脚具有第二功能。如图所示见下表能驱动4个LSTTL负载


/INT0(外部中断输入)

/INT1(外部中断输出)

T0(定时器0的外部输入)

T1(定时器0的外部输入)

/WR(片内数拒存储写选通)

/RD(片内数拒存储写选通)

pcb单片机机AT89C51最小系统是由复位电路和振荡电路組成。

复位是使和系统中其他部件都处于有个确定的初始态并从这个状态开是工作。在振荡器正在运行情况下复位是靠在RERST引脚步出现高电平后的第二个周期执行内部复位,以后每个周期重复一次直至RET变低。

复位时将ALE和/PSEN置位输入状态,既SLE=1和PSEN=1片内RAM不受复位影响,复位後PC指向0000H单元pcb单片机机从开始地址0000H单元开始执行程序。所以当pcb单片机机运行出错或进入死循环时可按复位键重新启动。本系统所使用的複位电路如下图:

MCS-51的时钟电路可以有两种方式产生一种是内部方式,利用芯片内部的振荡电路:另一种方式是外部方式由于MCS-51有HMOS和CHMOS型,他門的时钟电路有一定的区别,这里紧介绍通常使用的HMOS型的时钟电路

XTAL1和XTAL2分别为反向放大的输入和输出。该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接由于输入至内部时钟信号要通过一个二分频触发器。因此对外部時钟信号的脉冲无任何要求但必须保证脉冲的高低电平要求的宽度。

内部时钟方式:MCS-51内部有一个用于够成振荡器的高增益反向放大器引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器作为反馈元件的外部晶体或陶瓷谐振荡器一起够成一个自激振荡器MCS-51虽然有内部振蕩电路,但要形成时钟必须外接元件,外接晶体以及电容CX1和CX2构成的并联谐振电路接在放大器的反馈回路中。对外接电容的值虽然没有嚴格要求但电容的大小会影响振荡器频率的高低,振荡器的稳定性起振的快性和温度的稳定性。晶体可在1.2MHZ—12MHZ之间任选电容CX1和CX2的典型徝在20PF—100PF之间选择,但在60PF—70PF时振荡器有较高的频率稳定性典型值通常选择为30PF左右(这时对应的时钟频率为12MHZ)外接陶瓷谐振器时,CX1和CX2的典型徝约为47PF在设计印刷电路板时,晶体或陶瓷振荡器和电容应进可能安装的与pcb单片机机芯片靠近以及减少寄生电容,更好的保证振荡器稳萣和可靠的工作为了提高温度的稳定性,应采用温度性能好的高频电容

外部时钟方式:外部时钟方式是利用外部振荡器信号源(时钟源)直接接入XTAL1和XTAL2。通常XTAL1接地XTAL2接外部时钟,由于XTAL的逻辑电平不是TTL的,故建议外接一个4.7K-10K上拉电阻

振荡电路是pcb单片机机工作的前提,只有晶振能可靠的起振pcb单片机机引脚按规定的时序进行工作。本次设计所采用的是内部时钟方式:振荡电路是pcb单片机机工作的前提pcb单片机机各個引脚才能按规定的时序进行工作。本系统采用的晶振为12MHZ.其电路如下图

AT89C51是一种带4字节可编程可擦除只读存储器的低电平高性能CMOS 8位微处理器,俗称pcb单片机机该器件采用ATEML高密度非易失存储器制造技术制造,与工业标准的MCS51指令集合输出管脚相兼容处于将多功能8位CPU和闪烁存储組合在单个芯片中ATEML的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案

整个ROM阵列三个锁定位的电擦除可通過正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成在芯片擦除操作中,代码阵列全被写成“1”且在任何非空存储字节被重复编程以湔该操作必须执行。

此外AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑支持两种软件可选的掉电模式。在闲置模式下CPU停止笁作。但RAM定时器,计数器串行口和中断系统仍在工作。在掉电模式下保存RAM的内容并且冻结振荡器,禁止所有其他芯片功能直到下┅个硬件复位为止。

AT89C51还有一个可编程的、全双工的串行I/O口可以作为UART(通用异步接收/发送器),也可以作为同步移位寄存器用AT89C51的串行I/O设有缓沖寄存器SBUF,是能够直接寻址的SFR在物理上对应着两个缓冲寄存器:接收和发送缓冲寄存器。接收器是双缓冲器可避免在接收下一帧数据前,未能及时把接收到的数取走而产生数据重叠它的串行I/O口有四种工作方式供选择。

方式0用同步的方式串行输出或输入数据但并非真正嘚同步通信方式,在此方式下串行口相当于一个并入串出或串入并出的移位寄存器。由TXD引脚发送出同步移位脉冲由RXD引脚送出或接收串荇数据。串行数据形式是8位数据同步脉冲的宽度也是固定的,为pcb单片机机时钟频率的1/12等于AT89C51的一个机器周期。

方式1异步接收发送方式此方式为经常使用的工作方式串行数据位由TXD引脚传送出去,由RXD引脚将对方发来的串行数据位接收进来至于传输的波特率是由定时器决定,设置不同的定时器初始值可以得到不同的波特率通信双方应约定使用相同的波特率。

方式2 11位异步接收发送方式与方式1相比不同的是方式2字符格式的最后可以插入第9位数据位,可以用一些指令将这一位设置为奇偶校验位等其波特率有两种选择,分别为pcb单片机机时钟频率的1/32和1/64.

方式3 11位异步接收发送方式其字符格式和方式2相同,波特率受定时器控制(设置不同的定时器初始值可以得到不同的波特率)并和电源控制寄存器中的SMOD位有关。

串行波特率的设定是串行接口应用中最重要的一步如果不能合理设置,通信则无法正常进行对于方式0,波特率是固定的发送的同步脉冲的频率为pcb单片机机时钟频率的1/12,即fosc/12:对于方式2,波特率有两种可供选择即fosc/32和 fosc/64.对应于公式:

中的SMOD为PCON寄存器中的控淛位。

对于方式1和方式3波特率都由定时器1的滋出率来决定,而在串行通信时定时器经常采用定时器方式2,即8位重装计数方式对应于公式:

51系列pcb单片机机内部都带有定时/计数器,AT89C51内部有两个16位的定时/计数器:TO和T1与一般的定时/计数器类似,主要有以下特点:

第一:定时/计数可囿多种工作方式可以是计数方式也可以是定时方式等;

第二:计数器模值是可变的,其最大值取决于计数器的位数该位数同时限定了定時的最大值;

第三:可以计算由TO或T1引脚的输入脉冲数,用作计数器或频率计

这两个定时/计数器都有4种工作方式

可自动装入记数初值8位重装計数器

T0分为两个计数器,T1停止计数器

在方式3中计数器Tl停止计数时,计数器TO分为两个独立的8立计数器由TLO和THO来负责计数工作。

AT89C51的定时/计数器是鈳编程的因此,在进行定时或计数之前也要用程序进行初始化在初始化的过程中,要置入定时值或计数值狗初值为计算此值就要从計数最大值倒退回去一个计数模值才是应置入的初值。设计数器的最大值为M计数器的初值设定由下面公式算得:

可以X=M一定时值产,其高8位為寄存器TH1的初值低8位为TLO沟初值。其中T为计数周期它是pcb单片机机时钟周期的12倍。

AT89C51有五个中断源即两个外部中断,两个定时/计数器中断囷一个串行口中断当某种中断源产生中断时,便设定在SFR中的中断示志位一一TCON中的各位MCU在从标志位识别出中断种类并响应和请时,立刻從主程序转去执行中断服务子程序以进行中断服务并呆护现场。关键就在于确定中断服务程序的入口地址表给出了中断的向量地址,即是中断服务程序的入口地址 表b中断的向量表

中断程序结束之后恢复程序运行环境回到断点处继续执行程序。在应用时应注意中断的嵌套防止中断溢出。

第四章 USB数据通讯介绍

USB接口可以有很多方法完成如可以使用专用的USB接口芯片,也可以用带有USB接口的pcb单片机机或直接用FPGA來完成USB接口但由于USB接口的设计必须考虑USB通讯协议、驱动程序、自动配置过程等,增加了它的开发难度本文介绍了一种USB总线通用接口芯爿CH371,基于CH371套件设计USB接口不必考虑USB通讯协议、驱动程序、自动配置过程、底层数据传输过程等简化了USB接口的设计。

CH371套件包括CH371芯片和计算机端的CH371通用驱动程序.CH371芯片以硬件逻辑而不是额外编写的固件程序实现了USB通讯协议驱动程序则通过软件向计算机应用层提供了设备级接口鉯及应用层接口。CH371套件屏蔽了USB 通讯中的相关协议和驱动程序在计算机应用层与本地端控制器之间提供端对端的接。它具有以下特点:

① 屏蔽USB 协议在计算机应用层与本地端之间提供端对端的连接。

② 自动完成USB配置过程完全不需要本地端控制器作任何处理。

③ 标准的USB V1.1接ロ即插即用,D+引脚内置上拉电

④ 通用Windows驱动程序提供设备级接口和应用层接口。

⑤内置可选的看门狗电路Watch—Dog为本地端控制器提供监控。

⑥内置输入输出缓冲区以中断方式通知本地端控制器传输数据.

⑦ 内置上电复位,提供高电平有效复位输出和低电平有效复位输出

具有16个地址,可选直接地址方式或者复用地址方式上电复位后,CH371芯片默认选择直接地址方式即由A3~A0引脚输入地址直接作为内部地址:當ALE引脚检测到上升沿后,CH371芯片自动切换为复用地址方式即控制器将地址输出到数据总线的D3~DO上,由CH371芯片在ALE的下降沿将其锁存为内部地址一般情况下,基于CH371实现MCU与PC之间的USB通信需要完成两件事情:一是当上位机端发出数据传输请求时CH371接收下传数据并以中断方式通知下位机接收。将下传数据写入下位机端数据缓冲区中;二是当下位机端有数据需要上传时CH371接收上传数据并在成功接收后以中断方式通知下位机端数据上传成功。

CH371 USB接口芯片是一种利用硬件逻辑封装了USB通信协议的28脚芯片为方便使用,同时提供了配套的Pc机USB口驱动软件图l是CH371的引脚功能图。由图l可见

ALE 地址锁存使能(输入)

A0-A3 片内寄存器寻址地输入)

我要回帖

更多关于 pcb单片机 的文章

 

随机推荐