分享
单片机应用实例.doc
下载文档

ID:3124882

大小:20.50KB

页数:3页

格式:DOC

时间:2024-01-21

收藏 分享赚钱
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
单片机 应用 实例
p1口八个灯作跑马灯。 org 0000h ajmp start org 0030h start: mov a,#0ffh ; clr c ; mov r2,#08h ;循环八次。 loop: rlc a ;带进位左移。 mov p1,a ;输出到P1口。 call delay ;延时一段时间 djnz r2,loop ;反复循环 mov r2,#07h ;再往回循环。 loop1: rrc a ;带进位右移 mov p1,a ;输出到P1口。 call delay ;延时一段时间 djnz r2,loop1 ;反复循环 jmp start ;重新开始 delay: mov r3,#20 ;延时子程序 d1: mov r4,#20 d2: mov r5,#248 djnz r5,$ djnz r4,d2 中断控制的P1.1小灯。 org 0000h ajmp main org 000bh ajmp int_timer0 org 0030h main: mov tmod,#01h ;设置定时器工作方式寄存器。 mov th0,#high(65536-50000) ; mov tl0,#low(65536-50000) ;设50MS初始值。 mov ie,#82h ;设置中断允许寄存器 mov 30h,#10 ; mov 31h,#6 ;30H和31H是两个软件计数器。 setb tr0 ;启动定时 ajmp $ ;原地踏步 int_timer0: ;定时器0中断服务程序。 mov th0,#high(65536-50000) ; mov tl0,#low(65536-50000) ;重设50MS定时。 djnz 30h,l1 ; mov 30h,#10 ; djnz 31h,l1 ; mov 31h,#6 ;软件计数 cpl p1.1 ;10*6*50MS=3000MS时间到,P1.1取反 l1: reti ;中断返回 end 一位计数器,按p3.2数码管加1,到9后回0 loop:mov 30h,#0ffh ;30h送ff即-1 main:INC 30H mov a,30h setb p3.2 ;把键盘口送高电平 mm: jnb p3.2,tt ;如果p3.2按下则执行tt ljmp mm ;如果没有按下则反复监测键盘 tt: MOV DPTR,#TAB MOVC A,@A+DPTR CLR P2.6 ;开数码管 MOV P0,A ;送显示 lcall delay ;延时一段时间 cjne a,#60h,main ;如果是最后一个数据重新开始 ljmp loop ; 否则30H 清除 ret TAB: DB 28H,7EH,0A2H,62H,74H,61H,21H,7AH,20H,60H DELAY: ; 延时程序 MOV R7,#255 D1:MOV R6,#255 D2: DJNZ R6,D2 DJNZ R7,D1 RET end

此文档下载收益归作者所有

下载文档
你可能关注的文档
收起
展开