0-99数码管显示程序复位程序怎么写呢

&&&&单片机数码管0-99秒显示程序
单片机数码管0-99秒显示程序
单片机数码管测试程序,显示0-99秒,7段数码管的
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
开发技术下载排行求汇编51单片机接两个数码管从00显示到99,外部中断0接一开关用于复位。麻烦注_编程_英汉互译
求汇编51单片机接两个数码管从00显示到99,外部中断0接一开关用于复位。麻烦注
来源:|人气:482 ℃|类别:|时间: 23:15:12
问题:求汇编51单片机接两个数码管从00显示到99,外部中断0接一开关用于复位。麻烦注解下每句话的意思!!
COUNT EQU 31H ;寄存器定义CNT EQU 32HORG 0000H ;程序开始AJMP MAINORG 000BH ;定时器0中断地址AJMP TIMEORG 0013H ;外总中断0中断地址AJMP INT00ORG 0030H ;程序开始执行MAIN: MOV SP,#5FH ;移动堆栈MOV COUNT,#00H ;清寄存器MOV CNT,#00H ;MOV TMOD,#01H ;定时器0工作方式1MOV TH0,#3CH ;50MS初值MOV TL0,#0B0H ;SETB ET0 ;开定时器0中断SETB EA ;开总中断SETB EX0 ;开外总中断0中断&SETB TR0 ;开启定时器0LOOP: CALL DISP ;调用显示子程序JMP LOOP ;采用查询方式;P0口数据输出。P2.0、P2.1位码控制端DISP: MOV A,CNT ;CNT数据送入A中MOV B,#10 ;10送入B中=分离出个位、十位数DIV AB ;A除B MOV R0,B ;B送入R0中MOV DPTR,#TAB ;查表地址MOVC A,@A+DPTR ;根据A的值查表MOV P2,#0FEH ;开启位码=个位MOV P0,A ;送个位数据CALL DELAY ;延时一会,保持亮度MOV A,R0 ;R0送入A中、MOV DPTR,#TAB ;MOVC A,@A+DPTR ;MOV P2,#0FDH ;开启位码=十位MOV P0,A ;送个位数据 CALL DELAY ;RET ;采用定时器每秒数码管加1 TIME:PUSH PSW ;状态寄存器压入堆栈PUSH ACC ;累加器A压入堆栈MOV TH0,#3CH ;重装50MS定时器初值MOV TL0,#0B0H ;INC COUNT ;50MS时间到寄存器加1MOV A,COUNT ;送入A中CJNE A,#20,UENRET ;比较不等于20,即1秒时间没到MOV COUNT,#00H ;到了1秒时间,寄存器清规INC CNT ;CNT寄存器加1MOV A,CNT ;送入A中&CJNE A,#100,UENRET ;比较=这里因为只有两位数码管MOV CNT,#00H ;意思跟上面20 的一样,UENRET:POP ACC ;弹出A保护的值POP PSW ;弹出状态寄寄原值RETI ;中断返回;外总中断复位INT00:PUSH PSW PUSH ACCMOV COUNT,#00H;清COUNT寄存器MOV CNT,#00H;清CNT寄存器CALL DELAYPOP ACC ;弹出保护数据POP PSWRETIDELAY: MOV R5,#100 ;延时程序DJNZ R5,$RET;共阴数据TAB: DB 3FH,06H,5BH,4FH,66H DB 6DH,7DH,07H,7FH,6FHEND读一*无二
51单片机数码管显示的简单实验单片机中断方式扫描按键并且按键后使 数码管显示 按键
||||点击排行数码管动态显示0 99-学网
数码管动态显示0 99
状态:1个回答日期: 你说的总是先亮第一个,是哪一个??有个位,还是十位?还有你说的一秒是指数字增一,延迟一秒?如果是,那你在MAIN WHILE中加个delayms延迟。具体是延迟多少,就要看你的晶...状态:1个回答日期: ZZ朋友说得对。这是算很基本的了,还是自己先动手吧。状态:1个回答日期: D1: MOV R4,#10 D2: DJNZ R4,D2 DJNZ R3,D1 RET K1: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;实验板上的7段数码管0~9数字的共阴显示代码 E...状态:1个回答日期:0x39,0x5E,0x79,0x71}; //const unsigned char code[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x9... 0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E}; volatile unsigned char count = 0;//范围0~99 v...状态:1个回答日期:0x39,0x5E,0x79,0x71}; //const unsigned char code[]= {0xC0,0xF9,0xA4,0xB0,0x99,0x9... PORTC |= 0x03; switch (flag) { case 0: //显示十位 flag = 1; PORTC &= ~0x0...状态:1个回答日期:显示电路错误状态:1个回答日期:MOV R4,#200 DEL3: DJNZ R4,$ DJNZ R3,DEL2 DJNZ R2,DEL1 RET END ;做动态显示也可以,人眼是看不出闪烁的。那样会省点口线,嘿嘿反正你只有2个 数码管没别的...状态:1个回答日期:下面的程序是采用两只按键一只加1,一只清0.两只数码管十位P0,个位P2口送段码。 本程序来自:《单片机C语言程序设计实训100例--基于8051+Proteus仿真》 #include &re...状态:1个回答日期: 用一个单元,存放计数值,每隔1秒加一,然后进行十进制调整,之后向P2输出即可。状态:1个回答日期:/*----------------------------------------------- 名称:2位数码管动态扫描显示变化数据 论坛... 数码管开始显示 如输入0表示从第一个显示。 Num表示需要显示的位数,如需要显示9...
与【数码管动态显示0 99】相关信息:&&&&&&&&&&&&&&&&&&
用户还关注
12345678910
大类导航: |

我要回帖

更多关于 数码管动态显示程序 的文章

 

随机推荐