单片机复习大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

//请完成该程序
/****************************************************************************** FileName: adchange.c Author:
Description:
Date: Version: Need To Do: History: ******************************************************************************/ #include<reg52.h> #include<intrins.h> #define uchar unsigned char #define uint unsigned int sbit sbit sbit sbit dula wela adwr adrd = = = = P2^6; P2^7; P3^6; P3^7;
6.3 设计一个半双工网络通信方案(如 485),给出流程图即可 6.4 简述 C51 串行口发送、接收数据的过程 串行通信 并行通信
TXD SBUF
TH1 TL1 1
控制门 发送控制器
÷16
通信距离


TI
去串口中断
≥1
抗干扰能力


A
T1溢出率
÷2
0 SMOD
接收控制器 移位寄存器
源自文库RI
传输速度
#include<reg52.h> #define uint unsigned int #define uchar unsigned char sbit dula=P2^6; sbit wela=P2^7; sbit led1=P1^0; uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0}; void void void uint init(); delayms(uint xms); display(uint tens, uint units); num_t1,num_t105,flag = 1,tens_dsp,units_dsp,value_dsp;
图 8 键盘消抖
图 9 矩阵式键盘
第五章
5.1 模拟量输入输出的基本过程
传感 温度 器
信号 处理
工 电压 业 流量 变送 量 信号 生 处理 器 产 过 模拟量 放大 D/A 程 转换 驱动
多 路 开 关
采 样 保 持 器 锁 存 器
数 字 A/D转 量 换器 控制 I/O 数字量 接口
微 机 系 统
图 10 模拟量输入输出流程图 5.2 AD 的基本原理(逐次比较型,以自己的语言组织;参考程序)
VIN
VN
D/A转换器
VREF D7 D6 D5 D4 D3 D2 D1 D0 OE
START 控制 逻辑 EOC N位寄存器
图 11 逐次比较型 AD 转换
锁 存 缓 存 器
5.3 如何使用 AD,或者说操作 AD 的通用步骤 (1)ALE 信号锁存地址信号 ADDA~ADDC。对应的模拟信号进入 0809 (2)START 脉冲启动 A/D 转换 (3)转换完成后,转换结束信号 EOC 变为高电平: 可以作为状态信号由 CPU 查询; 可以作为中断请求信号通知 CPU。 (4)CPU 在查询式 I/O 程序或中断服务程序中: 执行输入指令(读 ADC0809 数据端口); 该指令经地址译码电路产生 OE 信号, 0809 内三态缓冲器被打开, 转换结果通过数据总线进入 CPU。 5.4 DA 的基本原理及使用方式 基本原理:将数字量转换成模拟量,就必须将每一位代码按其“权”转换成相应的模拟量,然后再将代表各位的模拟 量相加 使用方式:
R6 R4 101 VCC S1 C8 10K U1 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 X1 31 15P Y1 22.1184 C10 X2 15P 9 RD 17 WR 16 19 18 1 2 3 4 5 6 7 8 13 12 15 14 P10 P11 P12 P13 P14 P15 P16 P17 INT1 INT0 T1 T0 EA/VP X1 X2 RESET RD WR P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 VCC GND RXD TXD ALE/P PSEN 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 40 20 10 11 30 29 P00 P01 P02 P03 P04 P05 P06 P07 P20 P21 P22 P23 P24 P25 P26 P27 VCC


RXD SBUF
成本


