第一个用51单片机完成电子钟的八段数码管显示,只要可以显示时,分,秒就行。 不要c语言,要汇编语言。 急
为您提供程序。Atequp0; 数字管CLEQUEC2 2 的数据; “ - ”; 2 2 c_dieequ2 4 ; “离开”; 2 4 ; -------------------------------------------------------------------------------- ----------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- ---------------------------------------------------------------------------- org000000hjmpminorg0bhjmpt0_int; ----------------------------------------------------------------------------- ------------------------------------主:Movsp,#6 0Hmova,#00HMOVD_TIME,AMOVSECOND,#5 9 H; Bcdmovminute,#5 9 hmovhor,#2 3 H; nit_timersetbtr0loop_test:callshow_timejmploop_test ;; -------------------------------------------------------------------------- ------------------------------------------------------------------------------ - - -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------; ::;; ------------------------ display: PUSHACCCPUSHPSWCLRPSW.3 ; RS1 , RS0 (PSW.4 , PSW.3 ): 1 0SETBPSW.4 MOVA, COUN_WEICJMP0: CJNEA,#0, CJMP1 JMPDIP_WEI1 CJMP1 : CJNEA,#1 , CJMP2 JMPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPunation: cjnea,#2 ,cjmp3 jpdisp_wei2 cjmp2 :cjnea,#2 ,cjmp3 jp3 jjp3 jjp3 nea,#3 ,cjmp4 jmpdip_wei4 c jmp4 :cjnea:cjnea,#4 ,#4 ,#4 ,cjmppppppppppppppppppppppppup_wei5 cjmp5 : cjnea,#5 ,cjmp6 jmpdip_wei6 cjmp6 :cjnea,#6 ,cjmp7 jmpdippdipp_wei7 cjmp7 :cjnea:cjnea,#7 ,#7 , dissisp_weisp_weisisp_weisisp_weisisp_weisisp_weisisp_weisisp_weisisp_weisisp_weisism i,#0disp_wei1 :移动> d_wei,#1 0H; p3 JMPDIP_WEI_ENDDISP_WEI6 :MOVLEL_WEI,#2 0H; P3 JMPDIP_WEI_ENDISP_WEI7 :MOVLEL_WEI,#4 0H; P3 JMPDIP_WEI_NDINSP_WEI8 :MOVED_WEI,#8 0H; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; p3 ; ovr0,#disp_bufmova,count_weiadda,r0movr0,amova,@r0movdptr,#led_tabmovca,@a+dptrmovled_dat, ainccoun_weipoppswpapaccretled_tab:db0c0h; 3 “ DB9 9 H;” “ DB9 2 H”; “ f”; 1 5 DB8 9 H; 1 6 DB0C7 H; 1 7 DB0C8 H; 1 8 ; 1 1 001 000DB0C1 H; 1 9 db8 c h; “ P”; 2 0DB0A3 H; “ O”; 2 1 db0bfh; “ - ”; 2 2 db0afh; “ R”; 2 3 db0ffh; “离开”; 2 4 DB09 1 H; “ Y”; 2 5 DB0FFH; “风俗” ;; ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------》 ____________________-- callshow_minutemov5 5 5 h,#c __; - callshow_secondretshow_second:mova: secondmovb,aswapaanla,#0fhmov5 6 H,amova,banla,#0fhmov5 7 h,aretshow_minute:mova,minutemovb,aswapaanla,#0fhmov5 3 3 3 h,#0fhmov5 3 3 3 h,# AretShow_Hour:Mova,Tourmovb,Aswapaanla,#0fhmov5 0H,Amova,Banla,#0fhmov5 1 H,Aretslo_second_die: MOV5 6 H,#C_DIEMOV5 7 H,#C_DIERETSHOW_HOUR_DIE:MOV5 0HOW _MINUTE_DIE:MOV5 3 H,#C_DIEMOV5 4 H,#C_DIERET;;;;; ----------------------------------------------------------------------------------- ---------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- ------------------------------ 0操作模式 - 这是1 Movie模式,#8 2 H; ,#thight ;; -------------------------------------------------------------------------- ----------------------------------------------------------------------- - - -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- ---------------------------------------------------------------------------- -------- 1 daamovsec ond,acjnea,#6 0H,t0_int_exitmovsecond,#0mova,minateadda,#01 ; 啊,小时,#01 ; Movhour,#0; 第二个块是清晰的0T0_INT_EXIT:POPSWPOPAPAPACCRETI ;;-------------------------------------------------------------------------- ------- -------------------------------------------------------------------------- -------- -------------------------------------------------------------------------- ------- -------------------------------------------------------------------------- -------- -------------------------------------------------------------------------- -------------------------------------------------------------------- -------------------------------------------------------------------------- --------------------------------
急,在线等!求单片机 AT89C51 八段数码管显示程序和各程序段的功能详细解释!
#incuct/} videman(5 ) /} videman(5 )。
主页(1 ) / * / *提交死圈和数字管显示的数字管显示,并显示Ngbramd#0。
8 adodes [])的数字数量已连接到P08 Hearts *( /)= {0xc01 ,01 ,01 ,01 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 9 ,01 1 ,01 1 ,01 1 9 0}: / * 0-9 Digital 0xff; / *当“ / *打开 * / * 0x00)发光时 * / * 0x00时执行数字管 / * ay(uchille) / *延迟函数 * / *从请求值显示函数 * / {p2 = 〜0x00; ; / *是Camheld进入低级主管的最低点。
* * *延迟(5 ); / *延迟(5 ); ) / *主函数 * /}括号,数字的数量 * /}}
抢答器PLC控制并用八段码显示程序
以西门子S7 2 00为例,假设A和B很快回答答案。其中代表A,I0.1 的I0.0快速响应信号表示B的快速响应信号,而I0.2 表示停止的信号。
Q1 .0意味着A的快速答案是成功的,而Q1 .1 表示B的快速答案是成功的。
特定逻辑如下:首先,LDI0.0OQ1 .0表示,当您发送快速响应信号时,激活快速响应信号。
其次,ANI0.1 ANI0.2 = Q1 .0意味着仅在没有B QQ并且没有停止零间隙时,QQ成功信号仍保持主动。
然后movb1 和vb0 1 提交到VB0寄存器中,表明A的快速答案成功了。
当然,还可以选择其他值,具体取决于实际的接线情况。
然后,SEGVB0和QB0将VB0的数值转换为通过数字管道查看的七个段代码。
同样,当B发送快速响应信号时,逻辑如下:LDI0.1 OQ1 .1 ,它表明当B发送快速响应信号时,B快速响应对成功信号的快速响应将被激活。
ANI0.0ANI0.2 = Q1 .1 表示成功信号B快速答案仅在没有快速答案并且零间隙尚未停止时保持活动状态。
MOVB2 ,VB0将2 发送到VB0寄存器,这表明B的快速答案成功。
同样,可以选择其他值。
最后,在每个快速回答之前,主机按清除按钮删除VB0和QB0,并为下一个快速响应做准备。
值得注意的是,上面程序中显示的字母A和B实际上是通过LED数字管道出现的。
特定的起点A和B取决于CPU端子的线状态。
当涉及八片代码屏幕时,我暂时没有实践经验。
如果您有兴趣,可以参考相关的七部分代码查看程序以进行扩展。
pic单片机汇编编程:点亮八段数码管(加小数点)每部后面注明作用自订求救!!!!!!!!!
哈哈,选择我。例如,数字管的典型末端是接地的,并且八个部分连接到港口C。
Trisc'Select output bankSelectc'select protc'select protc'clear端口c movlw0ffh'set计数立即输入计数,立即输入计数到0ffh到端口C。
已知:P1口接入一个共阴极的八段数码管(简称LED),电路如图所示。
为了将八部分的数字管(LED)连接到P1 端口,必须编写特定的代码以控制数字管的宽度。该图标使用8 05 1 CPU,并将时钟频率放在1 2 MHz上。
LEDTable厨师在程序中定义,包含一个从0到9 的扇区图标。
在Steuptimer0函数中,首先扫描TMOD记录中的T1 信息,然后将T0设置为时间函数,使用方法2 (自动重新下载/计数8 -bit)。
然后设置初始时间值,以使计时器每2 5 0个显微镜被抵制。
通过运行临时和抵制功能,可以实现准确的时机。
在timer0_isr抵制程序中,首先定义了许多变量以跟踪时间。
达到2 00 2 5 0显微镜(即5 0毫米)后,擦除了US2 5 0变量。
同样,当达到2 0 5 0毫升时,会扫描可变的MS5 0。
接下来,根据当前秒数选择相应的扇区代码,然后在LED上显示。
当秒数达到1 0时,请擦除秒数以开始新的时机。
整个程序在主要工作中起作用,第二次实现了数字管的显示,这是通过需要抵制服务程序的情节来实现的。
通过这种编程方法,可以实现对公共数字阴极管的准确控制,并且数字可以从0到9 显示。
此符号不仅解释了如何设置计时器,还显示了如何执行定时和显示功能通过抵制服务计划进行数字管。