电路图设计与线路板制作
8031
P27-P20,P07-P00是地址线也是数据线。
8031是如何控制74LS374的?
8031是如何通过74LS138分配地址给2764和8155的?
8155是如何
那些没有连接上端口的线是什么意思?
74LS138
Y7口连接8155的CE使能口(低电平有效);Y6连接74LS374的CLK;Y5连接74LS244;Y3连接2764的CE使能口(低电平有效);
第三次实验:步进电机原理
MCS-51单片机
64K外部数据存储空间,相当于。
若晶振频率为12MHZ,一个机器周期由12个始终周期组成,则一个机器周期为1微秒,一个时钟周期是1/12微秒。
存储器组织
MCS-51 有五个独立的寻址空间。
64K 字节程序存储器空间(0-0FFFFH)
64K 外部数据存储器空间(0-0FFFFH)
256 字节内部 RAM 空间(0-0FFH)
256 位寻址空间(0-0FFH)
工作寄存器区
MCS-51 的外部程序存储器和数据存储器是分离的,对于 CPU 来说,程序 存储器是只读的,通过 PSEN 信号控制;数据存储器是可读写的,通过 RD 和 WR 信号控制。
内部 RAM 的不同地址区域从功能和用途可以区 分为:内部工作寄存器区,位寻址区,堆栈和通用数据存储区。 MCS-51 单片机的内部 RAM 的寻址空间为 256 字节,实际提供给用户的通 用 RAM 空间一般为前 128 字节,也就是00H-7FH,后128 字节是内部特殊功能寄存器(SFR)空间。内部 RAM 的 0-1FH 为 4 组工作寄存器区,每个区有 8 个工作寄存器(R0 -R7)(这么说一个bit对应一个寄存器,2*16正好对应32个寄存器),指令中使用 R0 与直接使用 00 单元是 等价的;内部 RAM 的 20H-2FH 为位寻址区域,这 16 个单元的每一位都对应一个位 地址,占据位地址空间的 0-7FH。每一位都可以独立置位、清除、取反等操作;在中断和子程序调用中都需要堆栈,一 般设置在 30H 以后。堆栈的栈顶位置由堆栈指针寄存器 SP 指出,SP 在复位后为 07H,一般在程序初始化阶段将其调整到需要的位置。
寻址方式
由指令指出某一个寄存器的内容作为操作数称为寄存器寻址。一般在指令中 有 3 位来表示所用的寄存器(R0-R7)。累加器 ACC、B、DPTR 和 C(布尔处理 中的累加器)也可以使用寄存器寻址方式访问。C是进位标志。
输入输出接口
P3 口为多功能口,用户可以使用系统预设的功能,这时必须向其输出 1;也 可以作为普通 I/O 口使用,这时使用方法与 P1 口一致。
定时器
由于在绝大多数的应用中都需要使用定时器/计数器,在 MCS-51 中设立了 两个 16 位定时器/计数器 T0,T1,在某些型号中还有第三个定时器/计数器 T2。 和定时器/计数器相关的特殊功能寄存器有以下:TH0,TL0,TH1,TL1,TMOD, TCON。通过对它们的设置和读写就可以控制使用定时器/计数器。 TH0,TL0 为 T0 的 16 位计数的高 8 位和低 8 位;TH1,TL1 为 T1 的 16 位计 数的高 8 位和低 8 位;TMOD 是方式寄存器;TCON 是状态和控制寄存器。
定时计数选择位 C/T=0 时为定时方式。这时,以振荡器的 12 分频信号作为 计数信号,也就是每一个机器周期定时器内的值加 1。若晶振为 12MHz,则定时 器的计数频率为 1MHz。
TMOD 的格式如下,高 4 位和低 4 位分别控制 T1 和 T0,它们的含义是完全 相同的:

M1M0控制定时器的工作方式。
控制寄存器 TCON 的高 4 位存放定时器的运行控制位和溢出标志位,低 4 位 存放外部中断控制位(详见中断一节),格式如下:

