显示的秒表 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. keyvaluepair_C# KeyValuePairTKey,TValue的用法【转】 .
  2. 离散对数(同余理论-BSGS算法)
  3. 1、CSS样式及其基本语法
  4. SQL Server 中关于EXCEPT和INTERSECT的使用方法
  5. 携号转网时间明确了: 下半年在全国实施!
  6. android 测试工具,安卓测试工具的几种实现方式
  7. python 类内置方法
  8. [JZOJ P1327] [DP]订货
  9. 一次注册所有dll 命令详解
  10. python如何调用dll库中的函数_Python调用DLL动态库函数读写CPU卡
  11. QQ群下载解除限速小技巧【提高千倍不止】【无需会员】
  12. Python基于openCV火焰识别
  13. Android平台下的图片/视频转Ascii码图片/视频 (一)
  14. 贝壳找房app使用Glide替换Picasso
  15. tkinter-canvas详解
  16. 天玑9000和高通骁龙870哪个好
  17. Spring框架的基本使用
  18. 搜集网络上比较好的中文语料库
  19. js中的上下文,好比煮一顿泡面
  20. 标准生物钟作息时间表

热门文章

  1. 锐龙R7 4750U 怎么样 相当于什么水平
  2. 插拔式java_插拔式设计思想
  3. Python命令总结
  4. 什么是 geobuf?
  5. 服务器(Linux)查看Tomcat运行日志
  6. 【持续更新中...】《多旋翼飞行器设计与控制》- 北航可靠飞行控制研究组 ---- 学习笔记
  7. 记录一次VIDEO_TDR_FAILURE蓝屏解决过程
  8. 鸿蒙碎片八零,天道天骄_第2688章 一方鸿蒙的碎片!上(1/2)_邂逅小说网
  9. JLink 警告:The connected J-Link is defective,Proper operation cannot be guaranteed.
  10. 实习生的工作周报大纲