全部评论(1条)
-
- _943459939 2016-06-15 00:00:00
- ORG 0000H JMP BEGIN ORG 000BH LJMP T0INT ORG 001BH LJMP T1INT LEDD EQU 30H LEDC EQU 36H SECC EQU 37H TCNT EQU 3AH ORG 0030H ;--------------------------------------- TABLE: ; 共阴极数码管显示代码表 DB 0FCH ;"0" 00H DB 60H ;"1" 01H DB 0DAH ;"2" 02H DB 0F2H ;"3" 03H DB 66H ;"4" 04H DB 0B6H ;"5" 05H DB 0BEH ;"6" 06H DB 0E0H ;"7" 07H DB 0FEH ;"8" 08H DB 0F6H ;"9" 09H DB 0EEH ;"A" 0AH DB 3EH ;"B" 0BH DB 9CH ;"C" 0CH DB 7AH ;"D" 0DH DB 9EH ;"E" 0EH DB 8EH ;"F" 0FH DB 00H ;" " 10H ; DB 3FH,06H,5BH,4FH,66H ;12345 ; DB 6DH,7DH,07H,7FH, ;6789 ;--------------------------------------- DELAY: MOV R6,#25 DLY01: MOV R7,#100 DJNZ R7,$ DJNZ R6,DLY01 RET ;--------------------------------------- BEGIN: MOV SP,#5FH MOV TMOD,#11H MOV TH0,#3CH MOV TL0,#0B0H MOV TH1,#0F4H MOV TL1,#48H SETB ET1 SETB TR1 MOV P2,#0 MOV TCNT,#0 MOV SECC,#0 SETB ET0 SETB EA MOV SECC,#00 LCALL DISSEC SETB TR0 SETB TR1 LOOP: SJMP $ ;--------------------------------------- T1INT: PUSH ACC CLR TR1 MOV TH1,#0F4H MOV TL1,#48H SETB TR1 MOV DPTR,#TABLE MOV R0,#LEDD MOV A,LEDC T1INT0: JNZ T1INT1 MOV P2,#01H MOV A,@R0 MOVC A,@A+DPTR CPL A MOV P0,A SJMP T1INTD T1INT1: MOV P2,#02H INC R0 MOV A,@R0 MOVC A,@A+DPTR CPL A MOV P0,A T1INTD: INC LEDC MOV A,LEDC CJNE A,#2,T1INT6 T1INT6: JC T1INTE MOV LEDC,#0 T1INTE: POP ACC RETI ;--------------------------------------- HBCD: MOV B,#10 DIV AB SWAP A ORL A,B RET ;--------------------------------------- T0INT: PUSH ACC CLR TR0 MOV TH0,#3CH MOV TL0,#0B0H SETB TR0 INC TCNT MOV A,TCNT CJNE A,#20,T0INT1 T0INT1: JC T0INTE MOV TCNT,#0 MOV A,SECC INC A MOV SECC,A CJNE A,#20,T0INT2 MOV SECC,#0 T0INT2: LCALL DISSEC T0INTE: POP ACC RETI ;--------------------------------------- DISSEC: MOV A,SECC LCALL HBCD PUSH ACC ANL A,#0FH MOV 30H,A POP ACC SWAP A ANL A,#0FH MOV 31H,A RET ;--------------------------------------- END
-
赞(19)
回复(0)
热门问答
- 单片机编程实现0---20秒计时器
2016-06-14 17:17:42
923
1
- plc编程怎么实现计时器倒着计时
2012-06-15 09:08:30
421
3
- 单片机60秒计时器的程序,用AT89C51实现
2009-06-03 22:35:17
337
4
- 51单片机 芯片是89C52 实现秒表计时器!急急……
- 51单片机 芯片是89C52 实现秒表计时器 一到59秒循环 到59秒可实现风铃器发声 可实现中断 按一下可暂停 再按一下 可继续 以下是程序 求每一项的解释注明 因为我看不懂什么意思 很急 #include
unsigned char x,y;sbit H=P3^6;unsigned char D[10]={0xc...
2017-11-26 00:53:59
601
1
- 用51单片机连接max7219芯片做秒计时器,求帮看下程序
- 这是我的程序:#include
#include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { un... 这是我的程序:#include #include #define uchar unsigned charsbit pinDIN=P3^0;sbit pinLOAD=P3^1;sbit pinCLK=P3^2;uchar code LEDcode[]={0x7e,0x30,0x6d,0x79,0x33,0x5b,0x5f,0x70,0x7f,0x7b,0x00};void delay1000(void) { unsigned char a,b,c; for(c=1;c>0;c--) for(b=142;b>0;b--) for(a=2;a>0;a--);}void sendbyte (uchar dat){ uchar i,temp; _nop_(); for (i=0;i<8;i++) { temp=dat&0x80; dat=dat<<1; if(temp) pinDIN=1; else pinDIN=0; pinCLK=0; _nop_(); pinCLK=1; }}void sendword (uchar addr,uchar dat){ pinLOAD=0; _nop_(); sendbyte (addr); _nop_(); sendbyte (dat); _nop_(); pinLOAD=1; delay1000();}void init7219 (void){sendword (0x0c,0x01); sendword (0x0a,0x09);sendword (0x0b,0x03); sendword (0x09,0x00);sendword (0x0f,0x00); }void clear7219(void){ uchar i; for(i=8;i>0;i--) { sendword(i,0x00); }}void main(void){int n=60;int s=0;int g=0;init7219 ();while(1) {clear7219();if(n>0){n=n-1;s=n/10;g=n%10;LEDcode[s];LEDcode[g];}sendword(0x01,LEDcode[1]);sendword(0x02,LEDcode[2]|0x80); sendword(0x03,LEDcode[3]);sendword(0x04,LEDcode[4]);sendword(0x05,LEDcode[5]);sendword(0x06,LEDcode[6]);sendword(0x07,LEDcode[7]);sendword(0x08,LEDcode[8]); }}不知道为什么,数码管上只显示“12.”然后就一直没变化,看下面是由高低电平的变化的,就是数字一直不变,请问是哪里出错? 展开
2017-06-04 10:27:15
393
1
- 软件,编程,单片机
- 软件,编程,单片机请问msp430中这两句是什么意思?P1INP1OUT=BIT6|BIT3... 软件,编程,单片机请问msp430中这两句是什么意思? P1IN P1OUT=BIT6|BIT3 展开
2018-11-28 16:31:30
337
0
- 单片机用余晖效应实现6个数码管的动态显示(计时器)
- 要同时亮起6个数码管就得用余晖效应。每个数码管之间亮起的间隔为1ms。但是这个药怎么写代码。为什么我看一本书中的代码就只是用if-else这个语句而已。感觉并没有体现出用定时器来控制的感觉。
2018-04-05 23:37:56
681
1
- 求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。
- 求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。动态显示管是阴极的,我编的程序是不是哪里进入误区了,能我帮指出来或者求大神编好正确的程序,诚信感谢,赏金不够见谅。 。还有这种原理图位选和段选如何选,好像不同于P2^6和P2^7的位选段... 求51单片机语言用动态显示设计0-60秒的计时器程序,原理图如图。动态显示管是阴极的,我编的程序是不是哪里进入误区了,能我帮指出来或者求大神编好正确的程序,诚信感谢,赏金不够见谅。 。还有这种原理图位选和段选如何选,好像不同于P2^6和P2^7的位选段选是吗? 展开
2015-10-30 01:47:35
336
1
- 求vb计时器编程代码
- 编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,运行程序后,在标签内显示经过的秒数,并响铃
2018-02-26 21:39:20
415
1
- 三菱PLC计时器如何编程??
2011-09-09 01:35:47
478
2
- 利用单片机设计59秒计时器
- 利用89c52单片机设计一个59秒计时器,使用两位共阳极LED数码管将其显示出来
2017-12-16 14:32:26
301
1
- 不用单片机怎么做个计时器
2017-06-26 17:31:48
565
1
- 单片机 红外测温怎么实现
- 测人体温度
2013-09-21 15:49:59
430
2
- pic876a型号单片机的编程,实现光电传感器遮光一次,led灯亮一下
2008-12-23 00:51:15
235
2
- 用单片机汇编语言编写60秒计时器!
- 用单片机汇编语言编写60秒计时器 ,
2017-11-28 01:26:56
343
1
- C51单片机计时器50ms程序编写
2017-05-24 09:29:03
556
2
- 对单片机编程要用什么软件?
- 对单片机编程要用什么软件?
2008-10-11 16:57:50
604
6
- 单片机编程的软件是什么名字?
2016-07-13 20:57:26
315
1
- 用单片机实现函数信号发生器
- 输出三中波形(方波,正旋,锯齿)频率可变100HZ,200HZ,500HZ,1K,幅度(1.2.3.5)我要图和程序(C语言的)求那位了!真的很紧急啊我用的芯片是DAC0832和AT89C51... 输出三中波形(方波,正旋,锯齿)频率可变100HZ,200HZ,500HZ,1K,幅度(1.2.3.5) 我要图和程序(C语言的) 求那位了!真的很紧急啊 我用的芯片是DAC0832和AT89C51 展开
2010-07-14 22:45:45
264
4
- java计时器实现定时执行函数
- 用java实现一个计数器,每过5秒,就输出一个“1”,如果不人工停止就无限输出,如何实现?
2009-09-25 00:10:17
327
2
5月突出贡献榜
推荐主页
最新话题
-
- #DeepSeek如何看待仪器#
- 干体炉技术发展与应用研究
- 从-70℃到150℃:一台试验箱如何终结智能...从-70℃到150℃:一台试验箱如何终结智能调光膜失效风险?解决方案:SMC-210PF-FPC温湿度折弯试验箱的五大核心价值1. 多维度环境模拟,覆盖全生命周期测试需求超宽温域:支持-70℃至+150℃的极限温度模拟(可选配),复现材料在极寒、高温、冷热冲击下的性能表现;控湿:湿度范围20%~98%RH(精度±3%RH),模拟热带雨林、沙漠干燥等复杂工况,暴露材料吸湿膨胀、分层缺陷;动态折弯:0°~180°连续可调折弯角度,支持R1~R20弯曲半径设定,模拟实际装配中的微小应力,提前预警裂纹、断裂风险。
参与评论
登录后参与评论