单片机课程设计计时器
⑴ 单片机60秒计时器设计程序
ORG 0000H ;从地址0开始执行
JMP START ;跳转到START处
orG 000BH ;TIMER0 的中断向量
LJMP TIMER_0 ;跳转到TIMER—0
START:
MOV P0, #0FFH ;
MOV P1, #0FFH ;
MOV P2, #0FFH ;
MOV P3, #0FFH ;
MOV R4 , #40 ;R4=40
MOV IE , #10000010B ;开中断
MOV TMOD , #00000001B ;设定定时方式
MOV SP , #30H ;移开堆栈
MOV TH0, #75 ;设定定时初值
MOV TL0, #234 ;设定定时初值
NOP
NOP
MOV DPTR , #TABLE ;表首地址
MOV 50H, #0 ;50H=0
MOV 51H, #0 ;51H=0
MOV 52H, #0 ;52H=0
MOV 53H, #0 ;53H=0
NOP
NOP
SETB TR0 ;启动T0
LOOP_1:
MOV A , 50H ;A=(R0)
MOVC A, @A+DPTR ;读取数据
MOV P0,A ;把数据赋给P0口
CLR P2.7 ;打开位码
CALL DELAY
SETB P2.7 ;关闭位码
NOP
NOP
MOV A,51H ; A=(R1)
MOVC A,@A+DPTR ;读取第二位7---SEGMENT----- LED的数据
MOV P0, A ;把读取的数据送入P0口
NOP
NOP
CLR P2.6 ;打开第二个数码管的位码
CALL DELAY
SETB P2.6 ;关闭位码
MOV A, 52H ;A=(R2)
MOVC A, @A+DPTR ; 读取第三位7---SEGMENT----- LED的数据
MOV P0, A ;把读取的数据送入P0口
NOP
NOP
CLR P2.5 ;打开第三位的位码
CALL DELAY
SETB P2.5 ;关闭位码
MOV A , 53H ;A=(R3)
MOVC A , @A+DPTR ; 读取第四位7---SEGMENT----- LED的数据
MOV P0, A ;把读取的数据送入P0口
CLR P2.4 ;打开第四位的位码
CALL DELAY
SETB P2.4 ;关闭位码
NOP
NOP
JMP LOOP_1 ;跳转到LOOP-1
//*******************以下是TIMER0的中断服务子程序***********************//
TIMER_0:
PUSH PSW ;
CLR TR0 ;
DJNZ R4, NEXT ;不够一秒就继续执行
MOV A,50H ;
CJNE A, #9, LOOP_2 ;所要显示的数字是否达到9?若未达到,就跳转到LOOP-2
MOV 50H,#0 ;(50H)=0
MOV A ,51H ;A=(50H)
CJNE A,#9,LOOP_4 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-4
MOV 51,#0 ;(51H)=0
MOV A ,52H ;A=(52H)
CJNE A,#9,LOOP_5 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-5
MOV 52H ,#0 ;(52H)=0
MOV A ,53H ;A=(53H)
CJNE A ,#9,LOOP_6 ; 所要显示的数字是否达到9?若未达到,就跳转到LOOP-6
MOV 53H,#0 ;(53H)=0
JMP LOOP_3 ;跳转到LOOP--3
LOOP_2:
INC 50H ;50H的数据增加1
JMP LOOP_3 ;跳转到LOOP--3
LOOP_4:
INC 51H ;51H的内容增加1
JMP LOOP_3 ;跳转到LOOP--3
LOOP_5:
INC 52H ;52H的内容增加1
JMP LOOP_3 ;跳转到LOOP--3
LOOP_6:
INC 53H ;53H的内容增加1
LOOP_3:
MOV R4, #40 ;R4=40
NEXT:
MOV TH0,#75 ;设定定时初值
MOV TL0,#234 ;设定定时初值
SETB TR0 ;启动TIMER0
POP PSW ;
RETI ;返回
DELAY: ;100MS?????
MOV R7,#2
D1: MOV R6,#25
D2: DJNZ R6,D2
DJNZ R7,D1
RET
TABLE: DB 03FH,06H,5BH,4FH;
DB 66H,6DH,7DH,07H;
DB 7FH,6FH;
END; 这是以前做过的,硬件电路图找不到了,仔细看一看引脚的I/O,可以参考用的
⑵ 要求:一 课程设计内容:设计一个单片机秒表,该秒表可显示00.000到99.999秒的时间
#include<reg52.h>
#include<intrins.h>
void Delay1ms(); //@11.0592MHz
int ms=0;
int s=0;
void main()
{
while(1)
{
Delay1ms();//延时函数
ms++;
if(ms>=1000) //经过一千毫秒
{
ms=0; //让一千毫秒的变量清零
s++; //秒变量加一
}//这里得到的就是数据,看你通过什么显示,然后将两个数据填写进去就行
}
}
void Delay1ms() //@11.0592MHz
{
unsigned char i, j;
_nop_();
_nop_();
_nop_();
i = 11;
j = 190;
do
{
while (--j);
} while (--i);
}
刚刚给你写的
⑶ 单片机课程设计秒表
1. 可通过M键切换显示模抄式:日期(年、袭月、日)、时间(小时、分、秒)、秒表(小时、分、秒、1/100秒)、闹钟(小时、分、秒)。
2. 在日期显示模式,可通过A键依次使年、月、日闪烁或变色,这时可通过I键加1调整。
3. 在时间显示模式,可通过A键依次使小时、分、秒闪烁或变色,这时可通过I键加1调整。
4. 在秒表显示模式,可通过I键切换(启动/暂停)计时,当暂停计时时可通过A键复位。
5. 在闹钟显示模式,可通过A键依次使On/Off标志、小时、分、秒闪烁或变色,这时可通过I键切换On/Off标志或加1调整。
6. 调整和秒表操作不影响日期和时间的准确性。
7. 可通过Q键结束程序。
⑷ 要求:一 课程设计内容:设计一个单片机秒表,该秒表可显示00.00到99.99秒的时间,进行相应的单片机硬件电
首先明白有几个模块:1、51最小系统 2、定时器10ms中断一次 3、数码管显示(建两个数组版,一个权不带小数的,一个带小数的)3、按键扫描
就这几个模块,心里有个数,具体自己写吧
核心部分是定时器部分,我写一个:
//Timer0
void Timer0_Init(void)
{
EA=1;
TMOD=0x01;
ET0=1;
TH0=(65535-10000)/256;
TL0=(65535-10000) %256; //赋初值,10ms中断一次,即0.01秒
TR0=1;
}
void Timer0(void) interrupt 1
{
TH0=(65535-10000)/256;
TL0=(65535-10000) %256;
t++;
}
//主函数可以计t的值,10ms t自增1。 1秒t是多少,会算吧。
这些程序网上也可以找找,比较简单。
希望对你有点帮助
⑸ 单片机课程设计:倒计时计时器,从99到0
单片机课程设计:倒计时计时器,从99到0这个是可以搞定的.
⑹ 谁有单片机课设篮球赛计时器程序
【二】篮球比赛计分器系列
[1]红外无线遥控篮球比赛计分器
可定制实现的功能:
通过红外遥控器进行设定比赛时间,可以实现开始、暂停、加减分、结束等功能,具有24S时间功能。
☆已作出的实物优酷视频演示地址:
http://v.youku.com/v_show/id_XMTQxODI0NzU2OA==.html
[2]单片机篮球比赛计时器(按键版本)
可定制实现的功能:
简单实现篮球比赛计时功能。
☆已作出的实物优酷视频演示地址:
http://v.youku.com/v_show/id_XMTQwOTQ0MDEyMA==.html
[3]手机蓝牙无线遥控篮球比赛记分牌
简介:同红外版本一样,通过手机蓝牙APP来实现无线遥控篮球比赛计分系统的设计。可以设定时间,遥控比赛开始,暂停,结束等,加减分等功能。
☆已作出的实物优酷视频演示地址:
http://v.youku.com/v_show/id_XMTM4Njk5ODM2NA==.html
⑺ 单片机篮球比赛计时器课程设计 要求 24秒到计时,计两队得分
篮球比赛24秒倒计时器的设计
设计制作一个篮球竞赛计时系统,具有进攻方24秒倒计时功能,具体设计要求如下:
1、具有显示 24s 倒计时功能:用两个共阴数码管显示,其计时间隔为1s。 2、设置启暂停/继续键,控制两个计时器的计数,暂停/继续计数功能。 3、设置复位键:按复位键可随时返回初始状态,即进攻方计时器返回到24s。 4、计时器递减计数到“00”时,计时器跳回“24”停止工作,并给出声音和发光提示,即蜂鸣器发出声响和发光二极管发光 前言
电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。
在许多领域中计时器均得到普遍应用,诸如在体育比赛,定时报警器、游戏中的倒时器,交通信号灯、红绿灯、行人灯、交通纤毫控制机,还可以用来做为各种药丸、药片,胶囊在指定时间提醒用药等等,由此可见计时器在现代社会的应用是相当普遍的。
在篮球比赛中,规定了球员的持球时间不能超过24秒,否则就违例了。本课程设计“智能篮球比赛倒计时器的设计”,可用于篮球比赛中,用于对球员持球时间24秒限制。一旦球员的持球时间超过了24秒,它自动的报警从而判定此球员的违例。
本设计主要能完成:显示24秒倒计时功能;系统设置外部操作开关,控制计时器的直接清零、启动和暂停/连续功能;在直接清零时,数码管显示器灭灯;计时器为24秒递减计时其计时间隔为1秒;计时器递减计时到零时,数码显示器不灭灯,同时发出光电报警信号等。
1.1基本原理
24秒计时器的总体参考方案框图如图1所示。它包括秒脉冲发生器、计数器、译码显示电路、报警电路和辅助时序控制电路(简称控制电路)等五个模块组成。其中计数器和控制电路是系统的主要模块。计数器完成24秒计时功能,而控制电路完成计数器的直接清零、启动计数、暂停/连续计数、译码显示电路的显示与灭灯、定时时间到报警等功能。