导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[mcubase]单片机数字时钟电路设计(含源码)



No.101899
作者:mcubase
邮件:mcubase@163.com
ID:66985
登陆:8次
文章数:8篇
最后登陆IP:116.24.171.51
最后登陆:2007/11/7 15:50:40
注册:2007/1/4 19:51:49
财富:195
发帖时间:2007/1/16 12:53:14
发贴者IP:202.105.131.91
标题:mcubase:单片机数字时钟电路设计(含源码)
摘要:No.101899单片机数字时钟电路设计(含源码) /  基于单片机数字时钟程序(51与HOLTEK)
/ 因程序代码太长,摘些代码供网友参考
/ 硬件电路及详细源码请到 单片机基地网站参考

  该数字钟可实现精度误差≤ 1S/天的变精度时钟,并能方便地调节时钟、时间、定时时间等,秩序结构清晰,一看即懂,还可以配编附加一些功能如计数器功能等(扩展键盘)。 
 
  


       led_data equ p2      ;数码管定义

       key1 bit p3.5        ;按键定义
       key2 bit p3.6
       key3 bit p3.7
       key equ 56h

       time_h equ 57h       ;定时初值高位
       time_l equ 58h       ;低位 

       t_h equ 60h        ;时分秒对应的地址
       t_s equ 61h 
       t_m equ 62h
       time equ 63h        ;时钟计数单元
       timer_h equ 64h       ;定时时单元
       timer_m equ 65h      ;定时分单元
      
       timset bit 00h       ;设置时间标志

       disstart equ 70h      ;显示单元首地址 

       int_data equ 45h      ;中断数据地址
       count_data equ 44h     ;计数单元地址
       timer_data equ 43h     ;定时地址
; ************** 以上为预定义部分 

; ************** 以下程序开始 
       org 00h          ;程序开始地址 
       jmp main          ;跳转到代码开始处 

       org 1bh          ;定时器 T1 中断服务程序入口
       jmp tim1 

       org 030h          ;主程序开始的地址 30H 

     main:mov sp,#30h        ;首先定义堆栈
       lcall rest         ;初始化
       lcall pro_set       ;设置定时器开始工作
     lpp:lcall time_set       ;接受用户设置时间 
       lcall timer        ;时钟处理 
       lcall time_pro       ;时间格式处理,码型变化等 
       lcall time_display     ;显示
       jmp lpp


; *************** 定时器 T1 中断服务程序 **** 
     tim1:clr tr1          ;首先停止定时操作
       mov th1,time_h       ;
       mov tl1,time_l 
       inc time          ;自增
       mov a,time         ;取得溢出次数
       cjne a,#20,retend      ;如果满20此表示到 1 秒 
       cpl p1.0          ;取反p1.0,p1.1指示秒钟 
       cpl p1.1
       mov time,#00h       ;重新开始等待1秒
       inc t_s          ;秒单元加1 
    retend:setb tr1          ;定时开始 
       reti            ;中断返回
; ***************** 设置定时器初始化,定时时间为 50ms ****
   pro_set:mov dptr,#0000h       ;数据指针清零 
       mov tmod,#10h       ;设置定时器1工作在方式1
       mov time_h,#3ch       ;计算定时50ms需要的初值
       mov th1,time_h       ;保存高位
      ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次