运行控制位 TR0 和 TR1 分别控制两个定时器是否允许计数。溢出标志位 TF0 和 TF1 标志定时器是否已经计数到大值,发生溢出,这一 位可以由程序来查询和清零,如果 CPU 响应定时器中断则此位为 1 时,发生定时器中断,在中断响应时由硬件清零。
串行接口
特殊功能寄存器 SCON 存放串行口的状态和控制信息。SCON 的地址为 98H,具有位寻址功能。其格式如下:

TI 是发送中断标志,由硬件在方式 0 串行发送第 8 位结束 时置位,或在其他方式下发送停止位时置位,必须由软件清零。RI 是接收中断标 志,由硬件在方式 0 接收到第 8 位结束时置位,或在其他方式下接收到停止位时 置位,必须由软件清零。
中断系统
8031 有 5 个中断源,具有两个中断优先级,可以实现二级中断服务程序嵌套;8031 的 5 个中断源是 INT0,INT1 上的外部中断源,定时器 T0,T1 的溢出中断和串行口的发送接收中断等三个内部的中断源。
每一个中断源的开放和屏蔽是由中断允许寄存器 IE 控制的。IE 的字节地址 是 0A8H,也是可以位寻址的特殊功能寄存器。其格式如下:

EA 是整个 CPU 的中断允许标志。当 EA=1 时,CPU 可以响应中断;当 EA= 0 时,屏蔽所有中断申请。 ES 是串行口中断允许位;ET1 和 ET0 是 T1 和 T0 的中断允许位;EX1 和 EX0 是外部中断INT1和INT0的中断允许位。这些位为1时允许响应对应的中断申请, 为 0 时屏蔽之。
MCS-51 内部有一个中断优先级寄存器 IP(地址为 0B8H),定义各个中断源 的优先级,格式如下:

从 D4 开始,按顺序分别为串行中断、T1、INT1、T0,INT0 的中断优先级标 志,若为 1,表示此中断的优先级为高,否则为低。CPU 复位后,IE,IP 的内容均为 0,禁止所有中断。由初始化程序对 IE、IP 编程,以根据需要决定中断的允许与优先级。
各中断服务程序的入口地址是固定的,如下所示:

通常在中断的入口处,放置一条长跳转指令,转移到用户设计的中断处理程 序中。
RETI 表示中断处理程序 的结束。。CPU 在执行这条指令时,把响应中断时所置的优先级状态触发器清零, 从堆栈的顶部弹出两个字节到程序计数器 PC,CPU 重新执行被打断的主程序。
步进电机
本实验使用简单的双四拍工作模式即可,这也是FAN8200比较方便的工作方式。只要将CE1和CE2分别置为高,然后IN1和IN2按照预定的脉冲输出,即01->11->10->00->01这个循环构成一个方向旋转的输出脉冲,将此序列翻转,就是相反方向的输出脉冲。
若步进电机的每t秒动一下,则设置计数器初值为(计数器采用方式1),则计数器初值s的计算为:
| CPU | FAN8200 |
|---|---|
| P1.1 | CE1 |
| P1.4 | CE2 |
| P3.2 | IN1 |
| P1.0 | IN2 |
上面的表格是CPU和FAN8200(步进电机驱动芯片)进行连接的示意。
P3.7连接到S2,当S2按下时,P3.7置为1;P3.6连接到S1,当S1按下时,P3.6置为1。
LED显示器
本开发平台有 3 个数码管。。要想输出一个字形码,就需要从高位到低位依次向移位寄存器输出 8 个比特。 移位寄存器的数据线和时钟线分别接到单片机的 P4.5 和 P4.4 管脚,可以使用 MCS-51 里面的位操作指令进行输出。连续输出 3 个字形,24 个 bit 之后,欲显 示的字形将稳定地显示在数码管上,程序可以转而执行其他工作。 也就是说,LED0的Q0-Q7,LED1的Q0到Q7,LED2的Q0到Q7从左到右依次排列,24位数据(表示3个灯的显示)顺序从左到右进去,然后LED0-2就有了稳定的数据来显示。
代码
1 | ORG 0000H |
第五次实验:重量测量
液晶显示屏
硬件特性
LCM内部寄存器