图 14 串口通信流程
第七章
7.1 通用型液晶的操作方法(不考程序)
第八章
8.1 IIC 总线与 485 的异同
二、程序
范围:实验、教材例程、PPT 例程 简单点灯/流水灯/数码管操作/AD 采样/串口通信/液晶显示 示例:(示意考试题目形式) /****************************************************************************** FileName: led.c Author: Description: 点亮第一个发光二极管。 (发光管为共阴极,接在 P1.0 口) Date: 2011/4/18 10:11:26 Version: 版本信息 Need To Do: History: ******************************************************************************/
用单片机控制 ADC0804 进行模数转换,当拧动实验板上 A/D 旁边的电位器 Reg2 时,在数码管的 前三位以十进制方式动态显示出 A/D 转换后的数字量 (8 位 A/D 转换后数值在 0~255 变化) 。 2011/3/9 10:11:26 版本信息
uchar code table[]={ 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71,0}; void delayms(uint xms); void display(uint hundreds,uint tens, uint units); void main() { uint a = 0, A1 = 0, A2 = 0, A3 = 0, adval = 0; wela = 1; P0 = 0x7f; wela = 0; while(1) { adwr = 1; _nop_(); adwr = 0; _nop_(); adwr = 1; for(a = 10; a > 0; a--) { display(A1 , A2 , A3); } P1 = 0xff; wela = 1; P0 = 0x7f; adrd = 1; _nop_(); adrd = 0; _nop_();
单片机复习大纲
一 简答
第一章
1.1 C 语言与汇编语言的比较 对单片机的指令系统不要求了解,仅要求对 8051 的存贮器结构有初步了解; 寄存器分配、不同存贮器的寻址及数据类型等细节可由编译器管理; 程序有规范的结构,可分成不同的函数,这种方式可使程序结构化; 提供的库包含许多标准子程序,具有较强的数据处理能力; 由于具有方便的模块化编程技术,使已编好程序可容易地移植; 1.2 以 51 单片机为例简述单片机要正常工作需要哪些或哪几类引脚 1.3 单片机型号编码
void init() {
//请在“//”后增加注释 TMOD =0X11; // TH1=(65536 - 45872) / 256; // TL1=(65536 - 45872) % 256; EA = 1; // ET1 = 1; TR1 = 1; //
VREF
输入 锁存器 DAC 寄存器 D/A 转换器
DI7~DI0
IOUT2

发送 计算机1 GND (a)
图 13 串、并行通信
IOUT1
ILE & CS & WR1 WR2 XFER
AGND
LE1 &
LE2 Rfb
计算机2 或外设 GND
计算机1 GND
接收
计算机2 或外设 GND
VCC
(b)
图 12 DA 应用
/****************************************************************************** FileName: display.c Author: Description: 用两位数码管显示 00~99S,当显示到 99s 时停留 5s,再递减到 00s,在 00s,再停留 5s,然后 再递增,如此反复。 Date: 2011/4/18 10:11:26 Version: 版本信息 Need To Do: History: ******************************************************************************/
adval = P1; adrd = 1; wela = 0;
//A1、A2、A3 分别为 AD 转换后的数值的百位、十位、个位,请完善下面程序。
} }
//请将延时程序(延时 xms)补充完整
void delayms(uint xms) { } void display(uint hundreds,uint tens, uint units) { dula=1; P0=table[hundreds]; //送段选数据 dula=0; P0=0xff; wela=1; P0=0xfe; //送位选数据 wela=0; delayms(5); dula=1; P0=table[tens]; dula=0; P0=0xff; wela=1; P0=0xfd; wela=0; delayms(5); dula=1; P0=table[units]; dula=0; P0=0xff; wela=1; P0=0xfb; wela=0; delayms(5); }
第六章
6.1 串行通信、并行通信的概念(上图所示) 6.2 比较 RS232、RS485 通信协议的异同 类型 信号类型 通讯方式 距离 连接设备数 抗干扰能力 故障诊断 RS-232 单端 全双工 15M@9600bps 两台 弱 容易 RS-485 4 线 差分 全双工 1.2KM@9600bps 32 台 强 难 RS-485 2 线 差分 半双工 1.2KM@9600bps 32 台 强 难
g f GND a b a a f e d g b c dp b c d e f g dp a b c d e f g dp
+5V
·
e d GND c dp
(a)
(b)
图 3 数码管静态显示,共阴极/共阳极接法 图 4 数码管动态显示
3.2 以图形或文字,说明单片机中断过程。
图 5 单片机中断过程
SW-PB
10uF R5 10K C9
89S52
RXD TXD ALE PSEN
图 1 单片机编码 1.4 单片机最小系统
图 2 单片机最小系统
第二章
2.1 LED 灯的操作,共阳极和共阴极分别什么意思?(3.1) 2.2 编译器的作用,一般进行哪些设置
第三章
3.1 数码管静态、动态显示的原理分别是什么?
GATE TF1 TR1 TF0 TR0 C/T C/T M1 M0 M1 M0
TCON
GATE
TMOD
外部中断相关位
T1方式
T0方式
图 7 定时器工作原理及设定 3.6 51 定时器的设计实例,给定相关条件,如何设置初值等等(见示例程序)
第四章
4.1 为什么要按键消抖? 4.2 如何实现行列式键盘?(教材 P86)
图 6 51 单片机中断设置
3.3 以 51 单片机为例,说明中断的设置(结合 3.4 一起分析) 3.4 单片机怎样管理中断?怎样开放和禁止中断?怎样设置优先级? 3.5 定时器的工作原理?如何设置定时器或者说明设置定时器的通用步骤?
T1引脚 T0引脚
机器周 期脉冲
TH1
TL1
TH0
TL0
内部总线
相关文档
最新文档