显示的秒表 C语言程序

源程序代码: //名称:用1602LCD设计的秒表 //说明:首先按下K1键时开始计时,自此按下时暂停,第三次按下时继续累积计时,再次按下时停止计时,K2键用于清零秒表。 // #include #include #define uchar unsigned char #define uint unsigned int #define delayNOP ( ) ﹛_nop_( ); _nop_( ); _nop_( ); _nop_( );﹜ //LCD控制函数 void LCD_Initialize( ); void LCD_Set_POS(uchar); void LCD_Write_Date(uchar); void Display_String(uchar﹡,uchar); sbit K1 = P1^0; sbit K2 = P1^1; sbit BEEP = P3^0; sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; uchar KeyCount = 0; uchar code msg1[] = ﹛〞Second Watch 0 〞﹜; uchar code msg2[] = ﹛〞>>>> 0 〞﹜; uchar code Prompts[] [16] = { ﹛〞:: 1- - - - > 〞﹜, ﹛〞:: 1- - - - > ::2 〞﹜, ﹛〞:: 1 - >2 ::3- - > 〞﹜, ﹛〞:: 1 - >2 ::3- - >4 〞﹜ }; // 计时缓冲与显示缓冲 uchar Time_Buffer[] ={0,0,0,0}; uchar LCD_Display_Buffer[]={〞00: 00: 00:00〞}; // // 蜂鸣器 // void Beep () ﹛ uchar i,j = 70; for (i = 0;i< 180;i++ ) ﹛ while(--j);BEEP = ~BEEP; ﹜ BEEP = 0; ﹜ // // 延时 // void DelayX(uint ms) { uchar i; while(ms--) for (i= 0;i< 120;i++); ﹜ // // 显示计时 // void Show_Second( ) { uchar i; LCD_Set_POS(0 x45); //设置LCD显示起点 for(i = 3;i != 0 xff ;i--); { //将两位整数的1/100s,秒,分,时转换为8位数字字符 LCD_Display_Buffer[2﹡i+1] = Time_Buffer[i] / 10 + ˊ0 ˊ; LCD_Display_Buffer[2﹡i] = Time_Buffer[i] % 10 + ˊ0 ˊ; //在 = 3,2,1,0时分别显示时,分,秒,1/100s LCD_Writer_Date(LCD_Display_Buffer[2﹡i+1]) LCD_Writer_Date(LCD_Display_Buffer[2﹡i]) LCD_Writer_Date(ˊ: ˊ) } } // // Time0中断 // Void Time0( ) interrupt 1 using 0 { THO = -10000 / 256; TLO = -10000 % 256; Time_Buffer[0] ++ if(Time_Buffer[0] == 100) { Time_Buffer[0] = 0; Time_Buffer[1]++; } if(Time_Buffer[1] == 60) //秒 { Time_Buffer[1] = 0; Time_Buffer[2]++; } if(Time_Buffer[2] == 60) //分 { Time_Buffer[2] = 0; Time_Buffer[3]++; } if(Time_Buffer[3] == 24) //时 Time_Buffer[3] = 0; } // //主函数 // void main( ) { uchar i; IE = 0 x82; TMOD = 0 x01; THO = -10000 / 256; TLO = -10000 % 256; LCD_Initialize( ); Display_String(msg1,0 x00); Display_String(msg2,0 x40); While(1) { if(k1 == 0) { DelayX(100); i = ++KeyCount; switch (i) { case 1: case 3: TRO = 1; Display_String(Prompts[i-1],0); Break; case 2: case 4: TRO = 0; Display_String(Prompts[i-1],0); break; default:TRO = 0; break; } While (K1 == 0); // 等待释放K1键 Beep( ); } else if(K2 == 0) { TRO = 0; KeyCount = 0; for(i = 0;i < 4; i++) Time_Buffer [i] = 0; // 清零计数缓冲 Display_String(msg1,0); Beep( ); DelayX(100); while (K2 == 0); // 等待释放K2键 } Show_Second( ); } } // // 1602LCD显示驱动函数 // #include 〈reg51.h〉 #include 〈intrins.h〉 #define uchar unsigned char #define uint unsigned int #define DellayNOP( )﹛_nop_( ); _nop_( ); _nop_( ); _nop_( );﹜ sbit LCD_RS = P2^0; sbit LCD_RW = P2^1; sbit LCD_EN = P2^2; bit LCD_Busy_Check( ); void LCD_Initialize( ); void LCD_Set_PO

