维修网

 找回密码
 注册

QQ登录

只需一步,快速开始

微信扫码 , 快速开始

查看: 287|回复: 3

有关超声波测量方面的文章7篇数字钟[ZT]

[复制链接]

classn_11

发表于 2008-8-29 21:54:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
以下内容只有回复后才可以浏览

手机扫码浏览

classn_11

 楼主| 发表于 2008-8-29 21:55:00 | 显示全部楼层

有关超声波测量方面的文章7篇数字钟[ZT]

实验及实践课题┅┅┅┅┅┅┅┅┅┅┅25. 点阵LED“0-9”数字显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅26. 点阵式LED简单图形显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅27. ADC0809 A/D转换器基本应用技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅28. 数字电压表



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅29. 两点间温度控制



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅30. 四位数数字温度计



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅31. 6位数显频率计数器



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅32. 电子密码锁设计



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅33. 4?键盘及8位数码管显示构成的电子密码锁



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅34. 带有存储器功能的数字温度计-DS1624技术应用



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅35 DS18B20数字温度计使用



数字钟﹝★﹞

1. 实验任务

(1. 开机时,显示12:00:00的时间开始计时;

(2. P0.0/AD0控制“秒”的调整,每按一次加1秒;

(3. P0.1/AD1控制“分”的调整,每按一次加1分;

(4. P0.2/AD2控制“时”的调整,每按一次加1个小时;

2. 电路原理图


cc420.8.gif


图4.20.1

3. 系统板上硬件连线

(1. 把“单片机系统”区域中的P1.0-P1.7端口用8芯排线连接到“动态数码显示”区域中的A-H端口上;

(2. 把“单片机系统:区域中的P3.0-P3.7端口用8芯排线连接到“动态数码显示”区域中的S1-S8端口上;

(3. 把“单片机系统”区域中的P0.0/AD0、P0.1/AD1、P0.2/AD2端口分别用导线连接到“独立式键盘”区域中的SP3、SP2、SP1端口上;

4. 相关基本知识

(1. 动态数码显示的方法

(2. 独立式按键识别过程

(3. “时”,“分”,“秒”数据送出显示处理方法

5. 程序框图

6. 汇编源程序

SECOND EQU 30H

MINITE EQU 31H

HOUR EQU 32H

HOURK BIT P0.0

MINITEK BIT P0.1

SECONDK BIT P0.2

DISPBUF EQU 40H

DISPBIT EQU 48H

T2SCNTA EQU 49H

T2SCNTB EQU 4AH

TEMP EQU 4BH

ORG 00H

LJMP START

ORG 0BH

LJMP INT_T0

START: MOV SECOND,#00H

MOV MINITE,#00H

MOV HOUR,#12

MOV DISPBIT,#00H

MOV T2SCNTA,#00H

MOV T2SCNTB,#00H

MOV TEMP,#0FEH

LCALL DISP

MOV TMOD,#01H

MOV TH0,#(65536-2000) / 256

MOV TL0,#(65536-2000) MOD 256

SETB TR0

SETB ET0

SETB EA

WT: JB SECONDK,NK1

LCALL DELY10MS

JB SECONDK,NK1

INC SECOND

MOV A,SECOND

CJNE A,#60,NS60

MOV SECOND,#00H

NS60: LCALL DISP

JNB SECONDK,$

NK1: JB MINITEK,NK2

LCALL DELY10MS

JB MINITEK,NK2

INC MINITE

MOV A,MINITE

CJNE A,#60,NM60

MOV MINITE,#00H

NM60: LCALL DISP

JNB MINITEK,$

NK2: JB HOURK,NK3

LCALL DELY10MS

JB HOURK,NK3

INC HOUR

MOV A,HOUR

CJNE A,#24,NH24

MOV HOUR,#00H

NH24: LCALL DISP

JNB HOURK,$

NK3: LJMP WT

DELY10MS:

MOV R6,#10

D1: MOV R7,#248

DJNZ R7,$

DJNZ R6,D1

RET

DISP:

MOV A,#DISPBUF

ADD A,#8

DEC A

MOV R1,A

MOV A,HOUR

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

MOV A,#10

MOV@R1,A       

DEC R1

MOV A,MINITE

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

MOV A,#10

MOV@R1,A       

DEC R1

MOV A,SECOND

MOV B,#10

DIV AB

MOV @R1,A

DEC R1

MOV A,B

MOV @R1,A

DEC R1

RET

INT_T0:

MOV TH0,#(65536-2000) / 256

MOV TL0,#(65536-2000) MOD 256

MOV A,#DISPBUF

ADD A,DISPBIT

MOV R0,A

MOV A,@R0

MOV DPTR,#TABLE

MOVC A,@A+DPTR

MOV P1,A

MOV A,DISPBIT

MOV DPTR,#TAB

MOVC A,@A+DPTR

MOV P3,A

INC DISPBIT

MOV A,DISPBIT

CJNE A,#08H,KNA

MOV DISPBIT,#00H

KNA: INC T2SCNTA

MOV A,T2SCNTA

CJNE A,#100,DONE

MOV T2SCNTA,#00H

INC T2SCNTB

MOV A,T2SCNTB

CJNE A,#05H,DONE

MOV T2SCNTB,#00H

INC SECOND

MOV A,SECOND

CJNE A,#60,NEXT

MOV SECOND,#00H

INC MINITE

MOV A,MINITE

CJNE A,#60,NEXT

MOV MINITE,#00H

INC HOUR

MOV A,HOUR

CJNE A,#24,NEXT

MOV HOUR,#00H

NEXT: LCALL DISP

DONE: RETI

TABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

TAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

END

7. C语言源程序

#include

unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,

0x66,0x6d,0x7d,0x07,

0x7f,0x6f,0x77,0x7c,

0x39,0x5e,0x79,0x71,0x00};

unsigned char dispbitcode[]={0xfe,0xfd,0xfb,0xf7,

0xef,0xdf,0xbf,0x7f};

unsigned char dispbuf[8]={0,0,16,0,0,16,0,0};

unsigned char dispbitcnt;

unsigned char second;

unsigned char minite;

unsigned char hour;

unsigned int tcnt;

unsigned char mstcnt;

unsigned char i,j;

void main(void)

{

TMOD=0x02;

TH0=0x06;

TL0=0x06;

TR0=1;

ET0=1;

EA=1;

while(1)

{

if(P0_0==0)

{

for(i=5;i>0;i--)

for(j=248;j>0;j--);

if(P0_0==0)

{

second++;

if(second==60)

{

second=0;

}

dispbuf[0]=second%10;

dispbuf[1]=second/10;

while(P0_0==0);

}

}

if(P0_1==0)

{

for(i=5;i>0;i--)

for(j=248;j>0;j--);

if(P0_1==0)

{

minite++;

if(minite==60)

{

minite=0;

}

dispbuf[3]=minite%10;

dispbuf[4]=minite/10;

while(P0_1==0);

}

}

if(P0_2==0)

{

for(i=5;i>0;i--)

for(j=248;j>0;j--);

if(P0_2==0)

{

hour++;

if(hour==24)

{

hour=0;

}

dispbuf[6]=hour%10;

dispbuf[7]=hour/10;

while(P0_2==0);

}

}

}

}

void t0(void) interrupt 1 using 0

{

mstcnt++;

if(mstcnt==8)

{

mstcnt=0;

P1=dispcode[dispbuf[dispbitcnt]];

P3=dispbitcode[dispbitcnt];

dispbitcnt++;

if(dispbitcnt==8)

{

classn_11

 楼主| 发表于 2008-8-29 21:55:01 | 显示全部楼层

有关超声波测量方面的文章7篇数字钟[ZT]

dispbitcnt=0;

}

}

tcnt++;

if(tcnt==4000)

{

tcnt=0;

second++;

if(second==60)

{

second=0;

minite++;

if(minite==60)

{

minite=0;

hour++;

if(hour==24)

{

hour=0;

}

}

}

dispbuf[0]=second%10;

dispbuf[1]=second/10;

dispbuf[3]=minite%10;

dispbuf[4]=minite/10;

dispbuf[6]=hour%10;

dispbuf[7]=hour/10;

}

}


titou2.jpg134.jpg


51单片机C语言实验及实践教程       

第一章: 硬件资源模块



keil c 软件使用



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅1. 闪烁灯



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅2. 模拟开关灯



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅3. 多路开关状态指示



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅4. 广告灯的左移右移



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅5. 广告灯(利用取表方式)



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅6. 报警产生器



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅7. I/O并行口直接驱动LED显示



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅8. 按键识别方法之一



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅9. 一键多功能按键识别技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅10. 00-99计数器



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅11. 00-59秒计时器(利用软件延时)



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅12. 可预置可逆4位计数器



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅13. 动态数码显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅14. 4?矩阵式键盘识别技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅15. 定时计数器T0作定时应用技术(一)



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅16. 定时计数器T0作定时应用技术(二)



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅17. 99秒马表设计

实验及实践课题┅┅┅┅┅┅┅┅┅┅┅18. “嘀、嘀、……”报警声



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅19. “叮咚”门铃



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅20. 数字钟(★)



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅21. 拉幕式数码显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅22. 电子琴



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅23. 模拟计算器数字输入及显示



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅24. 8?LED点阵显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅25. 点阵LED“0-9”数字显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅26. 点阵式LED简单图形显示技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅27. ADC0809 A/D转换器基本应用技术



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅28. 数字电压表



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅29. 两点间温度控制



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅30. 四位数数字温度计



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅31. 6位数显频率计数器



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅32. 电子密码锁设计



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅33. 4?键盘及8位数码管显示构成的电子密码锁



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅34. 带有存储器功能的数字温度计-DS1624技术应用



实验及实践课题┅┅┅┅┅┅┅┅┅┅┅35 DS18B20数字温度计使用

classn_11

发表于 2012-2-17 15:46:38 | 显示全部楼层
顶顶更健康,越顶吃的越香。  
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|手机版|小黑屋|最新贴|维修网 ( 粤ICP备09047344号

GMT+8, 2024-5-15 21:08 , Processed in 0.542641 second(s), 33 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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