问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
你好,欢迎来到懂视!登录注册
当前位置: 首页 - 正文

单片机定时器中断实验 程序(汇编语言)不要c语言的

发布网友 发布时间:2022-04-30 13:17

我来回答

4个回答

热心网友 时间:2022-06-22 13:38

下列程序,已经经过实验,可以满足题目要求.
ORG 0000H
SJMP MAIN
ORG 000BH
SJMP T0_INT
MAIN:
MOV TMOD, #01H ;T0定时方式1
MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz
MOV TL0, #(65536-50000) MOD 256 ;
SETB TR0 ;启动T0
MOV IE, #82H ;开中断
;第一秒钟L0,L2亮,第二秒钟L1,L3亮,第三秒L4,L6亮,第四秒钟L5,L7亮,
;第五秒L0,L2,L4,L6亮,第六秒钟,L1,L3,L5,L7亮,第七秒钟八个二极管全亮,第八秒钟全灭.
MOV 30H, #11111010B
MOV 31H, #11110101B
MOV 32H, #10101111B
MOV 33H, #01011111B
MOV 34H, #10101010B
MOV 35H, #01010101B
MOV 36H, #00000000B
MOV 37H, #11111111B
MOV R0, #30H
MOV R7, #20
M_LOOP:
SJMP M_LOOP ;无限循环
T0_INT:
MOV TL0, #(65536-50000) MOD 256 ;
MOV TH0, #(65536-50000) / 256 ;定时50ms@12MHz
DJNZ R7, T0_END
MOV R7, #20
MOV P1, @R0
INC R0
CJNE R0, #38H, T0_END
MOV R0, #30H
T0_END:
RETI
END ;完

热心网友 时间:2022-06-22 13:39

;假定晶振频率12M
;假定P1口对应接8个LED,且高电平有效
;MCU:8051系列

CONT_DISP EQU 30H;定义查表的计数变量,用于8个LED灯的显示状态
CONT_INT EQU 31H;定义中断间隔的计数变量,用于控制20个中断为1秒的时间间隔

ORG 00H
AJMP GO
ORG 0BH
AJMP INT0_1;定时器0,工作方式1

GO:
MOV SP,#60H
MOVP1,#00H;P1口初始全部关闭
MOV CONT_DISP,#8 ;查表取LED点亮状态,注意此处为了减少变量,查表采用从尾到首的顺序,所以初始值为表末位数
MOV TMOD,#01H ;定时器工作方式1
MOV TH0,#0BH
MOV TL0,#3CH;计数器初始设定,中断间隔为50ms
SETB TR0
SETB ET0
SETB EA;计数器开始工作
LOOP:;以下几句为不断为P1口送值,点亮相应的LED
MOV A,CONT_DISP
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P1,A
AJMP LOOP
;----------------以下为中断处理程序---------------
INT0_1:
PUSH ACC ;保护现场
MOV TH0,#0BH
MOV TL0,#3CH ;定时器初值重装
DJNZ CONT_INT,RETINT
MOV CONT_INT,#20 ;20个中断判定
DJNZ CONT_DISP,RETINT;每20个中断,即1秒,查表数减1
MOV CONT_DISP,#8;到1再循环
RETINT:
POP ACC
RETI

TAB:
NOP
DB 00H,0FFH,0AAH,55H,0A0H,50H,0AH,05H ;注意此表为从尾倒查式, 上面一句NOP不可少.

END

热心网友 时间:2022-06-22 13:39

#include<reg52.h>
typedefunsigned int uint;
typedefunsigned char uchar;
uint n=0;
uint i=0;
uint led[]={0xfe,0xfc,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x80,0xc0,
0xe0,0xf0,0xf8,0xfc,0xfe,0xff,0x00,0xff};
void main()
{
TMOD=0x01;
TH0=0x4c;
TL0=0x00;
EA=1;
ET0=1;
TR0=1;
P1=0xff;

while(1)

{
P1=led[n];
if(n==18)n=0;
}
}
void time0() interrupt 1 using 1
{
TH0=0x4c;
TL0=0x00;
i++;
if(i>=20)
{
i=0;
n++;

}

}

热心网友 时间:2022-06-22 13:40

我千言万语,不知从何说起。我最敬爱是*。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
follow the doctor's advice为什么加's ...张娜拉的一首歌 我想学这首歌,把歌词转换成中文的,但是唱出来让人感... 我有一辆宝骏530车,外地牌子,在济南找工作带车,能干什么工作... 怎样判断小米路由器的指示灯是什么颜色的? 定期储蓄存单是什么 小型天文卫星携带仪器 公司给入了工伤保险保险公司问我要我的社保卡做什么可以吗? 出下列各种烷烃的结构简式(1)2,3,3-三甲基戊烷:___(2)2,3-二甲基-4... 我叫邢轲轲 女 英文怎么起个名字呢 类似kiki coco的英文名,哪些好? PIC单片机汇编语言的中断程序 ,求人分析一下怎么运行的 汇编语言怎么使用int9中断调用实现显示输出,能给个事例么 汇编语言单片机中断 汇编语言的中断服务程序是什么? 用汇编语言写一段 外部中断1下跳沿触发的中断触发程序 用汇编程序用定时器和中断,编写程序 汇编语言中的中断程序是如何执行的 当一个汇编语言中断程序,运行到什么时候,才能跳转到中断呢?例子如下 汇编中断程序 汇编语言 中断程序代码 汇编中断程序具体例子 电脑卡住了,酷狗音乐关不了,但是其他的东西都能正常使用,怎么办? 如何关闭酷狗音乐的链接? 三星note3酷狗音乐后台关闭不了 酷狗音乐播放器关不了是什么问题 酷狗音乐关不了 我关闭酷狗的时候就弹出来这个 酷狗音乐盒无法关闭 鸿蒙系统怎么关闭酷狗音乐 为什么我的酷狗音乐盒打开之后关不了,但它会一直播放,只能用任务管理器关? 酷狗关不上了怎么办 汇编语言中中断程序的中一个问题 汇编语言编程:定时器中断实验。求程序,附图 汇编语言int 21h中断 8086汇编语言中,两个中断怎么写呀?这是我写的一段代码,一中断就直接跳出程序了,回不到主程序中。 麻省理工大学的邮编是多少? 2022麻省理工,洛杉矶分校发邮件让关注申请邮箱,是入围了吗 需一个麻省理工学院(MIT)教授或学生邮箱地址 怎么进MIT(麻省理工) 怎样和麻省理工的学生联系? 如何才能上麻省理工大学? 麻省理工学院是什么学校? 麻省理工学院 麻省大学和麻省理工的区别是什么? 关于大学去MIT(麻省理工学院)的一些疑问 麻省理工学院是顶级的大学? 查看红包收发纪录时,显示红包数据记录过期,是数据记录过期,还可以怎么查看红包收发对象? 电脑音箱不通电是坏了吗 电脑音箱不通电了怎么修呀? GOLDBRIDGE音响不通电是什么原因 系统盘最好是多少G?
  • 焦点

最新推荐

猜你喜欢

热门推荐