秒表清零c语言程序,显示的秒表 C语言程序相关推荐

  1. linux c语言定位显示字符,Linux c语言实现修改文本字符串

    要在Linux c 程序里面实现文本的字符串读写,百度一下,都是比较简单的字符串处理,并没有类似的说明,后来换成bing 找到一些蛛丝马迹 http://bbs.csdn.net/topics/390 ...

  2. c语言年历显示主要思路,c语言程序设计年历显示分析.doc

    c语言程序设计年历显示分析 南京航空航天大学金城学院 设计题目 年历显示 学生姓名 学 号 专业班级 指导教师 2016 年 月 日 目 录 一.课程设计问题描述1 1.课程设计题目1 2.设计任务要 ...

  3. c语言编程显示单月日历,C语言日历显示日历显示br/编程反复显示2013年各月份日历 爱问知识人...

    日历显示 编程反复显示2013年各月份日历.(程序可以设定2013年1月1号为星期二). #include void main() { int t,h,day,i,y; char c; while(1 ...

  4. c语言扫雷显示坐标周围,C语言实现扫雷 - osc_kas7094m的个人空间 - OSCHINA - 中文开源技术交流社区...

    实现用C语言编写一个扫雷游戏 大家想必都玩过扫雷,无论那个版本都有难度供已选择,下面来分享一个自己用C语言编写的扫雷游戏吧! 编写语言:C语言 编写软件:visual studio 2017 1.首先 ...

  5. 救救孩子吧,这个怎么解决?Java运行程序显示无法启动该应用程序

  6. 单片机控制秒表C语言程序,89C51单片机秒表的设计(全文完整版)

    <89C51单片机秒表的设计.doc>由会员分享,可免费在线阅读全文,更多与<89C51单片机秒表的设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  7. 存储器块清零c语言版,存储器块清零实验

    版权所有 实验一 存储器块清零 一.实验目的 1.掌握存储器读写方法: 2.了解存储器的块操作方法. 二.实验说明 本实验指定某块存储器的起始地址和长度,要求能将其内容清零.通过该实验学生可以了解单片 ...

  8. c语言实验报告绘制钟表,单片机时钟程序实验报告

    单片机原理与应用 课程名称:    单片机原理与应用 设计题目:    LCD电子钟 院    系:    电子信息工程学院 班    级:    自动化0706 设 计 者:    全宏宇 指导教师 ...

  9. 微信小程序显示分页列表

    目录 微信小程序创建项目配置底部导航栏 微信小程序滚动播放内容 微信小程序功能中心模块开发 微信小程序个人中心页面开发 微信小程序获取电话号码 微信小程序显示列表数据 微信小程序显示分页列表 微信小程 ...

最新文章

  1. Spring Cloud Alibaba 服务门户:Spring Cloud Gateway 如何把好微服务的大门
  2. 为什么数学的用途这么大?
  3. AMS重要的数据结构解析(二):TaskRecord
  4. iOS架构-制作属于自己的cocoapods以及podspec文件讲解(20)
  5. 一起谈.NET技术,C#创建不规则窗体的几种方式
  6. js在客户端创建文件——ActiveXObject
  7. node.js 执行php,node.js - 如何利用php执行nodejs文件
  8. [道理]关于人生的,很不错!
  9. 易语言数据类型与c 对照,易语言利用自定义数据类型和数组. 制作键对值操作类/内存配置...
  10. 7-3 DAG图优化-A (15 分)(更新版)
  11. scala案例_Scala案例类和案例对象深入(第1部分)
  12. 现代通信原理A.3:随机信号的功率谱估计
  13. Python打造qq音乐歌曲下载器
  14. geek卸载界的天花板
  15. 图论邮递员问题程序代码_图论的简短实用程序员指南
  16. 笔记本电脑插耳机后耳机无声音有外放情况,咋办??
  17. 解决Mac无法睡眠问题
  18. CTGU 2021春-MySQL数据库实验2:基本查询3-4关,共7小题全代码+信息表+通关截图!
  19. 值得收藏:程序员必去的社区与网站
  20. 微信每日早安推送 Windows版

热门文章

  1. Mysql可重复读业务场景_事务可重复读的意义在哪?
  2. 嵌入式linux防复制,嵌入式linux中DFB+GTK的移植
  3. 苹果xsmax有高通基带吗_“爱情”走得太快:苹果或在2023年与高通正式“分手”|高通|英特尔|手机|基带...
  4. uniapp仿美团小程序左上角的位置定位
  5. 科大讯飞轮值总裁陈涛:AI赋能,迎接新时代,拥抱新智慧!
  6. Python爬虫案例,腾讯动漫爬虫,步骤超详细解释。
  7. progressblock 安卓自定义进度条 progressbar 高仿仿QQ下载进度条
  8. 小论文双栏插入脚注(脚注也为双栏)
  9. 安卓隐藏摄像_安卓、iPhone 都有的隐藏拍照功能!无需后期直出大片!
  10. 前端知识基础之Vue知识点串讲