找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5776|回复: 14
打印 上一主题 下一主题
收起左侧

毫秒定时器制作

  [复制链接]
跳转到指定楼层
楼主
实验室仪器坏了,自己制作了一个,新手,因为仪器要求,精确度1ms,最大值9999ms,要求为接通开关K1开始计时;接通开关K2暂停计时并显示。

评分

参与人数 1威望 +50 黑币 +50 收起 理由
admin + 50 + 50 共享资料的积分奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:75575 发表于 2015-3-28 23:21 | 只看该作者
  1. /**********
  2. 功能:秒表
  3. MCU  : STC89C52     11.0592MHz
  4. 编译器: Keil C51 V4.22
  5. 描述: 精确度1ms,曹老师要求为接通开关K1开始计时;接通开关K2暂停计时并显示。
  6. 作者:NCUT_glx
  7. *********/                                               
  8. #include"reg52.h"                                                                                                        
  9. typedef        unsigned char UINT8;                                                           
  10. typedef unsigned int  UINT16;                                                                       
  11. UINT16 Num;
  12.                                                                   
  13. #define DataPort P0                                                                                        
  14. sbit LE1 = P2^2;                        //duan                                                                               
  15. sbit LE2 = P2^3;                        //wei                                                                               
  16. sbit K1 = P2^4;               
  17. sbit K2 = P2^5;       

  18. UINT8 code DuanMa[ ] = { 0x3F,0x06,0x5B,0x4F,
  19.                                      0x66,0x6D,0x7D,0x07,
  20.                                      0x7F,0x6F };                                                       

  21. UINT8 code WeiMa[] = { 0xFE,0xFD,0xFB,0xF7,
  22.                                    0xEF,0xDF,0xBF,0x7F };                                               

  23. UINT8 StorageData[8];                                                                                        

  24. void DelayMs( UINT16 Ms )
  25. {
  26.                 UINT8 i;
  27.                
  28.                 while (Ms--)
  29.                 {
  30.                         for ( i = 0; i < 114; i++ );                                                               
  31.                 }
  32. }

  33. void chushihua(void)
  34. {
  35.         TMOD |= 0x01;                                                    
  36.         TH0 =        (65536-917)/256;                                             
  37.         TL0 =        (65536-917)%256;
  38.         ET0 =        1;                                          
  39.         EA        =        1;
  40.         TR0=1;                                                                           
  41. }

  42. void TIMER1(void) interrupt 1
  43.                 {
  44.                         TH0 =(65536-917)/256;                                             
  45.                          TL0 =(65536-917)%256;
  46.                         Num++;   
  47.                         if (Num==10000)
  48.                                 {
  49.                                         Num==0;
  50.                                 }         
  51.                                         StorageData[ 0 ] = DuanMa[ Num / 1000 ];                               
  52.                                                            StorageData[ 1 ] = DuanMa[ ( Num % 1000 ) / 100 ];
  53.                                                            StorageData[ 2 ] = DuanMa[ ( ( Num % 1000 ) % 100 ) / 10 ];
  54.                                                            StorageData[ 3 ] = DuanMa[ ( ( Num % 1000 ) % 100 ) % 10 ];
  55.                 }

  56. void Display( UINT8 FirstBit, UINT8 Num )//UINT8 FirstBit:要显示的位;UINT8 Num:要显示的数码管的位数
  57. {
  58.                 UINT8 i;  
  59.                 for( i = 0; i < Num; i++ )
  60.                 {
  61.                         DataPort=0;                                                                                                  
  62.                            LE1 = 1;                                                                                                    
  63.                            LE1 = 0;
  64.                
  65.                            DataPort = WeiMa[ i + FirstBit ];               
  66.                            LE2 = 1;                                                                                                    
  67.                            LE2 = 0;
  68.                
  69.                            DataPort = StorageData[ i ];                                
  70.                            LE1 = 1;                                                                                            
  71.                            LE1 = 0;
  72.                   
  73.                            DelayMs(1);                                                                                                
  74.                 }
  75. }


  76. void main (void)
  77. {
  78.         chushihua();
  79.         if(K1==0)
  80.         {
  81.                 while(1)
  82.                 {       
  83.                         if (K2==0)                       
  84.                         {
  85.                                 TR0=0;
  86.                         }
  87.                         Display( 2, 4 );
  88.                 }
  89.         }
  90. }
  91.                                                                                                                 
  92.                                      
复制代码


2015-03-28_23-20-39.jpg (163.68 KB, 下载次数: 331)

2015-03-28_23-20-39.jpg

2015-03-28_23-19-18.jpg (83.79 KB, 下载次数: 342)

2015-03-28_23-19-18.jpg
回复

使用道具 举报

板凳
ID:75575 发表于 2015-3-29 10:40 | 只看该作者
所有资料都在这里啦,比较全,还有74hc373 锁存器资料以及自制protues 仿真图。

2015-03-29_10-38-31.jpg (25.94 KB, 下载次数: 330)

2015-03-29_10-38-31.jpg

所有资料.zip

319.74 KB, 下载次数: 80, 下载积分: 黑币 -5

回复

使用道具 举报

地板
ID:73762 发表于 2015-3-29 11:12 | 只看该作者
下载了,谢谢楼主共享
回复

使用道具 举报

5#
ID:75575 发表于 2015-3-29 13:52 | 只看该作者
mirage 发表于 2015-3-29 11:12
下载了,谢谢楼主共享

恩呢  我也是新人    摸着石头过河    多交流  
回复

使用道具 举报

6#
ID:72611 发表于 2015-3-29 20:40 | 只看该作者
谢谢分享,51hei有你更精彩
回复

使用道具 举报

7#
ID:72611 发表于 2015-3-29 20:47 | 只看该作者
很厉害,谢谢分享
回复

使用道具 举报

8#
ID:79149 发表于 2015-6-2 17:16 | 只看该作者
不错啊
回复

使用道具 举报

9#
ID:38546 发表于 2015-8-21 10:25 | 只看该作者
想学习下,没有黑币,呜
回复

使用道具 举报

10#
ID:88070 发表于 2015-9-11 17:00 | 只看该作者
谢谢分享!
回复

使用道具 举报

11#
ID:104142 发表于 2016-1-24 20:26 | 只看该作者
谢谢分享,51hei有你更精彩
回复

使用道具 举报

12#
ID:112605 发表于 2016-4-7 07:32 | 只看该作者
谢谢分享,51hei有你更精彩
回复

使用道具 举报

13#
ID:162112 发表于 2017-2-28 09:59 | 只看该作者
感谢分享,和我目前需要的有相似之处!
回复

使用道具 举报

14#
ID:112517 发表于 2017-3-1 11:21 | 只看该作者
我也是新人  .是我目前需要的.有相似之处.
回复

使用道具 举报

15#
ID:169145 发表于 2017-3-8 16:25 | 只看该作者
谢谢分享,51hei有你更精彩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表