YM12864C硬件连接

软件特性
对于每一个分区(左右两个分区),每一个页(共8页),每一个列(共64列)输出对应的一个字节。选择哪一个分区,哪一页,哪一列完全可以通过 YM12864C的输入进行控制。分区通过CS1和CS2控制,页号通过3位译码后进行控制,列号通过6位译码后进行控制。


每个字码设置的是宽为16,长为2的矩阵,一个字需要32个字码
A/D转换器
A/D转换典型线路连接
A/D转换结果寄存器格式

A/D转换结束后,最终的转换结果保存 到ADC转换结果寄存器ADC_RES和ADC_RESL,同时,置位ADC控制寄存器ADC_CONTR中的A/D转 换结束标志位ADC_FLAG,以供程序查询或发出中断申请。模拟通道的选择控制由ADC控制寄存 器ADC_CONTR中的CHS2 ~ CHS0确定。ADC的转换速度由ADC控制寄存器中的SPEED1和SPEED0确 定。在使用ADC之前,应先给ADC上电,也就是置位ADC控制寄存器中的ADC_POWER位。
如果要允许A/D转换中断则需要将相应的控制位置1:
将EADC置1,允许ADC中断,这是ADC中断的中断控制位。
将EA置1,打开单片机总中断控制位,此位不打开,也是无法产生ADC中断的,A/D中断服务程序中要用软件清A/D中断请求标志位ADC_FLAG(也是A/D转换结束标志位)。
与A/D转换相关的寄存器

ADC_CONTR
ADC_POWER: ADC电源控制位。
0:关闭A/D转换器电源;
1:打开A/D转换器电源.
SPEED1,SPEED0:模数转换器转换速度控制位
ADC_FLAG: 模数转换器转换结束标志位,当A/D转换完成后,ADC_FLAG=1,要由软件清0。 不管是A/D转换完成后由该位申请产生中断,还是由软件查询该标志位A/D转换 是否结束,当A/D转换完成后,ADC_FLAG = 1,一定要软件清0。
ADC_START:模数转换器(ADC)转换启动控制位,设置为“1”时,开始转换,转换结束后为0
CHS2/CHS1/CHS0:模拟输入通道选择,CHS2/CHS1/CHS0

