如何用51单片机制作简易电子钟

如题,包括需要什么制作材料,电路图,程序等等。有高手请M我QQ277438415或者发到我的QQ邮箱。不甚感激!或者能够ADC转换,键盘显示,温度指示器。。那种便宜和比较... 如题,包括需要什么制作材料,电路图,程序等等。有高手请M我QQ277438415或者发到我的QQ邮箱。不甚感激!
或者能够 ADC转换,键盘显示,温度指示器。。那种便宜 和比较容易做,就给我那种吧。先谢谢啦!
展开
 我来答
doveccr
2009-12-28 · TA获得超过687个赞
知道答主
回答量:101
采纳率:0%
帮助的人:43万
展开全部

我自己做的一个课程设计,程序运行已经成功了:

汇编程序如下:

ORG 0000H

AJMP main

ORG 000BH ;定时器0的中断向量地址

AJMP TIME0 ;跳转到真正的定时器程序处

ORG 30H

main:

mov dptr,#k1;

start:

MOV P0,#00H           ;中断预处理程序

MOV P1,#00H

MOV P3,#00H ;关所有灯

MOV R0,#00H ;软件计数器预清0

MOV R7,#00H 

MOV R6,#00H

MOV TMOD,#00000001B ;定时/计数器0工作于方式1

MOV TH0,#3CH 

MOV TL0,#0B0H ;即数15536

SETB EA  ;开总中断允许

SETB ET0 ;开定时/计数器0允许

SETB TR0 ;定时/计数器0开始运行

LOOP:     ;判断时钟进位程序

 

MOV A,R1

CJNE A,#60,LOOP1 ;R1等于60吗?

MOV R1,#0

INC R2      ;R1等于60那么R2加一,R1清0

MOV A,R2

CJNE A,#60,LOOP1 ;R2等于60吗?

MOV R2,#0

INC R3      ;R2等于60那么R3加一,R2清0

MOV A,R3

CJNE A,#24,LOOP1 ;R3等于24吗?

MOV R3,#0

       ;R3等于24那么R3清0

LOOP1:

mov a,r2       ;如果分钟显示为0,报警

cjne a,#01H,LOOP2

mov a,r1

cjne a,#00H,LOOP3

clr p2.0

LOOP3:

mov a,r1       ;如果秒钟显示为1,取消报警

cjne a,#05H,LOOP2

setb p2.0

LOOP2:           ;显示数据处理

MOV A,  R1        ;取来8位二进制数

    MOV B, #100

    DIV AB            ;除以100

    MOV A, B          ;取回余数

    MOV B, #10

    DIV AB            ;再除以10

    MOV R4, A         ;商是十位数,存放到R4

MOV R5, B         ;余数是个位,存放到R5

MOV 42H,R4

mOV 41H,R5

              ;R1的BCD码放入41-42H单元

MOV A,  R2        ;取来8位二进制数

    MOV B, #100

    DIV AB            ;除以100

    MOV A, B          ;取回余数

    MOV B, #10

    DIV AB            ;再除以10

    MOV R4, A         ;商是十位数,存放到R4

MOV R5, B         ;余数是个位,存放到R5

MOV 44H,R4

MOV 43H,R5

             ;R2的BCD码放入43-44H单元

MOV A,  R3        ;取来8位二进制数

    MOV B, #100

    DIV AB            ;除以100

    MOV A, B          ;取回余数

    MOV B, #10

    DIV AB            ;再除以10

    MOV R4, A         ;商是十位数,存放到R4

MOV R5, B         ;余数是个位,存放到R5

MOV 46H,R4

mov 45H,R5

                 ;R3的BCD码放入45-46H单元

L1:

mov a,41h

movc a,@a+dptr

mov 51h,a

mov a,42h

movc a,@a+dptr

mov 52h,a

mov a,43h

movc a,@a+dptr

mov 53h,a

mov a,44h

movc a,@a+dptr

mov 54h,a

mov a,45h

movc a,@a+dptr

mov 55h,a

mov a,46h

movc a,@a+dptr

mov 56h,a      ;将显示代码送入51H--56H

display:  ;显示程序

mov p0,#0ffH;一

mov p0,51H

mov P1,#0feH

acall delay1S

mov p1,#0ffH

mov p0,#0ffH;二

mov p0,52h

mov P1,#0fdH

acall delay1S

mov p1,#0ffH

mov p0,#0ffH;三

mov p0,53h

mov P1,#0fbH

acall delay1S

mov p1,#0ffH

mov p0,#0ffH;四

mov p0,54h

mov P1,#0f7H

acall delay1S

mov p1,#0ffH

mov p0,#0ffH;五

mov p0,55h

mov P1,#0efH

acall delay1S

mov p1,#0ffH

mov p0,#0ffH;六

mov p0,56h

mov P1,#0dfH

acall delay1S

mov p1,#0ffH

;将51H-56H数据显示,

AJMP LOOP ;工作处理程序

TIME0: ;定时器0的中断处理程序

INC R7

MOV A,R7

CJNE A,#20,T_RET ;R7单元中的值到了20了吗?

T_L1: 

INC R1 ;到了20那么R1+1

MOV R7,#0 ;清软件计数器

T_RET:;二十分之一秒时的程序

     inc r6

   mov a,r6

   cjne r6,#3,T_over   ;调节时间的延迟时间

   mov r6,#0

      jb p2.1,T_over1

      mov a,r2

      add a,#1

  cjne a,#60,T_tiao1

      mov a,#0

  T_tiao1:

  mov r2,a

  

T_over1:

      jb p2.2,T_over

      mov a,r3

      add a,#1

  cjne a,#24,T_tiao2

  mov a,#0

  T_tiao2:

  mov r3,a

T_over:

MOV TH0,#3CH

MOV TL0,#0B0H ;如果没到一秒重置定时常数

reti

delay1s:  MOV 31H,#100

  D1:  MOV 32H,#30

  D2:  DJNZ 32H,D2

       DJNZ 31H,D1

       RET

delay2s:  MOV 33H,#255

  D3:  MOV 34H,#255

  D4:  DJNZ 34H,D4

       DJNZ 33H,D3

       RET

K1:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh

END

holp1024
2009-12-29 · TA获得超过163个赞
知道答主
回答量:198
采纳率:0%
帮助的人:89.5万
展开全部
去买一套单片机最小系统的学习板。几十块钱,在和他要个程序就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王越影
2009-12-28
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
发小个和年的发在个
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式