c语言单片机外部中断程序,单片机外中断汇编语言和C语言程序
以下两个程序效果相同,一个使用汇编语言,一个使用C语言,从仿真效果看,c语言程序运行比较流畅。
两个外中断跑马灯汇编语言程序
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP WZD0
ORG 0013H
LJMP WZD1
ORG 0040H
WZD0: MOV DPTR,#0220H
MOV R3,#42D
CB0: CLR A
MOVC A,@A+DPTR
MOV P1,A
INC DPTR
LCALL DELAY2
DJNZ R3,CB0
RETI
WZD1: MOV DPTR,#0220H
MOV R3,#42D
CB1: CLR A
MOVC A,@A+DPTR
MOV P2,A
INC DPTR
LCALL DELAY1
DJNZ R3,CB1
RETI
ORG 0150H
MAIN: MOV P1,#00H
MOV P2,#00H
SETB EA
SETB IT0
SETB EX0
CLR PX0
SETB IT1
SETB EX1
SETB PX1
ST: MOV DPTR,#0270H
MOV R4,#17D
DD: CLR A
MOVC A,@A+DPTR
MOV P0,A
INC DPTR
LCALL DELAY1
DJNZ R4,DD
SJMP ST
DELAY1: MOV R7,#00H
DD1: MOV R6,#00H
DD2: MOV R5,#01H
DJNZ R5,$
DJNZ R6,DD2
DJNZ R7,DD1
RET
DELAY2: MOV R7,#00H
DDD1: MOV R6,#00H
DJNZ R6,$
DJNZ R7,DDD1
RET
ORG 0220H
DB 0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80
DB 0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01
DB 0x18,0x24,0x42,0x81,0x00,0x81,0x42,0x24,0x18
DB 0x18,0x24,0x42,0x81,0x00,0x81,0x42,0x24,0x18
DB 0x18,0x00,0x3c,0x00,0x7e,0x00,0xff,0x00
ORG 0270H
DB 0xfe,0xfc,0xf8,0xe0,0xe0,0xc0,0x80,0x00
DB 0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff, 0x00
END
两个外中断跑马灯C语言程序
#include
int code yu[]={
0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
0x00,0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,
0x00,0x18,0x24,0x42,0x81,0x00,0x81,0x42,0x24,0x18,
0x00,0x18,0x24,0x42,0x81,0x00,0x81,0x42,0x24,0x18,
0x00,0x18,0x00,0x3c,0x00,0x7e,0x00,0xff,0x00,0x00,
0x00 };
int code yu1[]={
0xfe,0xfc,0xf8,0xe0,0xe0,0xc0,0x80,0x00,
0x01,0x03,0x07,0x0f,0x1f,0x3f,0x7f,0xff,
0x00};
void delay(int ms)
{
while(ms--)
{
int i;
for(i=0;i<120;i++);
}
}
void ddd() interrupt 0
{
int k;
for(k=0;k<47;k++)
{
P2=yu[k];
delay(100);
}
}
void dd() interrupt 1
{
int k;
for(k=0;k<48;k++)
{
P1=yu[k];
delay(300);
}
P1=0x00;
}
void main()
{
int n;
IT0=0;
EX0=1;
PX0=1;
IT1=0;
EX1=1;
PX1=0;
EA=1;
P1=0x00;
P2=0x00;
while(1)
{
for(n=0;n<17;n++)
{
P0=yu1[n];
delay(100);
}
}
c语言单片机外部中断程序,单片机外中断汇编语言和C语言程序相关推荐
- 一步步编写操作系统 69 汇编语言和c语言共同协作 70
由于有了上一节的铺垫,本节的内容相对较少,这里给大家准备了两个小文件来实例演示汇编语言和c语言相互调用. 会两种不同语言的人,只是掌握了同一件事物的两种表达方式.人在学习一种新语言时,潜意识里是建立了 ...
- 软件工程:汇编语言和C语言在软件工程的应用,计算机学生必看!
随着科学技术不断发展,软件工程在社会发展中取得了进一步发展,软件工程专业,也在各大学生根发芽,许多大学的专业教学上也取得了良好的进展.汇编语言与C语言作为两种计算机基础语言,在推动软件工程发展等方面具 ...
- 汇编语言属于C语言吧,汇编语言和c语言的区别是什么
区别:汇编语言的效率高,对硬件的可操控性更强,体积小,不易维护,可移植性很差:c语言的效率比较低,硬件可操控性比较差,目标代码体积大,容易维护,可移植性很好. 汇编语言(Assembly Langua ...
- 一步步编写操作系统 43 汇编语言和c语言的理解
也许有的同学喜欢用汇编语言来实现操作系统,觉得用汇编来写程序似乎更简单直接,可控性比较强,有种"一切尽在掌握"的赶脚.而用c语言实现操作系统这件事,虽然轻松很多,但似乎隐约感觉到有 ...
- 汇编语言和C语言编写程序各有什么优缺点,C语言和汇编语言在单片机开发中,各有什么优缺点?...
您好,下面这个是我从论坛里面找出来的精华帖.你可以参考参考. C与汇编: C:经编译后,成汇编. 汇编:是自己"完成"了C的工作. C:是从通用化出发的,考虑了单片机的特点,极大地 ...
- php和java语言_JAVA语言和PHP语言的比较
JAVA语言和PHP语言的比较 JAVA语言在服务器端开发的流行以及安卓客户端开发的流行,让他占据了大部分市场份额.在服务器端还有一个语言也较为流行,就是PHP.PHP语言由于简单易学,响应速度快,在 ...
- 中断:内中断(异常)与外中断(中断)
文章目录 中断 一.中断的概念 1.中断的作用 2.中断机制的基本实现原理 3.中断的分类:内中断(异常)与外中断(中断) 二.外部中断 1.外中断的概念 外中断举例:时钟中断.I/O中断 2.中断响 ...
- java语言和c语言_java语言和c语言的区别
java语言和c语言的区别 java语言和c语言作为编程的两大语言,它们之间存在什么样的区别呢?下面百分网小编就为大家讲一讲,希望对您有所帮助! C语言是一门通用计算机编程语言,应用广泛.C语言的设计 ...
- D语言和Go语言有前途吗?
发信人: vimer (老来多忘事,惟不忘相思), 信区: Programming 标 题: [合集] D语言和Go语言有前途吗? (转载) 发信站: 水木社区 (Wed Dec 14 21:11: ...
- c语言和python和java_C语言和Python语言,那个更好?
最近很多人问我:C语言和Python,哪个更好?实际上,并没有哪个好,哪个不好,它们都有自己的特点,因为,Python的底层逻辑是用C语言实现的,如果您想更深入的学习,那么建议先学习C语言,然后再学习 ...
最新文章
- linux下设置代理
- hadoop环境安装及简单Map-Reduce示例
- 关于 Service 设计初步(MSDN节选翻译)
- 用css3和ico图片实现火狐社区的分享图标
- linux中 目标不是目录,Linux 中的 Install命令
- feign三:覆写feign的默认配置及feign的日志
- linkin大话设计模式--命令模式
- cmos逻辑门传输延迟时间_MOS管以及简单CMOS逻辑门电路原理图解析
- 微信公众平台开发网页开发
- u盘pe启动盘怎么制作?
- C#调用Outlook发送邮件
- #2 – Rendering Tiers(WPF渲染级别)
- 主数据与数据中台有什么区别?
- 使用FFmepg进行视频转码、视频格式转换、图片提取等!
- IgH详解六、IgH命令行工具使用
- 知然算法【2】灰色模型GM(1,1)
- 计算机怎么不休眠,怎么设置电脑不休眠?
- 五一出游-徒步旅行主旋律
- 各类通信协议归纳整理(偏硬件)
- 天购免费购物新概念 电商新宠领前行
热门文章
- mac下Cornerstone显示日志问题 Cound not contact repository to read the latest log entries
- 软件测试面试中90%会遇到的问题:“你会搭建测试环境吗?”
- Git, Gitlab使用文档
- wget不是内部命令 windows_wget 不是内部或外部命令 - 卡饭网
- Google Earth Engine个人笔记:2 计算植被覆盖度
- 山东省第八届acm大赛 G题 (SDUT 3899)
- boost库中thread多线程中的thread_specific_ptr
- Python 实现 pdf转图片 和 图片转pdf
- EXCEL预览正常,打印却是空白的解决方法之一
- Kaggle竞赛销售预测(xgboost)