89c52单片机开发板4位LED显示计数汇编语言程序

作者&投稿:重柳 (若有异议请与网页底部的电邮联系)
求单片机89C52编程要求是,P1口的四个LED灯循环点亮,点亮时间为1秒,用定时计数器实现延时1秒的程序~

没分的话就不答具体的了,你随便找本书都有模块,你要是P1口接LED再接限流电阻,最后把所有电阻都连在5V电压的话,那就先给11111110给P1,用RR来循环,再写一个用计数器做延时的子程序就行了。一般书都有这几个模块。

ORG 0000H
LJMP MAIN
ORG 000BH
T0MS0 EQU NOT 50000 ; 50 mS 12.000 MHz
; 100 MS 6.000 MHz
T0ZD0: MOV TL0, #LOW T0MS0 ; TO 中断 计时 0
MOV TH0, #HIGH T0MS0
DJNZ R5, T0ZD8
MOV R5, #10 ; 100 mS #5
SETB 30H ; 500 mS 标志
T0ZD8: RETI
MAIN: MOV TL0, #LOW T0MS0 ; TO 100MS 中断 计时 0
MOV TH0, #HIGH T0MS0
MOV IE, #82H
SETB TR0
MOV R5, #10
MIN01: MOV R2, #16 ; 左循环2次
MOV A, #0FEH
MIN02: MOV P1, A
RL A
JNB 30H, $
CLR 30H
DJNZ R2, MIN02
JNB 30H, $
CLR 30H
MOV R2, #16 ; 右循环2次
MOV A, #7FH
MIN03: MOV P1, A
RR A
JNB 30H, $
CLR 30H
DJNZ R2, MIN03
JMP MIN01
END

DAT EQU 30H
SCANLED EQU 34H
KEY BIT P3.2
ORG 0000H
LJMP MAIN
ORG 001BH
LJMP T1ISR ;扫描显示
ORG 0030H
MAIN:
MOV SP,#5FH
MOV TMOD,#10H
MOV TH1,#0ECH
MOV TL1,#078H
MOV SCANLED,#0
MOV 30H,#00H
MOV 31H,#10H
MOV 32H,#10H
MOV 33H,#10H
SETB ET1
SETB TR1
SETB EA
LOOP:
JB KEY,$
JNB KEY,$
INC 30H
MOV A,30H
CJNE A,#10,LOOP
MOV 30H,#0
MOV A,31H
CJNE A,#10H,LP1
CLR A
LP1:
INC A
MOV 31H,A
CJNE A,#10,LOOP
MOV 31H,#0
MOV A,32H
CJNE A,#10H,LP2
CLR A
LP2:
INC A
MOV 32H,A
CJNE A,#10,LOOP
MOV 32H,#0
MOV A,33H
CJNE A,#10H,LP3
CLR A
LP3:
INC A
MOV 33H,A
CJNE A,#10,LOOP
MOV 33H,#0
LJMP LOOP
;--------------------
T1ISR:
PUSH ACC
CLR TR1
MOV TH1,#0ECH
MOV TL1,#78H
SETB TR1
MOV DPTR,#LEDTAB
T100:
MOV R0,#DAT
MOV A,SCANLED
ADD A,R0
MOV R0,A
MOV A,SCANLED
JNZ T101
MOV P2,#08H
SJMP T1DIS
T101:
DEC A
JNZ T102
MOV P2,#04H
SJMP T1DIS
T102:
DEC A
JNZ T103
MOV P2,#02H
SJMP T1DIS
T103:
MOV P2,#01H
T1DIS:
MOV A,@R0
MOVC A,@A+DPTR
MOV P0,A
INC SCANLED
MOV A,SCANLED
CJNE A,#4,T1END
MOV SCANLED,#0
T1END:
POP ACC
RETI
;--------------------
LEDTAB:
DB 0C0H ;"0" 00H
DB 0F9H ;"1" 01H
DB 0A4H ;"2" 02H
DB 0B0H ;"3" 03H
DB 99H ;"4" 04H
DB 92H ;"5" 05H
DB 82H ;"6" 06H
DB 0F8H ;"7" 07H
DB 80H ;"8" 08H
DB 90H ;"9" 09H
DB 88H ;"A" 0AH
DB 83H ;"B" 0BH
DB 0C6H ;"C" 0CH
DB 0A1H ;"D" 0DH
DB 86H ;"E" 0EH
DB 8EH ;"F" 0FH
DB 0FFH ;" " 10H
;--------------------
END

