51单片机时钟秒表程序
用单片机的定时器设计一个秒表程序,运行该程序后,内部RAM单元DEC的内...
ADDRDISPLAYEQU 30H DATADISPLAY EQU 31H datahour equ 32h dishour_H equ 33h dishour_L equ 34h datamin equ 35h dismin_H equ 36h dismin_L equ 37h datasec equ 38h datasec_H equ 39h datasec_L equ 3ah SYM_L EQU 3BH SYM_H EQU 3CH FLAG EQU 3DH DLY1 EQU 3EH DLY2 ...
求51单片机运动秒表程序,精确度0.1秒!
TimeCount EQU 3FH ;ORG 0000H JMP MAIN ORG 000BH JMP TIMER0 ORG 0030H ;MAIN:CLR P3.6 MOV SP,#60H MOV TMOD,#01 SETB EA SETB ET0 SETB TR0 MOV TH0,#4CH ;50ms定时 MOV TL0,#00H MOV R0,#Count MOV A,#00H CLR_1:MOV @R0,A ;清零 INC ...
用汇编语言编写一个51单片机程序,实现电子秒表功能
;=== ;功能:本程序实现P0口的对数码管动态显示秒表的分、秒、1\/100秒;; 计时程序由中断服务程序实现,采用定时计数器T0工作方式1;; P2口实现对数码管的片选功能 ;=== ;===初始化===
51单片机数字秒表的程序 1、能实现0.0到9.9的计数 2、使用数码管显示计...
include<reg52.h> sbit LED1=P2^0;sbit LED2=P2^1;sbit LED3=P2^2;sbit LED4=P2^3;sbit P3_5 =P3^5;unsigned char keycnt;unsigned char Tab[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};unsigned int counet,second,msecond,minute;void delay(unsigned int m...
设计一个单片机秒表,该秒表可显示0.0~59.9秒的时间
delay(1);dula=1;P0=table[three];dula=0;P0=0xff;wela=1;P0=0xfb;wela=0;delay(1);} void delay(uint z) \/\/延时子函数 { uint x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} 我是用74hc573锁存器连得的数码管,自己调整一下 如果要秒表显示点的话,重新定义个表,自己...
不用定时器能不能用51单片机编出秒表程序
这是使用延迟的方法完成的。供参考。
用单片机设计一个时钟,可显示时和分,可以调时间,也要有闹钟功能,要有设...
unsigned int tmp;定义变量 void delay(unsigned int xms)定义延时函数 {unsigned int j,i;for(i=0;i<xms;i++)for(j=0;j<100;j++);} void disp()定义子函数 { P1=tmp;delay(1);P2=0xff;tmp=tmp<<1;} void main( ){ unsigned char z,s=00,m=00,h=00;给时钟初始值 while(1...
51单片机中用数码管做秒表时怎么用一个独立按键控制开始和暂停,即第一...
其实,控制秒表的启动和停止,很简单。要做秒表,一定要用定时器吧,假如用T0,那开始初始化时,不写TR0=1,先不启动。\\x0d\\x0a当按一下键,再启动,TR0=1,就开始计时了。\\x0d\\x0a再 按一下键,就停止,TR0=0,就不计时了。\\x0d\\x0a程序好写,先 定义一个按键\\x0d\\x0asbit ...
关于51单片机实现数字秒表程序算法出错的问题
你想表达的是不是: 你的程序中每次进入for循环都有这样一条指令sec=sec\/10,而且执行了4次,所以每次for循环出来都有sec=0,因为计时开始,sec < 10,sec的前3位还总是0,进入for因为连续4次除10再重新赋值,导致每次出来sec都为0,而出来后累加得1后再进入循环,那每次进入循环都应该有sec=1,...
单片机程序设计,设计一个电子秒表,用2个共阳数码管,60秒清零
; P0段选 ,P2.0个位位选,P2.1十位位选 。共阳数码管 16M晶振。STRT EQU P2.5 STP EQU P2.6 CLRR EQU P2.7 ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV R0,#20 MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV DPTR...
南召县诺通回答: #include#define uchar unsigned char#define uint unsigned int uint k,j,cge,cshi ,minutege ,minuteshi,hoursge,hoursshi; uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; void delay(uint z); void display(uint); void count(); void ...
段干奖18763189312问: 用51单片机做秒表设计 - ?
南召县诺通回答: 遇到懒学生了,这个不就是一个定时器加显示吗,有什么难的,自己翻翻微机原理书就可以做 了,也就四五十行汇编语言就行了,用C就更加简单,具体的方法:用定时器定时0.2ms,定时到了就给固定的一个变量加1,然后判断这个变量是不是到了500,到了就清零然后把秒的变量加1,就是1s了,(分和时也是如此,秒为60,秒清零,分加1);主程序就只管显示和按键,按键随便用中断还是查询,我建议你查询,因为程序简单,显示程序就是查个表,自己把数码显示的断码表编好就可以了,把秒的数值查表对应显示,完了就查询按键,按键累加,值为0是没按,1是按1次,2是按2次,3是按3次,同时清零,很简单的
段干奖18763189312问: 51单片机:写一个10s的秒表程序,用一个按键分别控制秒表启动、停止、清零.(要求:使用定时器1定时,定时20中断一次)问题就在开关上,谁能给我说怎么处理 最好有代码 10 - ?
南召县诺通回答: 设立一个标志变量,初始化时,变量=0.定时器中断函数写成若标志变量为1则time++启动过程:扫描按键,若扫到,去抖延时,若扫到,标志变量取反.停止过程:同上.清零:扫描按键,若扫到,去抖延时,若扫到,且标志变量为0(停止状态),再循环扫描按键几个来回,具体时间可以用for来控制,目的就是实现一个长按清零.直接求代码很无聊,要自己写出来,做出来,才能体会到成功的酸爽.难点在长按与短按的区分,加油.
段干奖18763189312问: 用51单片机做秒表,按键按下停止计时,再按一次接着计时 - ?
南召县诺通回答: 让定时器停止计时,只要TRx = 0这句就行,要让它继续,再TRx = 1; 例如,我的按键是P0.0,按一下停止,按一下继续,用定时器0,可以这样写:if(P0_0 == 0) {TR0 = ~TR0;while(P0_0 == 0); } 我只是提供个例子,实际运用中按键要记得加滤波
段干奖18763189312问: 单片机的秒表设计的程序 - ?
南召县诺通回答: 这个程序本身思路都已经非常清晰了呀,主要就是再把流程优化下即可了.定时器T0只负责产生秒信号,用两个计数单元来计数需要显示的内容,在低位秒信号满100后清零同时把高位单元加一,还有就是对按键的处理和显示的处理问题上,比如两个键同时按下如何处理,显示是用锁位来实现,还是不停的动态扫描实现等等
段干奖18763189312问: 用51单片机设计一个秒表,计时范围从00:00 - 59:59. - ?
南召县诺通回答: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 ...
段干奖18763189312问: 51单片机0~90秒表的汇编程序 - ?
南召县诺通回答: 这个图看不清,给你一个我做过的0~99秒秒表的程序吧.ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN: MOV TMOD,#01H MOV TH0,#HIGH(65536-10000) MOV TL0,#LOW(65536-10000) SETB ET0 SETB EA MOV R0,#...
段干奖18763189312问: 单片机电子钟程序 - ?
南召县诺通回答: 51单片机在数码管上显示的数字钟程序:#include "at89x51.h" 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,0...
段干奖18763189312问: 怎样用汇编语言编写51单片机的秒表程序 - ?
南召县诺通回答: 呵呵,我大概给你说说吧,例如MOV指令,执行这条指令需要一个机器周期.DJNZ指令,执行这条指令需要2个机器周期.(一机器周期=1微秒).你要是用定时器工作的话需要先定义一下TMOD TH TL的数值 这个就用到晶振了了.要先看多少晶振,假如6MHZ,就用12除6,得出来的是2毫秒.在利用计算公式算出你需要的延时时间.(计算公式我没记住.呵呵,你可以在书上看看,应该有的)
段干奖18763189312问: (51单片机)找一个电子时钟的(C语言)程序,用LED灯做秒表,四个数码管做时 - 分.急急急!?
南召县诺通回答: 有XS128的 //延时控制 void delay(void) { int m,n; for(m=14000;m;m--) { for(n=1000;n;n--) {} } } void LED(void) { PORTB=0XFE; delay(); PORTB=0XFC; delay(); PORTB=0XF8; delay(); PORTB=0XF0; delay(); PORTB=0XE0; delay(); PORTB=0XC0; ...