单片机5
- 格式:ppt
- 大小:75.50 KB
- 文档页数:14


2.3 51单片机增强型学习系统各组成部份原理图及功能简介
2.3.1 共阴极数码管动态扫描控制
图2.2 51单片机增强型学习系统的四位共阴极数码管动态扫描硬件连接原理图
AT89S51单片机P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上接电阻。
AT89S51单片机P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX @DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX @Ri指令)时,P2口线上的内容(也即特殊功能寄存器SFR区中P2寄存器的内容),在整个访问期间不改变。Flash编程或校验时,P2亦接收高位地址和其它控制信号。
在上面的硬件连接原理图里,我们用到的是P0和P2口控制四位数码管显示的。四位数码管显示的方式是动态扫描显示,动态扫描显示是单片机中应用最为广泛的一种显示方式之一。其接口电路如上图是把所有显示器的8个笔划段a-h同名端连在一起由单 51单片机增强型学习系统
1 片机的P0.0~P0.7控制,而每一个数码管的公共极(阴极) 是各自独立地受单片机P2.7~P2.4控制。CPU向字段输出口P0口送出字形码时,所有数码管接收到相同的字形码,但究竟是那个数码管亮则取决于P2.7~P2.4的输入结果,所以我们就可以自行决定何时显示哪一位了。而所谓动态扫描就是指我们采用分时的方法,轮流控制各个数码管的公共极,使各个数码管轮流点亮。在轮流点亮扫描过程中,每位数码管的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。
51单片机的专用寄存器
21个特殊功能寄存器(52系列是26个)不连续地分布在128个字节的SFR存储空间中,地址空间为80H-FFH,在这片SFR空间中,包含有128个位地址空间,地址也是80H-FFH,但只有83个有效位地址,可对11个特殊功能寄存器的某些位作位寻址操作(这里介绍一个技巧:其地址能被8整除的都可以位寻址)。
在51单片机内部有一个CPU用来运算、控制,有四个并行I/O口,分别是P0、P1、P2、P3,有ROM,用来存放程序,有RAM,用来存放中间结果,此外还有定时/计数器,串行I/O口,中断系统,以及一个内部的时钟电路。在单片机中有一些独立的存储单元是用来控制这些器件的,被称之为特殊功能寄存器(SFR)。这样的特殊功能寄存器51单片机共有21个并且都是可寻址的列表如下(其中带*号的为52系列所增加的特殊功能寄存器):
MCS-51单片机的特殊功能寄存器
符号 字节地址 功能介绍
B F0H B寄存器
F7H F6H F5H F4H F3H F2H F1H F0H
ACC E0H 累加器
E7H E6H E5H E4H E3H E2H E1H E0H
ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0
PSW D0H 程序状态字
D7H D6H D5H D4H D3H D2H D1H D0H
CY AC F0 RS1 RS0 OV P
IP B8H 中断优先级控制寄存器
BFH BEH BDH BCH BBH BAH B9H B8H
- - PT2 PS PT1 PX1 PT0 PX0
P3 B0H P3口锁存器
B7H B6H B5H B4H B3H B2H B1H B0H
P3.7 P3.6 P3.5 P3.4 P3.3 P3.2 P3.1 P3.0
第2用途 /RD /WR T1 T0 /INT1 /INT0 TXD RXD
第五章 中断系统作业
1. 外部中断1所对应的中断入口地址为( )H。
2. 对中断进行查询时,查询的中断标志位共有
、_ _、 、 _ 和_ 、_ _ 六个中断标志位。
3.在MCS-51中,需要外加电路实现中断撤除的是:( )
(A) 定时中断 (B) 脉冲方式的外部中断
(C) 外部串行中断 (D) 电平方式的外部中断
4.下列说法正确的是:( )
(A) 同一级别的中断请求按时间的先后顺序顺序响应。( )
(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。( )
(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。( )
(D) 同级中断不能嵌套。( )
5.在一般情况下8051单片机允许同级中断嵌套。( )
6.各中断源对应的中断服务程序的入口地址是否能任意设定? ( )
7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。( )
8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的( )中。
(A)TMOD (B)TCON/SCON (C)IE (D)IP
9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( )
(A)98H (B)84H (C)42 (D)22H
10.编写出外部中断1为负跳沿触发的中断初始化程序。
11. 什么是中断?其主要功能是什么?
12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?
13. 什么是中断嵌套?
14.中断服务子程序与普通子程序有哪些相同和不同之处?
15. 中断请求撤除的有哪三种方式?
16. 特殊功能寄存器TCON有哪三大作用?
17. 把教材的P82页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。(可参考第四章的电子教案中的例子)
现开发了单片机控制5路PWM波形,也可以同时控制15路直流三色灯板,按触摸屏顺序点亮的电路和程序,供大家参考。
电路为
单片机ATMEGA128控制5路PWM方波,按照74HC08逻辑编码输出15路PWM信号,一次按照迪文触摸屏点亮3种颜色灯板的5路发光信号。ULN2003提供12V电压。每个灯板通过一个CMOS管IR3205输出功率。一个74HC08通过一路PWM,这路PWM通过74HC08控制的继电器控制IR3205的开关,进而控制24V,13V,36V灯板的开关,灯板的亮度通过PWM波形的占空比调节电路的PCB如下
上面是单片机PCB,它和灯板PCB通过排线连接
上面是灯板PCB。下面是单片机程序,程序用ICC-AVR开发,
//ICC-AVR application builder : 2010-6-22 15:14:03
// Target : M64A
// Crystal: 4.0000Mhz
/*
修改宏定义以实现不同功能,
*/
#include "main.h"
/*******************************************
向串口1发送单个数据,查询方式
*******************************************/
void TxUart1(unsigned char i)
{ //CLI(); //disable all interrupts
//DelayMs(1);
while (!(UCSR0A & (1<
UDR0 = i; /* 发送数据*/
//SEI(); //re-enable interrupts
}
/*******************************************
向串口0发送数组,查询方式