《新概念51单⽚机C语⾔教程⼊门、提⾼、开发、拓展全攻
略》
1、引脚介绍
(1)电源和时钟引脚。如Vcc和GND、XTAL1和XTAL2(晶振)。
(2)编程控制引脚。如RST、PSEN、ALE/PROG、EA/Vpp(复位、读取内外存储器有关)
(3)I/O⼝引脚。如P0、P1、P2、P3,4组8位I/O⼝(P3⼝各引脚还有第⼆功能定义,包括串⾏输⼊输出和外部中断)
2、单⽚机最⼩系统
(1)电源
(2)晶振
(3)复位电路
3、理解锁存器
74HC573锁存器,锁存允许端LE。当LE⾼电平H时,输⼊和输出保持同步;当LE低电平L时,输出端保持上⼀次的值,不随输⼊端变化。应⽤场景举例:PI⼝接了A/D芯⽚的数据输出端,同时也接了发光⼆极管。
如果不加锁存器,则当A/D数据发⽣变化时,发光⼆极管也随着变化;
在P1和发光⼆极管之间加上⼀个锁存器,则当做A/D实验时,置锁存器的LE为L,则发光⼆极管不受A/D输出影响。
4、单⽚机⼏个周期
(1)时钟周期。震荡周期,定义为时钟频率(晶振频率)的倒数。最基本、最⼩的时间单位。在⼀个时钟周期内,CPU仅完成⼀个最基本的动作。
(2)状态周期。时钟周期的两倍。
(3)机器周期。基本操作周期,完成⼀项基本操作,如取指令、存储器读写等。它由12个时钟周期组成。
(4)指令周期。CPU执⾏⼀条指令所需要的时间。⼀般⼀个指令周期含有1-4个机器周期。
5、数码管
引脚。显⽰8,⼩数点,公共端,共计9个管脚。⼚商便于封装,⼀共10个引脚。
段选和位选。多位⼀体,指将多个数码管连在⼀起。他们的公共端(位选线)是独⽴的,控制点亮哪个数码管。显⽰数字的段线(段选线)是连在⼀起的,控制显⽰什么数字。
6、中断
(1)52单⽚机⼀共有6个中断源。
INT0---外部中断0,由P3.2端⼝线引⼊,低电平引起.0
INT1---外部中断1,由P3.3端⼝线引⼊,低电平引起.2
T0---定时器/计数器0中断,由T0计数器计满回零引起.1
T1---定时器/计数器1中断,由T1计数器计满回零引起.3
T2---定时器/计数器2中断,由T2计数器计满回零引起.5
T1/R1---串⾏⼝中断,串⾏端⼝完成⼀帧字符发送/接收后引起.4
(2)中断寄存器
中断允许寄存器IE,⽤于设定打开或关闭某个中断
中断优先级寄存器IP,⽤于设定各个中断的优先级
(3)定时器T0中断寄存器
定时器/计数器⼯作⽅式寄存器TMOD
定时器/计数器控制寄存器TCON
(4)中断服务程序的写法
void 函数名() interrupt 中断号 using ⼯作组
{
}
实例程序:
#include <reg52.h>
sbit led1=P1^0;
void main()
{
while(1);
}
void T0_time() interrupt 1
{
led1=~led1;
}
7、键盘
(1)单⽚机检测按键原理
单⽚机的IO⼝即可作为输出也可作为输⼊使⽤,当检测按键时⽤的是它的输⼊功能,
把按键的⼀端接地,另⼀端与单⽚机的某个IO⼝相连,开始时先给该IO⼝赋⼀⾼电平,然后让单⽚机不断地检测该IO⼝
是否变为低电平,当按键闭合时,即相当于该IO⼝通过按键与地相连,变为低电平,程序⼀旦检测到IO⼝变为低电平则
说明按键被按下,然后执⾏相应的指令。
(2)抖动
按键在按下时,实际波形在按下和释放的瞬间都有抖动现象,也就是电压变化是不规律的,不能以此时的电平变化为依据
来判断按键是否按下,所以应该单⽚机在检测键盘是否按下时都要加上去抖动操作,⼀般⽤软件延时⽅法来解决抖动。
(3)矩阵键盘
3X3,4X4,5X5矩阵键盘,分别有9,16和25个按键,共6,8和10根线。各键盘的两端都与IO⼝相连。
独⽴键盘有⼀端固定为低电平,⽽矩阵键盘两端都与单⽚机IO⼝相连。
检测时,先送⼀列为低电平,其余各列全部为⾼电平,然后⽴即轮流检测⼀次各⾏是否有低电平,
这样就能检测到哪⼀⾏哪⼀列的按键按下了
8、AD和DA
ADC0804和DAC0832分别为使⽤⾮常普遍的8位AD和DA转换器。
9、串⾏⼝通⾏原理
(1)串⼝通信分为异步串⾏通信和同步串⾏通信。
(2)异步串⾏通信是指通信的发送和接收设备使⽤各⾃的时钟控制数据的发送和接收过程。
异步通信⼀帧字符信息由4部分构成:起始位、数据位、奇偶校验位和停⽌位。异步通信是常⽤的⽅式。
(3)在计算机和单⽚机之间传输数据时,通常需要进⾏电平转换。MAX232芯⽚可以实现RS-232和TTL电平的相互转换。
(4)单⽚机和计算机之间的串⼝线需要谨慎选择,选择平⾏串⼝线还是交叉串⼝线,是选择母头对母头串⼝线还是母头对公头串⼝线。(5)串⾏⼝有四种⼯作⽅式,对应着三种波特率,各波特率与晶振的频率和T1定时器有关
(6)只有当单⽚机选择11.059MHz晶振时,T1定时初值才是⼀个整数,计算出来的波特率才是正常的。
10、液晶显⽰器(Liquid Crystal Display,LCD)
(1)显⽰原理是以电流刺激液晶分⼦产⽣点线⾯并配合背部灯管构成画⾯。
(2)1602表⽰每⾏显⽰16个字符,⼀共可以显⽰两⾏,⼀共可以显⽰32个字符。类似的12864,128⾏64列。
(3)液晶体积⼩、功耗⼩、显⽰操作简单,但是它由⼀个致命的弱点,其使⽤的温度范围很窄,通⽤型液晶正常⼯作范围为0--55度。(4)液晶显⽰器控制器内部有RAM,当向相应地址任⼀处写⼊显⽰数据时,液晶都可以⽴即显⽰出来。
10、I2C总线
(1)I2C总线由数据线SDA和时钟线SCL两条线构成通信线路,所有的信号(启动信号、停⽌信号、地址码信号)和数据。
(2)各种被控器件均并联在总线上,但每个器件都有唯⼀的地址。各器件的数据线SDA和时钟线SCL全部接到⼀起,然后连着CPU的SDA和SCL⼝。
(3)SDA的上升和下降沿随着时钟信号的SCL的⾼低电平,来形成各种控制信号。
(4)AT24C02是具有I2C总线接⼝的E2PROM的芯⽚,寻址⽅式包括:芯⽚寻址,1010+A2A1A0,其中A2、A1和A0是可编程地址选择位,共形成7位的地址。
⽚内⼦地址寻址:可对内部256B中的任⼀个进⾏读写操作,其寻址范围为00--FF,共256个寻址单位。
11、运放电路
运算放⼤,是把较⼩的电压或电流信号放⼤成较⼤的⽅便后续处理的电压信号,所谓的放⼤倍数就是指输出信号与输⼊信号的⽐值。
其应⽤包括:反相器、电压⽐较器、电压跟随器、积分器、微分器。
12、串⼝通信
(1)单⽚机双机通信⽅式:TTL电平通信(双机串⾏⼝直接互连)、RS-232C通信、RS-422A通信、RS-485通信。
(2)远程⽆线通信。借助于⽆线设备(2.4GHz⽆线视频传输模块和433MHz⽆线数据传输模块),这类设备价格低廉,预留接⼝通常为TTL电平、RS-232C或RS-485接⼝,
与单⽚机系统连接⾮常简单,编写程序也很容易。
(3)若要使⽤先进的远距离⽆线通信,可以借⽤当前中国移动和中国联通的CDMA或GPRS通信⽹络来完成数据远程通信。也就是相应的GPRS⽆线猫或CDMA⽆线猫。
(4)单⽚机多机通信。采⽤总线型主从式结构,所谓主从式,即在数个单⽚机中,有⼀个是主机,其余的都是从机,从机要服从主机的调度、⽀配。
主机先发地址帧,然后再发数据帧。
13、单⽚机功能介绍
(1)空闲模式和掉电模式
c语言编程入门指南pdf空闲模式:当单⽚机进⼊空闲模式时,除CPU处于休眠状态外,其余硬件全部处于活动状态;
掉电模式:当单⽚机进⼊掉电模式时,外部晶振停振,CPU、定时器、串⾏⼝全部停⽌⼯作,只有外部中断继续⼯作。
正常⼯作电流>空闲模式电流>休眠模式电流
(2)看门狗
原理和⼯作过程:看门狗芯⽚和单⽚机的⼀个IO引脚相连,该IO引脚通过单⽚机的程序控制,使它定时地往看门狗芯⽚的这个引脚上送⼊⾼电平,这⼀程序语句时分散地放在单⽚机其他控制语句中间的,⼀旦
单⽚机由于⼲扰造成程序跑飞⽽陷⼊某⼀程序段进⼊死循环状态时,给看门狗引脚松电平的程序便不能被执⾏到。这时,看门狗芯⽚便给复位⼝发送⼀个信号对单⽚机进⾏复位。
STC89系列单⽚机有⼀个⾃带的看门狗定时器寄存器(WDT_CONTR)
(3)复位
STC单⽚机增加了相应的硬件功能,内部的ISP/IAP控制寄存器ISP_CONTR便可以实现此功能,⽤户只需要简单的控制ISP_CONTR特殊功能寄存器中的SWBS和SWRST两位就可以实现系统复位。
(4)内部扩展RAM应⽤
RAM是在程序运⾏中存放随机变量的数据空间,也就是局部变量的空间。51单⽚机默认的内部RAM只有128B,在⽤keil编写程序时,总程序所有变量占⽤的字节之和⼩于128B,
并且存储器模式为small模式;当程序中的总变量⼩于128B时,编译器会默认将变量值设定为0,⼀旦程序中的总变量超过128B时,必须对所有变量进⾏初始化,否则变量默认值将是不确定的。
存储器模式⼀共有三种,small、compat和large模式,各种模式下允许的ram空间不⼀样,分别为128B、256B和64KB,访问速度也不⼀样,从快到慢。定义⽅式分别为:
uchar a;uchar pdata a[100];uchar xdata a;
(5)扩展P4⼝应⽤
P4⼝的P4.2和P4.3引脚新增加了两个外部中断作为它们的第⼆功能。由扩展中断控制寄存器(XICON)和扩展中断优先级寄存器(IPH)两个寄存器设置此两个中断。
(6)内部E2PROM的应⽤
ISP是指在系统编程,也就是⽚⼦已经焊在板⼦上,不⽤取下,就可以简单⽽⽅便地对其进⾏编程;
IAP是指在应⽤编程,就是⽚⼦提供⼀系列的机制,当⽚⼦在运⾏程序时可以提供⼀种改变flash数据的⽅法,也就是程序⾃⼰可以往
程序存储器⾥写数据或修改程序。实际上单⽚机的ISP功能就是通过IAP技术来实现的。
过单⽚机的程序控制,使它定时地往看门狗芯⽚的这个引脚上送⼊⾼电平,这⼀程序语句时分散地放在单⽚机其他控制语句中间的,⼀旦 单⽚机由于⼲扰造成程序跑飞⽽陷⼊某⼀程序段进⼊死循环状态时,给看门狗引脚松电平的程序便不能被执⾏到。这时,看门狗芯⽚便给复位⼝发送⼀个信号对单⽚机进⾏复位。
STC89系列单⽚机有⼀个⾃带的看门狗定时器寄存器(WDT_CONTR)
14、Protell绘制电路图全过程
国内⽤的较多的是Protell 99,Protell DXP和Altium designer是Protell 99的升级版,某些企业还使⽤Power PCB。
如果你会单⽚机,但不会电路图,那终究是个笑话。
(1)绘制原理图;(2)绘制元件库;(3)绘制PCB封装;(4)错误检查及⽣成PCB;(5)摆放元件位置;(6)设置布线规则;
(7)布线;(8)检查结果;(9)敷铜;(10)送去加⼯
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论