两位数码管秒表c语言,两位数码管显示计时器.doc
两位数码管显示计时器
一、题目
用定时0的方式1实现数码管两位59S循环计时(计时器)
二、思路方案 本实验利用单片机的定时器/计数器定时和计数的原理,通过proteus 仿真软件来实现模拟实现。模拟利用AT89C51单片机、LED数码管实现秒表的计时。 其中一个两位数码管用来显示数据,一位用来显示个位秒,另一位用来显示十位秒。当计数超过范围时所有数码管全部清零重新计数。
三、实验设计原理图
四、程序流程图
五、程序代码如下:
#include
#define uchar unsigned char
#define uint unsigned int
uchar num,count,ge,shi;
void delay uint ;
void display uchar,uchar ;
uchar SEG[] 0xc0,0xf9,0xa4,0xb0,0x99, //显示数码管0-9数字 0x92,0x83,0xf8,0x80,0x98 ;
void main TMOD 0x01; //设置定时器工作方式 T0的工作方式为1
TH0 65536-45872 /256; //装初值11.0592M晶振定时50ms数为45872
TL0 65536-45872 %256; EA 1; //开总中断
ET0 1; //开定时器0中断
TR0 1; //启动定时器0
while 1 //程序在这里不停的对数码管动态扫描同时等待中断发生 display shi,ge ; /*以下是设计中断服务程序的时间和显示*/
void T0_time interrupt 1 TH0 65536-45872 /256; //重装初值
TL0 65536-45872 %256;
if ++num 20 //如果到了20次,说明1秒时间到 num 0; //然后把num清0重新再记20次
if ++count 60 //这个数用来送数码管显示,到60后归0
count 0;
shi count/10; //把一个2位数分离后分别送数码管显示,十位和个位
ge count%10; /*以下为延迟函数*/
void delay uint xms uint i,j;
for i xms;i 0;i-- //延迟时间为 xms乘以50ms
for j 110;j 0;j-- ; /*以下为显示数码管的子函数*/
void display uchar shi,uchar ge P3 0xfe; //打开P3.0,及打开数码管1引脚
P2 SEG[ge];
delay 20 ;
P3 0xfd; //打开P3.1,及打开数码管2引脚
P2 SEG[shi];
delay 20 ; 六实验过程遇到的问题总结
由于重新接触单片机,软硬件较生疏,刚看题目没思路,只能网上查资料看,再理解,相当的费力。
连接硬件找不到元器件,英文的都看不到,只能一个个翻译才找到元器件,英文真的很重要。以下是用到组别的英文单词
Microprocessor ICs 微处理器ptoelectronics 光电学
两位数码管秒表c语言,两位数码管显示计时器.doc相关推荐
- 两位数码管动态显示c语言程序,四位数码管动态显示c语言程序
//这是一个四位数码管动态显示c语言程序,每隔一秒加一,直至加到9999为止//使用时需采用锁存器 #include #include"stdio.h" unsigned char ...
- 两位数码管秒表c语言,单片机C语言编程实现双数码管可调秒表
单片机C语言编程实现双数码管可调秒表 解:只要满足题目要求,方法越简单越好.由于单片机I/O资源足够,所以双数码管可接成静态显示方式,两个共阴数码管分别接在P1(秒十位)和P2(秒个位)口,它们的共阴 ...
- 2位数码管秒表c语言程序,利用定时器实现2位数码管秒表0到99循环
描述: 2位LED数码显示"秒表",显示时间为00~99秒,每秒自动加1, ; 一个"开始"键,一个"复位"键,一个"暂停&quo ...
- at89s51数码管秒表c语言程序,基于AT89C51单片机的一个2位的LED数码显示作为“秒表”设计【基于单片机系统的00-99s的定时器】...
基于AT89C51单片机的一个2位的LED数码显示作为"秒表"设计[基于单片机系统的00-99s的定时器] 工程技术学院 课程设计 题 目:用单片机AT89C51设计一个2位的LE ...
- 2位数码管秒表c语言程序,实例19---开机次数记录仪 实例20---秒表计时器(4位数码管)...
实例19---开机次数记录仪 功能:通过I2C总线,控制4位数码管显示,开机次数,即每按一次RES复位键后,数码管显示自动加1. 硬件: Arduino开发板.1个四位数码管. 四位数码管工作原理: ...
- 四位数码管秒表 c语言编程,4位共阴极数码管秒表设计仿真与程序
#include "reg51.h" #include "intrins.h" #define GPIO_DIG P2 ...
- 怎么得到16位校检和-c语言,16位CRC校验C语言算法.pdf
16位CRC校验C语言算法.pdf CRC 算法原理及C 语言实现 摘 要 本文从理论上推导出CRC算法实现原理,给出三种分别适应不同计算机或微控 制器硬件环境的C语言程序.读者更能根据本算法原理,用 ...
- c语言位数组如何实现,C语言实现位数组(bit数组)与位数组的简单应用举例
学习交流加(可免费帮忙下载CSDN资源): 个人微信: liu1126137994 学习交流资源分享qq群1(已满): 962535112 学习交流资源分享qq群2: 780902027 今天有朋友遇 ...
- 两位动态数码管电子秒表c语言,清翔电子51单片机6课动态显示数码管作业秒表...
单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟单片机数码管电子钟 相关下载链接://download. ...
最新文章
- hostent结构体图解
- hdu 1228-A+B
- 启明云端1.54寸串口屏使用经验分享
- RVDS4.0上开发cortex A8 NEON程序
- 你好,面试官 | 你拿Java Map考验老干部?
- html5网页制作图文混排,03第3章制作图文混排网页.docx
- 公司这个月要同时完成好多项目!!!
- 随机化算法-数值随机化算法
- antd upload手动上传_SpringBoot 如何上传大文件?
- python:查看函数方法的具体信息、参数等
- 字节跳动Java面试题、笔试题(含答案)
- matlab匿名函数求导,MATLAB进行匿名函数求导出现错误
- MEMS - 基础 - 悬臂梁的挠度
- spring quartz 表达式在线生成器
- Linux vi/vim 中的一些技巧
- mstar android 怎么连接电脑,Android:Mstar平台 HDMI OUT 静音流程
- 云原生赋能传统行业软件离线交付
- 一键导出ChatGPT聊天记录:让备份更简单
- javaWeb核心技术第六篇之BootStrap
- 【Unity】2D摄像机跟踪
热门文章
- leetcode No374 猜数字大小 java
- 软件工程实验报告 一
- 韩顺平老师《一周学会Linux》视频笔记
- Unity Physics.OverlapSphere实现冲击波
- Linux操作系统实验1——地址转换
- CISCO无线AP修改默认管理员用户和密码
- Experience all that SharePoint 15 has to offer. Start now or Remind me later.
- 什么是监控系统云台?
- 小白跨行入门单片机从89C51到STM32
- Webix UI JavaScript 10.0.6 Crack