单片机期末复习重点总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、单片机:就是在一片半导体硅片上集成了中央处理单元、存储器、并行接口I/O、串行I/O口、定时器/计数器、终端系统、系统时钟电路及系统总线的微型计算机。
二、单片机的硬件结构:8位微处理器、数据存储器(128B)、程序存储器、4个8位可编程并行I/O口、1个串行口、2个16位定时/计数器、1个看门狗、5个中断源和中断向量、特殊功能寄存器26个、低功耗节电模式、3个程序加密锁定位。
其图如下:
三、单片机引脚:单片机共有40个引脚;按其功能可分为3类:
●电源及时钟引脚
●控制引脚
●I/O口引脚
四、单片机存储器结构
●程序存储器16位
●数据存储器8位
●特殊功能寄存器
●位地址空间
五、四组并行I/O端口
1、P0口
1)P0口是一个双功能的8位并行口,字节地址在80H,位地址为80H—87H。
2)P0口特点:地址/数据复用口和通用I/O口
●当P0口用作地址/数据复用口时,是一个真正的双向口,用作与外部存储器的连
接,片外必须要接上拉电阻。
●当P0口作为通用I/O口时,由于有高阻抗,所以在端口外要接上上拉电阻,它
是一个准双向口。
2、P1口
1)P1口是单功能的I/O口,字节地址为90H,位地址为90H---97H.
2)P1口特点:
●由于P1口内部有上拉电阻,没有高阻抗输入状态,所以不需要在片外接上
拉电阻。
●P1口“读引脚”输入时,必须先向锁存器写入。
3、P2口
1)P2口是一个双功能口,字节地址为A0H,位地址为A0H---A7H.
2)P2口特点:与P1口的一样。
4、P3口略
六、时钟电路与时序
1、时钟电路设计图在书上35页图2-13.
2、时钟周期:若时钟晶体的振荡频率为f osc,则时钟周期T=1/f osc。
3、机器周期:一个机器周期包括12个时钟周期。即:T cy=12/f osc。
4、指令周期:单字节和双字节指令周期一般为单机器周期和双机器周期。
三字节指令周期都是双机器周期;乘、除指令周期4个机器周期。
七、复位操作和复位电路
1、复位电路设计在书上37页图2-18或图2-19或图2-20.
八、单片机最小系统设计如图
九、keilC的使用方法:
步骤:1、点击桌面快捷键Uv4,打开软件
2、单击project出现下拉菜单,单击New uVison Project新建一个文件,
在弹出的窗口下方文件名随便写(自定义),并保存好。
3、在弹出来的窗口左边框里点atmel,在下拉菜单里选中at89s51,单击ok
按钮。再点击yes。
4、按ctrl+N新建一个文本,保存。在弹出来的窗口下方文件名写好文
件名(文件名可以随便写,但必须要以.c为后缀),保存类型不要动。
5、在左方框右击Source Group1 在出现的下拉菜单中选中Add File……
在出现的窗口中双击你刚才写好的文件名(这个文件名必须要以.C
为后缀),添加后,关闭窗口。
6、在左方框右击Tar get1 在出现的下拉菜单中选中Options for……,,
在出现的窗口中点击上方的out put,选中复选框create HEX File,单
击OK。这样基可以编写程序了。
十、Proteus的使用方法:
步骤:1、点击桌面ISIS快捷方式,打开软件。
2、保存。
3、单击左窗口P,在弹出的窗口中输入元件名,查找所需要的元件。
4、查找好元件后,按要求连接电路图,并保存好。
十一、中断的概念:单片机能及时地响应中断源提出的服务请求,并作出快速响应和及时处
理。
十二、中断系统结构在书上88页图5-2.
十三、中断控制寄存器IE、IP
1、IE
●EA:中断允许总开关控制位
EA=0,所有中断请求被屏蔽
EA=1,所有中断请求被放开
●ES:串行口允许中断
ES=0,禁止串行口中断
ES=1,允许串行口中断
●ET1:定时器/计数器T1的中断允许位
ET1=0;禁止T1中断
ET1=1,允许T1中断
●EX1:外部中断1中断允许位
EX1=0,禁止外部中断1中断
EX1=1,允许外部中断1中断
●ET0:定时器/计数器T0中断允许位
ET0=0,禁止T0中断
ET0=1,允许T0中断
●EX0:外部中断0中断允许位
EX0=0,禁止外部中断0中断
EX0=1,允许外部中断0中断
2、IP
●PS:串行口中断优先级
PS=1,高优先级
PS=0,低优先级
●PT1:定时器T1中断优先级
PT1=1,高优先级
PT1=0,低优先级
●PX1:外部中断1中断优先级
PX1=1,高优先级
PX1=0,低优先级
●PT0:定时器T0中断优先级
PT0=1,高优先级
PT0=0,低优先级
●PX0:外部中断0中断优先级
PX0=1,高优先级
PX0=0,低优先级
十四、中断初始化设置
1、外部中断0 INT0设置:EA=1,IT0=1,EX0=1
2、外部中断1 INT1设置:EA=1,IT1=1,EX1=1
3、定时器T0:
●方式0:TMOD=0x00,ET0=1,TR0=1,EA=1,TH0=0Xxx,TL0=0Xxx。
●方式1:TMOD=0x01,ET0=1,TR0=1,EA=1, TH0=0Xxx,TL0=0Xxx。
4、定时器T1:
●方式0:TMOD=0X00,ET1=1,TR1=1,EA=1,TH1=0Xxx,TL1=0Xxx。
●方式1:TMOD=0X10,ET1=1,TR1=1,EA=1,TH1=0Xxx,TL1=0Xxx。十五、中断及定时器服务程序设计如下:
1、定时器T0 方式1(方式0不要重新装载)
#include
void main(void)
{
TMOD = 0x01;
TH0=0x83;
TL0=0x06;
ET0 = 1;
EA = 1;
TR0 = 1;
while(1);
}
void intsert0(void) interrupt 1
{
TH0=0x83;
TL0=0x06;
P0=0x00;
}
2、定时器T1 方式1
#include
void main(void)
{
TMOD = 0x10;
TH0=0x83;
TL0=0x06;
ET1 = 1;
EA = 1;
TR1 = 1;
while(1);
}