第6讲 微控制器基础3.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6讲 微控制器基础3

第5讲 微控制器基础3 MCS-51单片机工作原理 51单片机定时/计数器与外部中断 定时器/计数器干什么用的? 用途一:定时 1、数字电子表 2、电饭煲预约功能 3、牌匾上彩灯定时闪烁 4、晶闸管触发角控制——调温、调光 、调压 用途二:计数 1、电机测速 2、出租车计价器 3、每瓶药片的数量 4、测量脉冲宽度 定时器/计数器工作原理 1、定时器原理 如何实现单片机定时和计数 与T0相关的“四大金刚” 1、TH0 TL0 (0000H------FFFFH) TMOD的设置 T0典型工作的三种方式设置 1、定时器T0工作在定时方式 TMOD ; 定时方式1 TMOD ; 定时方式0 那么定时器T0工作在定时方式2和方式3该如何设置呢? TCON的设置 中断允许寄存器IE的设置 模式0 用定时器设计一个50msLED闪烁实验 硬件电路图 程序流程图 查询方式程序 #includereg51.h void main() { TMOD=0X01; TH0=0X4C; TL0=0X00; TR0=1; while(1) { if(TF0==1) //用while语句怎么实现? { P0=~P0; TF0=0; TH0=0X4C; TL0=0X00; } } } 定时器中断方式程序 #includereg51.h void timer0 ( ) interrupt 1 { TH0=0X4C; TL0=0X00; P0=~P0; } void main() { TMOD=0X01; TH0=0X4C; TL0=0X00; EA=1; ET0=1; TR0=1; while(1) {;} } 定时器中断方式:1S取反P0口状态 #includereg51.h unsigned char count=0; void timer0_isr(void) interrupt 1 { TH0=0X4C; TL0=0X0; count++; if(count==20) { count=0; P0=~P0; } } void main() { TMOD=0X01; TH0=0X4C; TL0=0X00; TR0=1; ET0=1; EA=1; while(1) {;} } 用定时器T0设计电子时钟CLOCK #includereg51.h void timer0_isr(void) interrupt 1 using 0 { //定时器中断子程序 } void main() { TMOD=0X1; TH0=0X4C; TL0=0X0; TR0=1; ET0=1; EA=1; while(1) { //按键子程序 //除法子程序 // 显示子程序 ; } } 主程序 #include REG51.h //通用89C51头文件 sbit LED1 = P1 ^ 0; //定义闪烁LED sbit LED2 = P1 ^ 1; //定义闪烁LED void main (void){ //主程序 T_C_init(); //初始化 while(1){; } } 初始化主程序 void T_C_init (void){ TMOD = 0x11; //高4位控制T/C1 [ GATE,C/T,M1,M0,GATE,C/T,M1,M0 ] EA = 1; //中断总开关 TH1 = 0xFE; //16位计数寄存器T1高8位(写入初值) TL1 = 0xFE; //16位计数寄存器T1低8位 ET1 = 1; //T/C1中断开关 TR1 = 1; //T/C1启动开关 TH0 = 0x13; //16位计数寄存器T0高8位 TL

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档