1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一,微型计算机的结构
微型计算机的模型: 1. 中央处理器(CPU)的组成 运算器 + 控制器 1.1 运算器
3.工作过程 二,单片机的基本结构 2.1 IAP15W4K58S4 的基本组成: 2.2 IAP15W4K58S4 的主要性能:
DIP40 封装形式 (1)电源和复位引脚
晶体振荡器M的频率可在 4~48 MHZ 之间选择,典型值 11.0592 MHZ(设计单片机通信系统时,使用这个频率的晶振可以准确的得到9600bit/s,和 1920 bit/s),电容C1,C2 对时钟频率有微调作用,可在5~100PF 之间选择,典型值47pF。 (3)控制和复位引脚
IAP15W4K58S4单片机最多有62 根 I/O 口线 P0口(8根):P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7 P1口(8根):P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7 P2口(8根):P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7 P3口(8根):P3.0,P3.1,P3.2,P3.3,P3.4,P3.5,P3.6,P3.7 P4口(8根):P4.0,P4.1,P4.2,P4.3,P4.4,P4.5,P4.6,P4.7 P5口(6根):P5.0,P5.1,P5.2,P5.3,P5.4,P5.5 P6口(8根):P6.0,P6.1,P6.2,P6.3,P6.4,P6.5,P6.6,P6.7 P7口(8根):P7.0,P7.1,P7.2,P7.3,P7.4,P7.5,P7.6,P7.7 (黄色部分只有 LQFP64 封装的IAP15W4K58S4单片机有)
IAP15W4K58S4 存储空间主要特点:程序存储器和数据存储器的寻址空间是分开的。 片内集成3个物理上相互独立的存储器空间:
即 内部RAM ,共256个单元,通常分为两部分:低128单元(00H~7FH),高128单元(80H~FFH) (1)内部数据存储器低128单元 [tr]地址范围说明[/tr]
对IAP15W4K58S4来说,80H~FFH既是高128单元,又是特殊功能寄存器的地址,地址空间重叠,但物理上是独立的,用不同的寻址方式加以区分:
2.5.1 IAP15W4K58S4单片机的I/O口 … 2.5.2 IAP15W4K58S4单片机的I/O口的工作模式 每个口的工作模式由 PnM0 和 PnM1 (n=1,2,3,4,5)的相应位控制 [tr]PnM1[7:0]PnM0[7:0]I/O口模式[/tr]
P1M1 = 0xa0; //0xa0=10100000BP1M0 = 0xc0; //0xc0=11000000B IAP15W4K58S4单片机的每个I/O口:
(1)准双向口工作模式的结构 (2)推挽输出工作模式的结构 (3)仅为输入(高阻)工作模式的结构 (4)开漏输出工作模式的结构 2.6 时钟电路与复位电路 2.6.1 时钟电路与时序… … 2.6.2 单片机的复位… … 2.7 IAP15W4K58S4 的时钟(系统时钟) 主时钟可以是内部 R/C 时钟,也可以是外部输入的时钟或外部晶振振荡产生的时钟。 系统时钟是指对主时钟进行分频后CPU,串口,SPI,定时器,CCP/PWM/PCA,ADC的实际工作时钟,用 SYSCLK 表示。 分频相关寄存器: [tr]寄存器地址D7D6D5D4D3D2D1D0[/tr]
[tr]CLKS2CLKS1CLKS0系统时钟和主时钟的分频关系[/tr]
[tr]SYSCKO_S2SYSCKO_S1SYSCKO_S0主时钟的输出频率[/tr]
三,Keil C51 1. Keil C51 拓展关键字 bit:位变量声明,声明一个位变量或位类型的函数 所有bit类型的变量都被定位在8050片内RAM 的可位寻址区(20H~2FH),共128位。 所以,某范围内最多声明128个 bit 变量 ***it:位变量声明,声明一个可位寻址变量 RAM 中的可位寻址位,或,特殊寄存器中的可寻址位 ***it flag0=flag^0;//flag的第0位 sfr:特殊功能寄存器声明,声明一个特殊功能寄存器(8位) sfr16:特殊功能寄存器声明,声明一个16位的特殊功能寄存器 包含标准8051单片机所有特殊功能寄存器和他们位定义的头文件 reg51.h 。 stc15.h 包含了标准8051单片机寄存器的定义,编程时只需包含这个。 data:存储器类型说明,直接寻址的8051内部数据存储器 bdata:存储器类型说明,可位寻址的8051内部数据存储器 idata:存储器类型说明,间接寻址的8051内部数据存储器 pdata:存储器类型说明,“分页”寻址的8051外部数据存储器 xdata:存储器类型说明,8051外部数据存储器 code:存储器类型说明,8051程序存储器 interrupt:中断函数声明,定义一个中断函数 reentrant:可重入函数声明,定义一个可重入函数 using:寄存器组定义,指定使用8050的工作寄存器的某一组 2.函数 2.1 中断函数 void 函数名(void) interrupt 中断号 [using n]//n为工作寄存器组(共4个),[]表示可省略{ } //---------各个子函数的声明-----------void delay(long delaytime){ while(delaytime>0) delaytime--; //子函数的实现代码}//---------各个中断函数的实现----------void INT0_ISR(void) interrupt 0 //外部中断0服务子函数{ //根据需要填入程序代码}void INT1_ISR(void) interrupt 2 //外部中断1服务子函数{ //根据需要填入程序代码}void INT2_ISR(void) interrupt 10 //外部中断2服务子函数{ //根据需要填入程序代码}void INT3_ISR(void) interrupt 11 //外部中断3服务子函数{ //根据需要填入程序代码}void INT4_ISR(void) interrupt 16 //外部中断4服务子函数{ //根据需要填入程序代码}void T0_ISR(void) interrupt 1 //定时器0中断服务子函数{ //根据需要填入程序代码}void T1_ISR(void) interrupt 3 //定时器1中断服务子函数{ //根据需要填入程序代码}void T2_ISR(void) interrupt 12 //定时器2中断服务子函数{ //根据需要填入程序代码}void T3_ISR(void) interrupt 19 //定时器3中断服务子函数{ //根据需要填入程序代码}void T4_ISR(void) interrupt 20 //定时器4中断服务子函数{ //根据需要填入程序代码}void UART1_ISR(void) interrupt 4 //串口1中断服务子函数{ //根据需要填入程序代码,注意中断请求标志的清零}void UART2_ISR (void) interrupt 8 //串口2中断子函数{ //根据需要填入程序代码,注意中断请求标志的清0}void UART3_ISR (void) interrupt 17 //串口3中断子函数{ //根据需要填入程序代码,注意中断请求标志的清0}void UART4_ISR (void) interrupt 18 //串口4中断子函数{ //根据需要填入程序代码,注意中断请求标志的清0}void SPI_ISR (void) interrupt 9 //SPI中断子函数{ //根据需要填入程序代码,注意中断请求标志的清零}void ADC_ISR (void) interrupt 5 //ADC中断服务子函数{ //根据需要填入程序代码,注意中断请求标志的清零}void LVD_ISR (void) interrupt 6 //低电压检测中断子函数{ //根据需要填入程序代码,注意中断请求标志的清零}void COMP_ISR (void) interrupt 21 //比较器模块中断服务子函数{ //根据需要填入程序代码,注意中断请求标志的清0}void PCA_ISR (void) interrupt 7 //PCA中断子函数{ //根据需要填入程序代码,注意中断请求标志的清零}void PWM_ISR (void) interrupt 22 //PWM模块中断服务子函数{ //根据需要填入程序代码,注意中断请求标志的清0}void PWMFLT_ISR (void) interrupt 23 //PWM异常检测模块中断服务子函数{ //根据需要填入程序代码,注意中断请求标志的清0} 2.2 指定存储模式 small ,compact,large void fun1(void) small{} 2.3 函数的重入 不可重入的函数,在运行过程中不可被中断 解决函数重入问题: ① 只允许主程序或中断之一调用该函数 #pragma disable ② 说明该函数可重入 (模拟堆栈) void func (...) reentrant; 注意:
三,中断 3.1 中断源 中断源是指能发出中断请求,引起中断的装置或事件。 IAP15W4K58S4单片机提供21个中断请求源:
3.2 中断结构: 中断总控制 复位后禁止一切中断。禁止由两级控制组成。总控制由IE寄存器最高位EA控制 [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
3.3 外部中断和定时器中断 3.3.1 中断请求标志 外部中断和定时器中断的请求标志在 定时/计数器 T0,T1 的控制寄存器 TCON 中: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
① IT0/1:外部中断 INT0/1 触发方式控制位,可由软件置0/1。
------定时/计数器0/1------- ① TR0/1:定时/计数器 T0/1 启动/停止 控制位。 ② TF0/1:定时/计数器 T0/1 的溢出中断标志。进入中断后硬件自动置0,也可软件清0。 注意:
EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
EX1:外部中断 INT1中断允许控制位 ET0:定时器0中断允许控制位 EX0:外部中断 INT0中断允许控制位 ET4:定时器4中断允许控制位 ET3:定时器3中断允许控制位 ET2:定时器2中断允许控制位 EX4:外部中断 INT4中断允许控制位 EX3:外部中断 INT3中断允许控制位 3.4 串口的中断 3.4.1 中断请求标志 [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
① (S2/3/4)RI:串口1/2/3/4接收中断标志。(接收完毕后置1申请中断),也可用于查询。 ② (S2/3/4)TI:串口1/2/3/4发送中断标志。(发送完毕后置1申请中断),也可用于查询。 注意:
EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
ES4:串口4中断允许控制位 ES3:串口3中断允许控制位 ES2:串口2中断允许控制位 3.5 低电压检测中断 3.5.1 中断请求标志 电源控制寄存器 PCON: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
在正常工作和空闲工作状态时,内部工作电压 Vcc 低于低电压检测门槛电压时 LVDF 自动置1,不管低电压检测中断是否被允许。该位只能软件清0,若清0后还是低于门槛电压,该位又被置1。 3.5.2 中断允许位 EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
进入掉电工作状态前,若该位=0,则低电压检测电路不工作。若该位=1,则低于门槛电压后产生低电压检测中断并将MCU 从掉电状态唤醒。 3.6 PCA 的中断 3.6.1 中断请求标志 PCA控制寄存器 CCON : [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
ECF:PCA 计数器溢出中断允许控制位。 3.7 SPI 的中断 3.7.1 中断请求标志 SPI 状态寄存器SPSTAT: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
3.7.2 中断允许 EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
3.8 ADC 的中断 3.8.1 中断请求标志 [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
EA = 1 且: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
3.9 PWM 的中断 3.9.1 中断请求标志 PWM 中断标志寄存器 PWMIF 和 PWM 外部异常控制寄存器 PWMFDCR: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
② CnIF(n=2~7):第 n 通道的PWM 中断标志位。PWM 发生翻转时硬件置1,申请中断。 ③ FDIF:PWM异常检测中断标志。 注意:
[tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
EFDI:PWM 异常检测中断允许控制位。 3.10 比较器的中断 3.10.1 中断请求标志 比较控制寄存器 CMPCR1: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
PIE:比较器上升沿中断允许位。 NIE:比较器下降沿中断允许位。 3.11 优先级 中断优先级寄存器: [tr]寄存器地址D7D6D5D4D3D2D1D0复位值[/tr]
PPCA:PCA PPLVD:低电压检测 PADC:ADC PS:串口1 PT1/0:定时器1/0 PX1/0:外部中断 INT1/0 PPWMFD:PWM 异常检测 PPWM:PWM PSPI:SPI PS2:串口2 还存在着默认优先级(辅助优先级),即,同时申请中断时,中断号小的优先: 中断号查询 |
||||||||||
|
||||||||||
只有小组成员才能发言,加入小组>>
2549 浏览 0 评论
1148浏览 2评论
747浏览 1评论
500浏览 0评论
266浏览 0评论
429浏览 0评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:37 , Processed in 1.920143 second(s), Total 78, Slave 60 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号