一、实验内容

采用12MHZ时钟频率的单片机,通过一个开关输入,触发定时计数。按下开关10次,计算按键的平均时间,并通过数码管显示出来。

二、实验目的

了解定时器的各种工作方式

掌握定时器/计数器的使用和编程方法

三、实验设备

DELL台式机 、keilC51版本7、proteus版本6

四、实验电路图

五、程序流程图

六、程序源码

#include#include#define uchar unsigned char

#define uint unsigned int

sbit Dot=P0^7;//小数点

sbit P3_5=P3^5;//按钮

uchar Count=0;//循环次数

uchar flag=0;//判断标志

uchar Times=0;

//数码管段码定义

uchar code DSY_CODE[]=

{ 0xc0,0xf9,0xa4,0xb0,

0x99,0x92,0x82,0xf8,

0x80,0x90

};

//延时

void DelayMS(uint x)

{

uchar i;

while(--x)for(i=0;i<120;i++);

}

//6只数码管上显示的数字

uchar Digit[]={0,0,0,0,0,0};

void main()

{

uchar i,j;

P0=0xff;

P2=0x00;

P3_5=1;

TMOD=0x01;//设T0为定时方式1

EA=1;ET0=1;//开总控,INT0

TH0=(65536-50000)/256;//设置50ms定时

TL0=(65536-50000)%256;

while(Count!=10){

if(P3_5==1)//开关高电平

{

if(flag==1)//判断标志位

{

flag=0;Count++;//修改标志位,循环次数+1

}

TR0=0;//关中断

}

else if(P3_5==0)//开关低电平

{

flag=1; TR0=1;//修改标志位,关中断

}

}

//显示数码管

while(1)

{

j=0x80;

for(i=0;i<6;i++)

{

j=_crol_(j,1);

P2=j;

P0=DSY_CODE[Digit[i]];

if(i==2)//因为是平均时间,所以小数点左移一位

Dot=0;

DelayMS(2);

}

}

}

void Time0()interrupt 1

{

uchar i;

TH0=(65536-50000)/256;//定时

TL0=(65536-50000)%256;

if((++Times)==2)//50ms*2=0.1s

{

Times=0;

Digit[0]++;//0.1s累加

for(i=0;i<=5;i++)//进位处理

{

if(Digit[i]==10)

{

Digit[i]=0;

if(i!=5)

Digit[i+1]++;

}

}

}

}

单片机定时器和计数器的实验C语言,(单片机原理与应用)定时器/计数器设计实验...相关推荐

  1. 定时器循环彩灯实验c语言,单片机实验6__定时器控制循环彩灯实验.doc

    华 南 农 业 大 学 实 验 报 告 专业班次 08电信1 组别 200831120102 题目 实验六 定时器控制循环彩灯 姓 名 陈 建 泽 日期 2010.11.4 一.实验目的 1.学习89 ...

  2. pc机串口通讯实验c语言,单片机实验六 单片机与PC机串口通讯

    实验报告六 实验名称:单片机与PC机串口通讯 实验目的 : 1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制. 2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议. 3.了解PC机通讯 ...

  3. p1口输入 输出实验C语言,单片机P1口输入输出实验单片机P1口输入输出实验.ppt

    单片机P1口输入输出实验单片机P1口输入输出实验 单片机I/O口输入输出实验 (或单片机数字量输入输出实验);单片机P1口输入输出实验 ;2.实验要求(1).2)为必做,3)为选做) 3) P1口作输 ...

  4. 单片机io口的控制实验c语言,单片机io口控制实验报告

    <单片机io口控制实验报告>由会员分享,可在线阅读,更多相关<单片机io口控制实验报告(5页珍藏版)>请在人人文库网上搜索. 1.单片机io口控制实验报告 精品文档,仅供参考单 ...

  5. 查询式键盘实验c语言,查询式键盘与阵列式键盘实验.doc

    查询式键盘与阵列式键盘实验 PAGE \* MERGEFORMAT 1 论 文 提 要 在大部分嵌入式系统中,人机交互界面是必不可少的一个重要部分,人机交互界面的设计往往占据很大一部分工作.人机交互界 ...

  6. 单片机音频驱动实验C语言,单片机实验:音乐改编

    <单片机实验:音乐改编>由会员分享,可在线阅读,更多相关<单片机实验:音乐改编(7页珍藏版)>请在人人文库网上搜索. 1.实验1将歌曲播放程序两只老虎改变为另一首歌曲(如Hap ...

  7. 独立式键盘实验c语言,单片机设计报告—独立式键盘控制的4级流水灯.doc

    单片机设计报告-独立式键盘控制的4级流水灯 单片机结题报告 独立式键盘控制的4级流水灯 班 级 姓 名 吴泽宇 学 号 2008405340 一.任务目的: 通过采用单片机制作一个独立式键盘控制的4级 ...

  8. 查询式键盘实验c语言,单片机实验上机--实验十七查询式键盘实验.doc

    实验十七 查询式键盘实验 一.实验目的 1.掌握键盘和显示器的接口方法和编程方法 2.掌握键盘和八段码显示器的工作原理 3.静态显示的原理和相关程序的编写 二.实验说明 本实验提供了8个按钮的小键盘, ...

  9. 单片机adc0809模数转换实验c语言,单片机C语言程序设计:ADC0809 数模转换与显示...

    /*  名称:ADC0809 数模转换与显示 说明:ADC0809 采样通道 3 输入的 模拟量,转换后的结果显示在数码管上. */ #include #define uchar unsigned c ...

最新文章

  1. 用LSTM实现英文写作
  2. C#版本的CPU性能测试
  3. jni 字符串的梳理
  4. python怎么做折线图_python怎么画折线图
  5. 软件开发中IT用语-日文和英文对照版
  6. server2008 sql 账号只读权限_SQL Server 2008数据库创建用户只读权限的两种方式(转载)...
  7. Asp.Net Core 中的“虚拟目录”
  8. java 刷新jtextarea_Java JTextArea不能实时刷新的问题
  9. Python 中的协程 (4) asyncio模块
  10. springboot--多环境
  11. spring interceptor 拦截方法,判断用户是否存在
  12. 计算机操作常用的五大功能是,计算机操作系统的五大功能是什么
  13. 科技热点周刊|ClickHouse 融资 2.5 亿美元、个人信息保护法正式实施、Facebook 改名 Meta
  14. 什么是前端开发工程师
  15. 02-SpringBoot集成MinIo
  16. 详解Django的Models(django基础四)
  17. 发送短信(SMS)承载方式有哪些?
  18. 独家食用指南系列|Android端SQLCipher的攻与防新编
  19. laravel 先判断在加查询条件,whereBetween,whereIn
  20. karabiner改键教程

热门文章

  1. 一个程序猿三个月没有找到工作转去开滴滴
  2. 如何在给虚拟机设置静态IP
  3. investment
  4. java 创建word文件_Java 创建Word
  5. 第1章 Oracle教程
  6. 亿欧发布《数字孪生城市研究报告》全文
  7. php 抓取百度收录数,PHP简单获取网站百度和搜狗收录量的方法
  8. 鱼类接连被查出问题 专家提出安全“吃鱼意见”
  9. C++小小计算器(25个功能)
  10. 阿里云服务器自动备份