- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]89S51培训五
89S51单片机定时/计数功能的C语言编程 任务: 1.用定时器方式1编制1 s的延时程序,使P1口所接的LED循环左移点亮。 2.用单片机定时器/计数器设计一个秒表,由P1口连接的LED采用BCD显示,发光二极管亮表示0,暗表示1。计满60 s后从头开始,依次循环。 定时/计数器 定时/计数器组成框图 89S51中断系统的结构框图 8051单片机中断功能的C语言编程 8051单片机中断功能的C语言编程用interrupt定义中断服务函数,其格式如下: 函数返回值类型 函数名(形式参数表)interrupt n [using m] 8051的串行接口 串行口结构示意图 图2.16 方式0用于扩展I/O口输入 图2.17 10位的帧格式 图2.18 - 11位的帧格式 MCS-51单片机之间的通信 (6) ?IE.0 EX0: 外部中断0()中断允许位。EX0 = 1,允许外部中断0中断;EX0 = 0,禁止外部中断0中断。 8051单片机系统复位后,IE中各中断允许位均被清0,即禁止所有中断。 4)IE寄存器中断优先级标志 8051单片机有两个中断优先级,每个中断源都可以通过编程确定为高优先级中断或低 专用寄存器IP为中断优先级寄存器,锁存各中断源优先级控制位,IP中的每一位均可由软件来置1或清0,且1表示高优先级,0表示低优先级。其格式如下: (1)IP.4 PS:串行口中断优先控制位。PS = 1,设定串行口为高优先级中断;PS = 0,设定串行口为低优先级中断。 (2)IP.3 PT1:定时器T1中断优先控制位。PT1 = 1,设定定时器T1中断为高优先级中断;PT1 = 0,设定定时器T1中断为低优先级中断。 (3)IP.2 PX1:外部中断1中断优先控制位。PX1 = 1,设定外部中断1为高优先级中断;PX1 = 0,设定外部中断1为低优先级中断。 (4)IP.1 PT0:定时器T0中断优先控制位。PT0 = 1,设定定时器T0中断为高优先级中断;PT0 = 0,设定定时器T0中断为低优先级中断。 (5)IP.0 PX0:外部中断0中断优先控制位。PX0 = 1,设定外部中断0为高优先级中断;PX0 = 0,设定外部中断0为低优先级中断。 当系统复位后,IP低5位全部清0,所有中断源均设定为低优先级中断。 如果几个同一优先级的中断源同时向CPU申请中断,CPU 通过内部硬件查询逻辑,按自然优先级顺序确定先响应哪个中断请求。自然优先级由硬件形成,排列如下: 中断源 同级自然优先级 外部中断0 最高级 定时器T0中断 外部中断1 定时器T1中断 串行口中断 最低级 8051单片机中断功能的C语言编程包括 中断初始化(开中断、触发方式选择) 中断标志位的检测 中断服务函数的定义 如: EA=1;//开总中断 EX0=1;//开外部中断0中断 IT0=1;//外部中断0为边沿触发方式 TI=0;//发送完一帧数据及时将中断请求标志位清零 while(!TF0);//等待定时器T0计数溢出 运行例147的程序,观察运行结果 任务: 1. 用单片机定时器设计一个99秒的秒表,用数码管显示出计数值,P0口接数码管的代码段,P2.4—P2.7接位码。 2.在任务1的基础上用P2.0作为秒表的启动键、P2.1作为停止键、P2.2作为清零键。 3.修改程序,使P2.7所接的数码管显示 (0—9)分,P2.6,P2.5所接的数码管显示(0—59)秒、P2.4所接的数码管显示 (0.1—0.9)秒。P2.7,P2.5所接的数码管小数点点亮。 MCS-51串行口结构 MCS-51内部有两个独立的接收、发送缓冲器SBUF。SBUF属于特殊功能寄存器。发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入,二者共用一个字节地址(99H)。串行口的结构如图所示。 与MCS-51串行口有关的特殊功能寄存器有SBUF、SCON、PCON。 ?? 1. 串行口数据缓
文档评论(0)