《2022年单片机期末复习重点总结 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机期末复习重点总结 .pdf(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、单片机:就是在一片半导体硅片上集成了中央处理单元、存储器、并行接口I/O、串行I/O 口、定时器 /计数器、终端系统、系统时钟电路及系统总线的微型计算机。二、单片机的硬件结构:8 位微处理器、数据存储器(128B) 、程序存储器、4 个 8 位可编程并行 I/O 口、1 个串行口、 2 个 16 位定时 /计数器、 1 个看门狗、 5 个中断源和中断向量、特殊功能寄存器26 个、低功耗节电模式、3 个程序加密锁定位。其图如下:三、单片机引脚:单片机共有40 个引脚;按其功能可分为3 类:电源及时钟引脚控制引脚I/O 口引脚四、单片机存储器结构程序存储器16 位数据存储器8 位特殊功能寄存器
2、位地址空间五、四组并行I/O 端口1、P0 口1)P0 口是一个双功能的8 位并行口,字节地址在80H,位地址为80H87H。2)P0 口特点:地址 /数据复用口和通用I/O 口当 P0 口用作地址 /数据复用口时, 是一个真正的双向口,用作与外部存储器的连接,片外必须要接上拉电阻。当 P0 口作为通用I/O 口时,由于有高阻抗,所以在端口外要接上上拉电阻,它是一个准双向口。2、P1口1)P1口是单功能的I/O 口,字节地址为90H,位地址为90H-97H. 2)P1口特点:CPU (运算器)(控制器)XTAL1 XTAL2 数据存储器(RAM )P0 P2 程序存储器特 殊 功 能寄存器看门
3、狗定时器P1 定 时 器 /计 数器 16 位2个串行口P3 中断系统精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 10 页 - - - - - - - - - - 由于 P1 口内部有上拉电阻,没有高阻抗输入状态,所以不需要在片外接上拉电阻。P1 口“读引脚”输入时,必须先向锁存器写入。3、P2 口1)P2 口是一个双功能口,字节地址为A0H, 位地址为A0H-A7H. 2)P2 口特点:与P1 口的一样。4、P3 口略六、时钟电路与时序1、时钟电路设计图在书上35 页图 2-13. 2、
4、时钟周期:若时钟晶体的振荡频率为fosc,则时钟周期T=1/fosc。3、机器周期:一个机器周期包括12 个时钟周期。即:Tcy=12/fosc。4、指令周期:单字节和双字节指令周期一般为单机器周期和双机器周期。三字节指令周期都是双机器周期;乘、除指令周期4 个机器周期。七、复位操作和复位电路1、复位电路设计在书上37 页图 2-18 或图 2-19 或图 2-20. 八、单片机最小系统设计如图九、 keilC 的使用方法:步骤:1、点击桌面快捷键Uv4 ,打开软件2、单击 project 出现下拉菜单,单击New uVison Project 新建一个文件,在弹出的窗口下方文件名随便写(自定
5、义),并保存好。3、在弹出来的窗口左边框里点atmel,在下拉菜单里选中at89s51,单击 ok按钮。再点击yes。4、按 ctrl+N新建一个文本,保存。在弹出来的窗口下方文件名写好文件名(文件名可以随便写,但必须要以 .c 为后缀 ) ,保存类型不要动。5、在左方框右击Source Group1 在出现的下拉菜单中选中Add File 在出现的窗口中双击你刚才写好的文件名(这个文件名必须要以.C为后缀),添加后,关闭窗口。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 10 页 - -
6、- - - - - - - - 6、 在左方框右击Tar get1 在出现的下拉菜单中选中Options for ,,在出现的窗口中点击上方的out put,选中复选框create HEX File,单击 OK 。这样基可以编写程序了。十、 Proteus的使用方法:步骤:1、点击桌面ISIS 快捷方式,打开软件。2、保存。3、单击左窗口P,在弹出的窗口中输入元件名,查找所需要的元件。4、查找好元件后,按要求连接电路图,并保存好。十一、 中断的概念: 单片机能及时地响应中断源提出的服务请求,并作出快速响应和及时处理。十二、中断系统结构在书上88 页图 5-2. 十三、中断控制寄存器IE、IP
7、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:
8、串行口中断优先级PS=1,高优先级PS=0,低优先级PT1:定时器T1 中断优先级PT1=1,高优先级PT1=0,低优先级PX1:外部中断1 中断优先级PX1=1 ,高优先级PX1=0 ,低优先级PT0:定时器T0 中断优先级PT0=1,高优先级PT0=0,低优先级精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 10 页 - - - - - - - - - - PX0:外部中断0 中断优先级PX0=1 ,高优先级PX0=0 ,低优先级十四、中断初始化设置1、外部中断0 INT0 设置: EA=
9、1,IT0=1,EX0=12、外部中断1 INT1 设置: EA=1,IT1=1,EX1=1 3、定时器T0:方式 0:TMOD=0 x00, ET0=1,TR0=1,EA=1,TH0=0Xxx,TL0=0Xxx。方式 1:TMOD=0 x01, 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
10、 方式 1(方式 0 不要重新装载 )#include void main(void) TMOD = 0 x01; TH0=0 x83; TL0=0 x06; ET0 = 1; EA = 1; TR0 = 1; while(1); void intsert0(void) interrupt 1 TH0=0 x83; TL0=0 x06; P0=0 x00; 2、 定时器 T1 方式 1 #include void main(void) TMOD = 0 x10; TH0=0 x83; TL0=0 x06; ET1 = 1; EA = 1; TR1 = 1; while(1); 精品资料 - -
11、 - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 10 页 - - - - - - - - - - void intsert0(void) interrupt 1 TH0=0 x83; TL0=0 x06; P0=0 x00; 3.外部中断 0 #include #define uchar unsigned char #define uint unsigned int Void main() EA=1; IT0=1; EX0=1; While(1); 4、外部中断1 #include #define uchar
12、 unsigned char #define uint unsigned int Void main() EA=1; IT1=1; EX1=1; While(1); 十六、定时器 /计数器的结构1、 结构框图振荡器/12 1 =1 & TL1 (5 位) TH1 (8 位) TF1 中断GATE TR1 T1 P3.5 引脚INT1 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 10 页 - - - - - - - - - - 2、 TMOD 和 TCON 的结构TMOD 结构GATE C/
13、!T M1 M0 GATE C/!T M1 M0 TCON 结构TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 十七、定时器初始值计算:如:定时 1ms, TH0=(65536-1000) /256 TL0= (65536-1000)%256 十八、单片机与数码管动态显示接口设计(硬件电路,程序设计)1、硬件电路如图:3、 程序设计:#include #define uchar unsigned char #define uint unsigned int uchar displayram6; uchar code displaytab10=0 x3f,0 x06,0 x5b,
14、0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f; void delayms(uint n) uchar i; while(n-) for(i=0;i120;i+); void clr_dis() displayram0 = 0 x1b; /全灭精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 10 页 - - - - - - - - - - displayram1 = 0 x1b; displayram2 = 0 x1b; displayram3 = 0 x1
15、b; displayram4 = 0 x1b; displayram5 = 0 x1b; void display(uchar displayram6) unsigned char k,i,j=0 x7f; for(i=0;i1)|0 x80; void main() uchar i; clr_dis(); while(1) for(i=0;i8;i+) displayrami=i; display(displayram); delayms(5); 十九、单片机独立键盘设计:1、 硬件设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - -
16、 - - - - - - -第 7 页,共 10 页 - - - - - - - - - - 2、 程序设计#include #define uchar unsigned char #define uint unsigned int sbit key1=P30; sbit key2=P31; sbit key3=P32; sbit key4=P33; void delayms(uint ms) /延时 1ms uchar i; while(ms-) for(i=0;i120;i+); void main() while(1) if(key1=0) delayms(5); if(key=0) P
17、0=0 xff; if(key2=0) delayms(5) 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 10 页 - - - - - - - - - - if(key2=0) P0=0 x0f; if(key3=0) delayms(5) if(key3=0) P0=0 xf0; if(key4=0) delayms(5) if(key4=0) P0=0 xa5; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 10 页 - - - - - - - - - - 文档编码:KDHSIBDSUFVBSUDHSIDHSIBF-SDSD587FCDCVDCJUH 欢迎下载 精美文档欢迎下载 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 10 页 - - - - - - - - - -