要提供开发板原理图,写程序要看原理图的。


51单片机与52单片机有什么区别
51单片机的种类的种类非常多,主要有:1,Intel(英特尔)的:80C31、80C51、87C51,80C32、80C52、87C52等;2,ATMEL(艾德梅尔)的:89C51、89C52、89C2051,89S51(RC),89S52(RC)等;3,Philips(飞利浦)、华邦、Dallas(拉达斯)、Siemens(西门子)等公司的许多产品;4,STC(国产宏晶)单片机:89c51...

关于stc90c52单片机驱动数码管电路的问题
数码管下面的三极管是驱动用的,com接口是选通用的,你的数码管应该是采用扫描驱动的。扫描原理就是任意一个时刻,只有一个COM是通的,通的时候,单片机输出对应于该位的数值,其它关断。快速轮回显示,这样,由于人眼的视觉停留,看到的是所有数码管同时显示。这方面,你需要看一下扫描显示原理。R1~R8是...

关于单片机学习,学了51,又学什么???【请高手和前辈指点】
硬件方面,首先是要有单片机,对于单片机有一点要注意, 51 单片机最好买 89S51 、 89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便, AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。至于单片机开发板,目前的价...

问个C52单片机,P0口问题。
P0口做准双向口驱动是要加上拉电阻,一般用排阻,9个脚,有一个公共脚,其余的8个脚和公共脚之间的电阻都是一样的,公共脚上面有一个点,很容易区辨,你用一个1K~10K都行的排阻上拉以后就好了,这是P0口的特性。加上就好

利用C52单片机,用两位独立按键、四位数码管及蜂鸣器实现时钟的基本功能...
,用一位独立按键都可以,参考方案:一级判断:按键保持1s松开为走时,按键保持3s松开为调时菜单(建议有效采集3-5s),按键保持9s松开为定时菜单(建议有效采集9-10s)。二级判断:当一级菜单有效,按键保持1s松开为逐步选项,按键持续保持3s为值递增。无按键操作10s恢复运行。两位按键似乎程序简短些,...