由于是2套时钟,所以,设置ADC_CONTR控制寄存器后,要加4个空操作延时才可以正确读 到ADC_CONTR寄存器的值,原因是设置ADC_CONTR控制寄存器的语句执行后,要经过4个CPU 时钟的延时,其值才能够保证被设置进ADC_CONTR控制寄存器。
代码
1 |
|
思考题
调零的原理,软件调零和硬件调零的区别。
答: 调零的原理:在未放上砝码之前,使液晶显示屏显示的重量为 000g,有软件调零和硬 件调零两种。软件调零和硬件调零的区别:硬件调零是指在未放砝码时,为了使液晶显示屏 初始现实为 000g,通过实验设备配套的工具,调节旋钮实现;而软件调零是指,在不通过硬 件调节,而是通过程序实现,使未放置砝码时,液晶显示屏显示 000g。
模/数和数/模的信号转换原理。
答: 模/ / 数和数/ / 模的信号转换原理:ADC 的转换原理根据的电路形式有所不同。ADC 电 路通常由两部分组成,它们是:采样、保持电路和量化、编码电路。其中量化、编码电路是 最核心的部件,任何 AD 转换电路都必须包含这种电路。ADC 电路的形式很多,通常可以 并为两类:间接法:它是将采样保持的模拟信号先转换成与模拟量成正比的时间或频率,然 后再把它转换为数字量。这种通常是采用时钟脉冲计数器,它又被称为计数器式。它的工作 特点是:工作速度低,转换精度高,抗干扰能力强。直接法:通过基准电压与采样保持信号 进行比较,从而转换为数字量。它的工作特点是:工作速度高,转换精度容易保证。DA 转 换器是由数码寄存器、模拟电子开关电路、解码电路、求和电路及基准电压及部分组成。数 字量是以串行或并行方式输入并存储在数码寄存器中,寄存器输出的每位数码驱动对应数位 上的电子开关将电阻解码网络中获得的相应数位权值送入数位求和电路中 2,求和电路将各 位权值相加就得到与数字量相应的模拟量。
I2C 总线在信号通讯过程中的应用。
答:I2C 总线在信号通讯过程中的应用:I2C 总线是 Phihps 公司开发的一种双向两线多主 机总线,利用两根信号线来实现设备之间的信息传递,一根为数据线 SDA,一根为时钟线 SCL。
第六次实验:直流电机
直流电机原理
1.脉宽调制调速的原理与方法:
1)原理:PWM 的基本原理是通过输出一个很高频率的 0/1 信号,其中 1 的比例为δ (也 叫做占空比),在外围积分元件的作用下,使得总的效果相当于输出δ×A(A 为高电平电 压)的电压。通过改变占空比就可以调整输出电压,从而达到模拟输出并控制电机转速的效 果。
2)PWM 的应用:在本实验中主要应用脉宽调制调速控制电压调制,从而控制直流电机转 速;此外,还可以应用在频率调制等,如应用在蜂鸣器等。
2.中断原理
1)外部中断:采用边沿触发方式(当管脚 INTO 有由高电平变为低电平的过程,便认为有 中断请求,EX0 向置高电平,向 CPU 发出中断请求)电机转速就是一秒钟之内 INT0 的中 断个数,电机每转动一次,与之相连的偏心轮将遮挡光电对管一次,因此会产生一个脉冲, 送到 INT0。
2)定时器中断 0:采用累加进位法(采用比例控制算法),在程序中,每 0.1ms 都会记录 当前速度,当转速 S 大于预定值时,将输出 0 的个数减少;当转速小于预定值时,将输出 0 的个数增加。主要用于脉宽调制调速:将高频率的 0/1 输出,在外围积分元件作用下, 输出δ ×A(A 为高电平电压)的电压,通过改变占空比来调节电压.
3)定时器中断 1:每 50ms 读取两个开关的状态,如果 S1 按下,动态调整输出,使得电 机转速能够稳定到低转速目标值附近,如果 S2 按下,动态调整输出,使得电机转速能够稳 定到高转速目标值附近。交替显示目标值和当前转速值。
3.反馈控制的基本原理 就是根据实际结果与预期结果之间的差值,来调节控制变量的值。当实际转速高于预期转速 时,我们需要减少控制变量,以降低速度;反之则需要调高控制变量。
代码
1 |
|
思考题
- 讨论脉宽调速和电压调速的区别、优缺点和应用范围。 答:脉宽,其实就是指脉冲的宽度。开和关的时间比值就可以认为是脉冲的占空比,开的时 间长,相应的关的时间就会缩短(每秒必须完成一次开和关,相当于脉冲的频率)。脉宽调 速,实质上也是电压调速,因脉宽调制的输出,经滤波,续流,供给电机的也是连续的(可 调)直流电压,所以也叫脉宽调压,对电机没有什么机械损伤,但要加滤波和续流电路。脉 宽调速不需要在计算机接口中使用 D/A 转换器,基本原理是使用具有一定占空比的方波来 模拟对应的电压值。电压调速工作时不能超过特定电压,优点是机械特性较硬并且电压降低 后硬度不变,稳定性好,适用于对稳定性要求较高的环境。脉宽调速可大大节省电量,具有 很强的抗噪性,且节约空间、比较经济,适用于低频大功率控制。
- 说明程序原理中累加进位法的正确性。 答:累加进位法相当于每输出 M/N-1 次 1,就输出一个 0,相当于输出的 0:1 为 N:(M-N), 与占空比一致,所以累加进位法是正确的,并且实现了将总的周期内的 0 和 1 均匀分散开。
- 计算转速测量的最大可能误差,讨论减少误差的办法。 答:转速变化为 M/(N-1)-M/N = M/(N(N-1)),所以实际转速与预期转速之间存在误差为 M/(N(N-1))。为了减小误差,可以增大 M 或减小N。