【ct107d】秒表

2023-10-19 10:10
文章标签 秒表 ct107d

本文主要是介绍【ct107d】秒表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用单片机实现秒表功能需要的模块:

1.动态数码管显示

2.独立键盘(功能选择)


3.定时器0

题目:
在这里插入图片描述
做这种题目是要想要用到什么模块要怎么实现

代码:

#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code SMG_NoDot[18] = {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x80,0xc6,0xc0,0x86,0x8e,0xbf,0x7f};sbit key10=P3^1;
sbit key9=P3^2;
sbit c=P3^6;
uchar fen=0;miao=0;hao=0;void HC_138(uchar n)
{switch(n){case 4:P2=(P2&0X1F)|0X80; break;case 5:P2=(P2&0X1F)|0Xa0; break;case 6:P2=(P2&0X1F)|0Xc0; break;case 7:P2=(P2&0X1F)|0Xe0; break;}
}
//********数码管*******************
void SMGshujuout(uchar wei,uchar duan)
{HC_138(7);P0=0XFF;HC_138(6);P0=0X01<<wei;HC_138(7);P0=duan;		
}
void delaysmg(uchar tt)
{while(tt--);
}
void SMG_display()
{SMGshujuout(7,SMG_NoDot[hao%10]);delaysmg(500);SMGshujuout(6,SMG_NoDot[hao/10]);delaysmg(500);SMGshujuout(5,SMG_NoDot[16]);delaysmg(500);SMGshujuout(4,SMG_NoDot[miao%10]);delaysmg(500);SMGshujuout(3,SMG_NoDot[miao/10]);delaysmg(500);SMGshujuout(2,SMG_NoDot[16]);delaysmg(500);SMGshujuout(1,SMG_NoDot[fen%10]);delaysmg(500);SMGshujuout(0,SMG_NoDot[fen/10]);delaysmg(500);	
}
//*********************************//*********定时器*********************void initT0()
{TMOD=0X01;TH0=(65535-50000)/256;TL0=(65535-50000)%256;	ET0=1;EA=1;TR0=1;		
}
void serviceT0() interrupt 1
{TH0=(65535-50000)/256;TL0=(65535-50000)%256;hao++;if(hao==20){hao=0;miao++;if(miao==60){miao=0;fen++;if(fen==60){fen=0;}}}}
//************************************//***********键盘输入***********************
void displaykey()
{c=0;if(key10==0){delaysmg(200);if(key10==0){TR0=~TR0;while(key10==0){SMG_display();}	}}if(key9==0){delaysmg(200);if(key9==0){fen=miao=hao=0;while(key9==0){SMG_display();}	}}	
}
//***************************************
void main()
{HC_138(5);P0=0X00;initT0();while(1){SMG_display();displaykey();}
}

这篇关于【ct107d】秒表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/239114

相关文章

【单片机原理及应用】实验:数字秒表显示器

目录 一、实验目的 二、实验内容 三、实验步骤 四、记录与处理 五、思考 六、成果文件提取链接 一、实验目的  熟悉中断和定时/计数器工作原理,掌握定时器的C51编程与调试方法。 二、实验内容 【参照图表】 图A.6 (1)创建一个包含80C51固件,采用Keil for 8051编译器的新项目; (2)仿照图A.6和表A.5绘制电路

c语言之模拟时钟秒表

#include<stdio.h>struct clock{int minute;int hour;int second;};typedef struct clock demo;demo b;void display()//显示{printf("%d:%d:%d\r",b.hour,b.minute,b.second);}void update()//时间的更新{if(b.se

【STM32仿真】基于STM32单片机设计的秒表时钟计时器仿真系统——程序源码proteus仿真图设计文档演示视频等(文末工程资料下载)

基于STM32单片机设计的秒表时钟计时器仿真系统 演示视频 基于STM32单片机设计的秒表时钟计时器仿真系统 摘要 本设计基于STM32单片机,设计并实现了一个秒表时钟计时器仿真系统。系统通过显示器实时显示当前时间,并通过定时器实现秒表计时功能。显示小时、分钟、秒、毫秒,通过按键可调整时分秒和毫秒的时间。在键盘上输入要设置的时间,按*进入时间修改,之后在按*回退到上一位数字,按

【proteus仿真】基于51单片机的秒表设计

【proteus仿真】基于51单片机的秒表设计 资料获取在文章结尾处! 更多资料获取链接: https://docs.qq.com/sheet/DTExIc2dPUUJ5enZZ?tab=BB08J2 1.资料内容 源码proteus仿真图 演示视频: 【proteus仿真】基于51单片机的秒表设计_哔哩哔哩_bilibili ‍ 2.总体设计 本设计是采用AT89C51单片机

【TB作品】MSP430 G2553 单片机 口袋板 日历 时钟 闹钟 万年历 电子时钟 秒表显示

文章目录 功能介绍操作方法部分流程图代码录制了一个演示视频可以下载观看 功能介绍 时间与日期显示: 实时显示当前时间(小时、分钟、秒)和日期(年、月、日)。 闹钟功能: 设置闹钟时间(小时、分钟、秒)。闹钟响起时发出蜂鸣器声音。 秒表功能: 开始、停止、重置秒表,记录分钟、秒和毫秒。 倒计时功能: 设置倒计时时间(小时、分钟、秒)。倒计时结束时发出蜂鸣器声音。 温度测量

【TB作品】MSP430F5529,单片机,电子秒表,秒表

硬件 MSP430F5529开发板+7针0.96寸OLED /* OLED引脚分配 绿色板子DO(SCLK)------P4.3D1(DATA)------P4.0RES-----------P3.7DC------------P8.2CS------------P8.1 */ 程序功能 该程序是一个用C语言编写的,用于msp430f5529微控制器上的简单电子秒表应用。它使用OLED显

【PB案例学习笔记】-12秒表实现

写在前面 这是PB案例学习笔记系列文章的第11篇,该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习,提高编程技巧,以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码,小凡都上传到了gitee代码仓库https://gitee.com/xiezhr/pb-project-example.git 需要源代码的小伙伴们可以自行下载查看,后续文章涉及到的案

蓝桥杯单片机之模块代码《秒表》

文章目录 定时器/计数器1.工作原理2.总代码 省赛代码传送门 定时器/计数器 1.工作原理   定时器/计数器是一种能够对内部时钟信号或者外部输入信号进行计数,当计数值达到设定要求时,向CPU提出中断请求,从而实现定时或计数功能的外设。定时器的基本工作原理是进行计数。   举个栗子:你可以把定时器比喻成一个装了水的瓶子,每一次计数理解成向瓶子里面丢一个石子,当丢的石子足

使用JavaScript及HTML、CSS完成秒表计时器

案例要求 1.界面为一个显示计时面板和三个按钮分别为:开始,暂停,重置 2.点击开始,面板开始计时, 3.点击暂停,面板停止 4.点击重置,计时面板重新为0 案例源码 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,

前端学习之DOM编程案例:点名案例和秒表案例

点名 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>点名案例</title><style>*{margin: 0;padding: 0;}</style></head><body><div id="container"></div><script>let div0 = document.querySel