求教一个51单片机程序。。(LCD电子时钟)
现在手上有一块单片机开发板,还有一个1602显示屏,设计要求如下:以单片机控制的时钟,在LCD显示器上...write_1602com(0x0c); \/\/开显示不显示光标write_1602com(0x06); \/\/整屏不移动,光标自动右移...write_nyr(9,ri);temp=(ri)\/10*16+(ri)%10;write_1302(0x8e,0x00);write_1302(0x86,temp...

C52单片机的上位机怎么做?
兄弟,你跟那个kyukgiulyhl是同一个人吧,呵呵…这个不难,拿MFC编个对话框程序,插入一个串口控件,程序里面要先打开串口,设定事件触发条件(就是接收多少个字符就触发事件),然后一旦触发,就读出字符串中的数据,就是从51的串口发过来的数据,然后刷新显示就可以了。基本过程是这样子,但具体的程序...

C52单片机问题:本人是新手,现有一个问题,还望各位大神给以改正,题目...
看了半天没看出你的问题是什么……汗……如果有什么运行不对的地方错误或者报错信息也应该贴出来呀。调试嘛,和其他嵌入式调试一样啊,设置断点一步步运行,还有就是下载到单片机进行系统调试咯,用示波器和万用表查找错误,分析原因,再冲程序和电路上找问题。祝顺利 ...

用C52单片机做多功能时钟,显示出现85
\/***时钟芯片DS1302驱动——火柴天堂作品-20120610***\/ \/***源程序硬件环境:52单片机,12MHz晶振,P34接时钟芯片IO脚,P35接芯片RST\/CE脚,P36接芯片CLK脚***\/ \/***\/ define DS1302_H include"reg52.h"\/\/包含52头文件 include"DS1302.h"\/\/包含DS1302宏定义文件 sbit DS1302_CLK=P3^6;\/\/...

AT89C52单片机交通灯控制系统的仿真图有会得吗
回答:AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。 AT8...

陆川县17156235378: 寻求89C52单片机+蜂鸣器报警同时LED灯亮+数码管显示的程序,汇编\C语言都可以,谢谢. -
答具淘儿: 给你个程序参考吧,#include<reg52.h> #include<intrins.h> #define uint unsigned int #define uchar unsigned char sbit d=P3^4; void delay200ms(void) { unsigned char i,j,k; for(i=5;i>0;i--) for(j=132;j>0;j--) for(k=150;k>0;k--); } void main() {uchar r...

陆川县17156235378: 求89C52单片机控制32个LED流水灯的C语言程序 -
答具淘儿: #include<reg51.h>#define uchar unsigned char uchar led1,led2,led3,led4; void delay(uchar a) { uchar i,j; for(i=0;i<a;i++) for(j=0;j<120;j++); } main() { uchar num; unsigned long int led; P0=0xff;P0=0xff;P0=0xff;P0=0xff;delay(200);while(1){led=0...

陆川县17156235378: 如何通过STC89C52RC控制四个led 灯的亮灭 -
答具淘儿: 看你问这个问题就知道你是初学单片机,那我给你一个比较简单的方法.假设你的单片机开发板的led是在P1组,那么P1^0就是第一颗led,P1^1是第二颗led,……P1^7是第八颗led.你可以这样写.#include<reg52.h>sbit led1=P1^0; //定义第一颗...

陆川县17156235378: 求89c52单片机控制4个led流水灯每0.5秒亮一个c语言
答具淘儿: #include &lt;reg52.h&gt; #define uint unsigned int #define uchar unsigned char uchar aa,num,ge,shi; void delay500ms(void); void main(void) { uchar i; P2=0xFF;//4LED 共阳 while(1) { for(i=0;i&lt;4;i++) { P2&amp;= ~(1&lt;&lt;i); delay500ms(); P2|=(1&...

陆川县17156235378: 怎么用89C52单片机控制LED实时显示时间?接口是怎样的 望各位不吝赐教啊 小女子在此谢过了 -
答具淘儿: 8 段直接接在P0口,上拉电阻510左右,位选直接接其它IO口, 就可以啦.

陆川县17156235378: 我有个89C52的单片机 请问可以驱动几个LED灯 -
答具淘儿: 一个IO口8线单独用可驱动8个小LED,两个口组成8x8矩阵可驱动64个,4个口可组成16x16矩阵可驱动256个.但是注意P0是集电极开路,要上拉才能输出高电平.另外,如果LED电流较大,还要加三极管.有关单片机应用学习,建议你可以经常到百度传课找一些视频教程看看,有些免费视频其实挺好的.

陆川县17156235378: 单片机89C52连接4位共阴极数码管实现动态显示需要加负载驱动吗?
答具淘儿: 89C52的输出电流能力很若,吸收电流能力很强.因此,采用共阴极数码管需要加负载驱动, 你若采用共阳极的数码管(低电平驱动),就无需驱动了,实际好需要加电阻限流.

陆川县17156235378: 求单片机89C52编程要求是,P1口的四个LED灯循环点亮,点亮时间为1秒,用定时计数器实现延时1秒的程序 -
答具淘儿: 没分的话就不答具体的了,你随便找本书都有模块,你要是P1口接LED再接限流电阻,最后把所有电阻都连在5V电压的话,那就先给11111110给P1,用RR来循环,再写一个用计数器做延时的子程序就行了.一般书都有这几个模块.

陆川县17156235378: 请问89c52单片机一个IO口可以带动多少颗LED? -
答具淘儿: 最多4颗,两两串联再并联,每一路电流不超过10ma, 2 路合起来电流不超过20ma 对于蓝色和白色LED,由于其工作电压在2.5V以上,如果说串联,5V电压不能驱动,因此,只能两个并联.实际上应用中,一般一个IO口只驱动一个发光二极管,以保证单片机的安全和发光二极管的亮度,虽然单个IO引脚下的输出 电流可达20ma,但芯片的总电流十分有限,多的也就400ma,有的只允许55ma.因此,要想驱动更多的LED,一定要加功率放大电路,如7406 TDG2003或多个三极管分立放大电路等.

陆川县17156235378: 图是89C52单片机控制共阴极四位数码管显示时间,这电路是怎么工作的?具体写一下信号的传输. -
答具淘儿: 你的图不是很清楚,根据你图上的功能来看,器件应该是:单片机(51系列) -> 8路缓冲器(74HC245) -> 数码管(四位) 1、由于单片机IO口的驱动能力有限,在单片机和数码管中间增加了缓冲器这样可以有效的保护单片机,提高了驱动能力. 2、接法:四位数码管有四个选择端,保证统一时间只A-G字段,只对一个数码管有效. 3、点亮数码管,通过选取不同的选择端,选择好某一位数码管,通过A-G字段点亮.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网