




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实用文档/ 实例 42 :用定时器T0 查询方式P2 口 8 位控制 LED 闪烁#include<reg51.h> / 包含 51 单片机寄存器定义的头文件/*函数功能:主函数*/void main(void)/ EA=1;/开总中断/ ET0=1;/定时器T0中断允许TMOD=0x01;/使用定时器T0的模式1TH0=(65536-46083)/256; /定时器T0的高8位赋初值TL0=(65536-46083)%256; 定时器T0的高8位赋初值TR0=1;/ 启动定时器T0TF0=0;P2=0xff;while(1)/无限循环等待查询while(TF0=0);TF0=0;
2、P2=P2;TH0=(65536-46083)/256; /定时器T0的高8位赋初值TL0=(65536-46083)%256; /定时器T0的高8位赋初值/ 实例 43 :用定时器T1 查询方式控制单片机发出1KHz 音频#include<reg51.h> / 包含 51 单片机寄存器定义的头文件sbit sound=P3A7;将 sound 位定义为 P3.7 弓I脚/*函数功能:主函数*/void main(void)/ EA=1;/开总中断/ ET0=1;/定时器T0中断允许TMOD=0x10;/使用定时器T1 的模式 1TH1=(65536-921)/256; /定时器
3、T1 的高 8位赋初值文案大全实用文档TL1=(65536-921)%256; /定时器 T1 的高 8 位赋初值TR1=1;/启动定时器T1TF1=0;while(1)无限循环等待查询while(TF1=0);TF1=0;sound=sound; 将P3.7引脚输出电平取反TH1=(65536-921)/256; 定时器T0的高8位赋初值TL1=(65536-921)%256; /定时器T0的高8位赋初值/ 实例 44:将计数器T0 计数的结果送P1 口 8 位 LED 显示#include<reg51.h> / 包含 51 单片机寄存器定义的头文件sbit S=P3A4;将S位
4、定义为P3.4弓唧/*函数功能:主函数*/void main(void)/ EA=1;/开总中断/ ET0=1;/定时器T0中断允许TMOD=0x02;/使用定时器T0的模式2TH0=256-156; 定时器T0的高8位赋初值TL0=256-156; 定时器T0的高8位赋初值TR0=1;/ 启动定时器T0while(1)/无限循环等待查询while(TF0=0) /如果未计满就等待if(S=0) 按键S按下接地,电平为0P1=TL0; /#数器TL0力口 1后送P1 口显示TF0=0; 计数器溢出后,将TF0清0文案大全实用文档/ 实例 45 :用定时器T0 的中断控制1 位 LED 闪烁#i
5、nclude<reg51.h> / 包含 51 单片机寄存器定义的头文件sbit D1=P2A0; 将D1位定义为P2.0弓I脚/*函数功能:主函数*/ void main(void)/ 开总中断定时器T0中断允许使用定时器T0的模式2EA=1;ET0=1;TMOD=0x01;TH0=(65536-46083)/256; /定时器T0的高8位赋初值TL0=(65536-46083)%256; /定时器T0的高8位赋初值TR0=1;/ 启动定时器T0while(1)/无限循环等待中断/*函数功能:定时器T0的中断服务程序*/void Time0(void) interrupt 1 u
6、sing 0 /“ interrupt ”声明函数为中断服务函数其后的1为定时器T0的中断编号;0表示使用第0组工作寄存器D1=D1; 按位取反操作,将P2.0引脚输出电平取反TH0=(65536-46083)/256; /定时器T0的高8位重新赋初值TL0=(65536-46083)%256; /定时器T0的高8位重新赋初值/ 实例 46:用定时器T0 的中断实现长时间定时#include<reg51.h> / 包含 51 单片机寄存器定义的头文件sbit D1=P2A0; 将D1位定义为P2.0弓I脚unsigned char Countor; /设置全局变量,储存定时器 T0
7、中断次数/*函数功能:主函数*/文案大全实用文档void main(void)EA=1;/开总中断ET0=1;/定时器T0中断允许TMOD=0x01;使用定时器T0的模式2TH0=(65536-46083)/256; /定时器T0的高8位赋初值TL0=(65536-46083)%256; /定时器T0的高8位赋初值TR0=1;/ 启动定时器T0Countor=0;/ 从 0 开始累计中断次数while(1)/无限循环等待中断 ;/*函数功能:定时器T0的中断服务程序*/void Time0(void) interrupt 1 using 0 /“ interrupt ”声明函数为中断服务函数其
8、后的1为定时器T0的中断编号;0表示使用第0组工作 寄存器Countor+; / 中断次数自加1if(Countor=20) /若累计满20 次,即计时满1sD1=D1;按位取反操作,将P2.0引脚输出电平取反Countor=0; / 将 Countor 清0,重新从0 开始计数TH0=(65536-46083)/256; /定时器T0的高8位重新赋初值TL0=(65536-46083)%256; /定时器T0的高8位重新赋初值/ 实例 47 :用定时器T1 中断控制两个LED 以不同周期闪烁#include<reg51.h> / 包含 51 单片机寄存器定义的头文件sbit D1
9、=P2A0; 将D1位定义为P2.0弓I脚sbit D2=P2A1; 将D2位定义为P2.1弓I脚unsigned char Countor1; /设置全局变量,储存定时器T1 中断次数unsigned char Countor2; /设置全局变量,储存定时器T1 中断次数/*函数功能:主函数*/ void main(void)文案大全实用文档EA=1;/开总中断ET1=1;/定时器T1 中断允许TMOD=0x10;/使用定时器T1 的模式 1TH1=(65536-46083)/256; /定时器T1 的高8 位赋初值TL1=(65536-46083)%256; /定时器/T1 的高8 位赋初
10、值TR1=1;/启动定时器T1Countor1=0;/从0 开始累计中断次数Countor2=0;/从0 开始累计中断次数while(1)/无限循环等待中断J/*函数功能:定时器T1 的中断服务程序*/void Time1(void) interrupt 3 using 0 /“ interrupt ”声明函数为中断服务函数/其后的 3 为定时器T1 的中断编号;0 表示使用第0组工作寄存器 Countor1+; /Countor1 自加 1Countor2+; /Countor2 自加 1if(Countor1=2) /若累计满2 次,即计时满100msD1=D1;按位取反操作,将P2.0引
11、脚输出电平取反Countor1=0; / 将 Countor1 清 0,重新从0 开始计数if(Countor2=8) /若累计满8 次,即计时满400msD2=D2;/按位取反操作,将P2.1 引脚输出电平取反Countor2=0; / 将 Countor1 清 0,重新从0 开始计数TH1=(65536-46083)/256; /定时器T1 的高8 位重新赋初值TL1=(65536-46083)%256; /定时器/T1 的高8 位重新赋初值/ 实例50-1 :输出 50 个矩形脉冲#include<reg51.h> /包含51 单片机寄存器定义的头文件sbit u=P1A4;
12、将 u 位定义为 P1.4/*函数功能:延时约 30ms (3*100*100=30 000 s =30m*/void delay30ms(void)文案大全实用文档unsigned char m,n;for(m=0;m<100;m+)for(n=0;n<100;n+);/* 函数功能:主函数*/ void main(void)unsigned char i;u=1;/初始化输出高电平for(i=0;i<50;i+) /输出50个矩形脉冲u=1;delay30ms();u=0;delay30ms();while(1); / 无限循环,防止程序“跑飞”/ 实例 50-2 :计数
13、器T0 统计外部脉冲数#include<reg51.h> /包含 51 单片机寄存器定义的头文件/*函数功能:主函数*/void main(void)TMOD=0x06; / TMOD=0000 0110B,使用计数器 T0 的模式 2EA=1;/开总中断ET0=0; 不使用定时器T0的中断TR0=1;/启动T0TH0=0;/计数器T0高8位赋初值TL0=0;/计数器T0低8位赋初值while(1) 无限循环,不停地将TL0计数结果送P1 口P1=TL0;文案大全实用文档/ 实例 51-2 :定时器T0 的模式 2 测量正脉冲宽度#include<reg51.h> /包
14、含 51 单片机寄存器定义的头文件sbit ui=P3A2; 将ui位定义为P3.0 (INTO)弓唧,表示输入电压 /*函数功能:主函数*/void main(void)TMOD=0x0a;EA=1;ET0=0;TR0=1;TH0=0;TL0=0;while(1)/ TMOD=0000 1010B使用定时器T0的模式2, GATE置1/ 开总中断/ 不使用定时器T0 的中断/启动 T0/计数器T0高8位赋初值/ 计数器 T0 低 8 位赋初值无限循环,不停地将TL0计数结果送P1 口while(ui=0) /INTO为低电平,T0不能启动JTLO=O;INTO为高电平,启动TO计时,所以将T
15、LO清0while(ui=1) /在INTO高电平期间,等待,计时 ;P1=TLO; /将计时结果送P1 口显示/ 实例 53:用外中断O 的中断方式进行数据采集#include<reg51.h> /包含 51 单片机寄存器定义的头文件sbit S=P3A2;将 S位定义为 P3.2,/* 函数功能:主函数*/void main(void)EA=1; /开放总中断EXO=1; /允许使用外中断ITO=1; /选择负跳变来触发外中断文案大全实用文档P1=0xff;while(1); / 无限循环,防止程序跑飞/*函数功能:外中断T0的中断服务程序*/void int0(void) i
16、nterrupt 0 using 0 / 外中断 0 的中断编号为0P1=P1; /每产生一次中断请求,P1 取反一次。/ 实例 54-1 :输出负脉宽为200 微秒的方波#include<reg51.h> /包含 51 单片机寄存器定义的头文件sbit u=P1A4;将 u 位定义为 P1.4/* 函数功能:主函数void main(void)TMOD=0x02;EA=1;ET0=1;*/TMOD=0000 0010B,使用定时器T0的模式2/ 开总中断/ 定时器 T0 中断允许TH0=256-200; /定时器T0的高8位赋初值TL0=256-200; /定时器T0的高8位赋初
17、值TR0=1;while(1)/ 启动定时器T0/ 无限循环,等待中断/* 函数功能:定时器T0的中断服务程序*/ void Time0(void) interrupt 1 using 0 /"interrupt" 声明函数为中断服务函数u=u; 将P1.4引脚输出电平取反,产生方波文案大全实用文档/ 实例 54-2 :测量负脉冲宽度#include<reg51.h> /包含 51 单片机寄存器定义的头文件sbit u=P3A2;将 u 位定义为 P3.2/*函数功能:主函数*/void main(void)TMOD=0x02; /TMOD=0000 0010B
18、使用定时器 T0 的模式 2EA=1; /开放总中断EX0=1; /允许使用外中断IT0=1; /选择负跳变来触发外中断ET0=1; /允许定时器T0中断TH0=0; /定时器T0赋初值0TL0=0; /定时器T0赋初值0TR0=0; /先关闭 T0while(1); / 无限循环,不停检测输入负脉冲宽度/*函数功能:外中断0 的中断服务程序*/void int0(void) interrupt 0 using 0 / 外中断 0 的中断编号为0TR0=1;外中断一到来,即启动 T0计时TL0=0; /从 0开始计时while(u=0) /低电平时,等待 T0计时;P1=TL0; /将结果送P1 口显示TR0=0; /关闭 T0/ 实例 55:方式 0 控制流水灯循环点亮#include<reg51.h> /包含 51 单片机
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 员工防护知识培训课件
- 粤教版音乐七下《歌曲-小城故事》听评课记录1
- 化工安全培训教学课件
- 村级巡察业务培训课件
- 村级业务知识培训课件会
- 川教版信息技术七下第1课《计算机资源管理》听评课记录12
- 人教部编版语文八年级下册第五单元《登勃朗峰》听评课记录
- 部编版秋天的怀念初一语文七年级上册《秋天的怀念》听评课记录
- 部编版七年级语文上册《三打白骨精》听评课记录
- 人教版音乐七年级上册第2单元欣赏《伏尔塔瓦河》听评课记录1
- 特种设备教育培训考试题
- 临床执业助理医师呼吸系统
- 检验科医师(技师)晋升高级职称晋升专题报告病例分析汇编三篇
- 工程师站及电子间管理规定
- 最新山东地图含市县地图矢量分层可编辑地图PPT模板
- 建设生态文明ppt模板课件
- T∕CGMA 033001-2018 压缩空气站能效分级指南
- 浙江鹏友化工有限公司
- 江苏常熟新材料产业园环境风险评估报告
- 《创新方法》课程教学大纲
- REFLEXW使用指南规范.doc
评论
0/150
提交评论