温馨提示:将鼠标指针放在图片上,滚动鼠标可以动态改变图片大小,方便分析电路图。
例2 C语言程序与汇编语言程序的调用,其子程序如下:#page#
PUBLIC AD ;入口地址
SEG_AD SEGMENT CODE ;程序段
RSEG SEG_AD
USING 0
AD: MOV R6,#00
MOV R7,#00
SETB P1.1
ACALL DELAY
CLR P1.1
ACALL DELAY
MOV R0,#10
RR0: SETB P1.2
NOP
CLR P1.2
DJNZ R0,RR0
ACALL DELAY
MOV 30H,R6 ;A/D转换的高
;两位保存在R6中
ACALL CIR
MOV R6,30H
SETB P1.2
NOP
CLR P1.2
MOV 30H,R6
ACALL CIR
MOV R6,30H
MOV R0,#8 ;A/D转换的低
;8位保存在R7中
RR2: SETB P1.2
NOP
CLR P1.2
MOV 30H,R7
ACALL CIR
MOV R7,30H
DJNZ R0,RR2
RET
CIR: CLR C
MOV C,P1.0
MOV A,30H
RLC A
MOV 30H,A
RET
END
在程序中,函数的返回值为一无符号整型数,根据调用规则,返回值的高位在R6中,低位在R7中,这样才可保证数据的传递不出错。,在调用过程中,注意寄存器的入栈。这样在以后用到A/D转换时,在C语言中调用汇编语言子程序AD()。
3 C51中断过程
C51编译器支持在C源程序中直接开发中断过程,减轻了使用汇编语言的繁琐工作,提高了开发效率。中断服务函数的完整语法如下:
void 函数名(void)[模式]
[再入]interrupt n [using r]
其中n(0~31)代表中断号。C51编译器允许32个中断,具体使用哪个中断由80C51系列的芯片决定。r(0~3)代表第r组寄存器。在调用中断函数时,要求中断过程调用的函数所使用的寄存器组与其。"再入"用于说明中断函数有无"再入"能力。C51编译器对C语言的扩充允许编程者对中断的控制和寄存器组的使用。这种支持能使编程者创建高效的中断服务程序,用户只须在C语言下关心中断和必要的寄存器组切换操作。
例3 设单片机的fosc=12MHz,要求用T0的方式1编程,在P1.0脚输出周期为2ms的方波。
用C语言编写的中断服务程序如下: #page#
#include
sbit P1_0=P1^0;
void timer0(void)interrupt 1 using 1 {
/*T0中断服务程序入口*/
P1_0=!P1_0;
TH0=-(1000/256); /*计数初值重装*/
TL0=-(1000%256);
}
void main(void)
{
TMOD=0x01; /*T0工作在定时器方式1*/
P1_0=0;
TH0=-(1000/256); /*预置计数初值*/
TL0=-(1000%256);
EA=1; /*CPU开中断*/
ET0=1; /*T0开中断*/
TR0=1; /*启动T0*/
do{}while(1);
}
在编写中断服务程序时注意不能进行参数传递,不能有返回值。
4 结论
C51编译器不但可以缩短单片机控制系统的开发周期,而且易于调试和维护。此外,C51语言还有许多强大的功能,如提供丰富的库函数供用户直接调用,完整的编译控制指令为程序调试提供必要的符号信息等等。总之,C51语言是广大单片机开发人员的强有力的工具。
容-源-电-子-网-为你提供技术支持
本文地址:http://www.dziuu.com/dz/22/512322424.shtml
本文标签:
猜你感兴趣:
展频晶振(Spread Spectrum Crystal Oscillator,简称SSXO)应运而生。展频晶振是一种特殊类型的晶体振荡器,主要依托于扩展频谱技术。这项技术在抗干扰通信中有着广泛的应用
关键词: 所属栏目:电子基础
什么是可编程晶振?可编程晶振多为有源晶振,由两个芯片组成;一个是全硅MEMS谐振器,一个是具有温补功能的芯片,可以启动电路锁相环CMOS。它采用标准化的半导体芯片MCM封装。可以采用全自动标准半导体制造工艺
关键词: 所属栏目:电子基础
可编程差分振荡器 YSO210PR在机器人的智能视觉控制、工业屏、望远镜等领域具有显著优势。其高精度、稳定性和灵活的定制特性使得YSO210PR成为了机器人应用中不可或缺的元器件,为机器人技术的发展和应用提供了强有力的支持。
关键词: 所属栏目:电子基础
在通信科技的推动下,智能终端天线和低抖动晶振不断创新,将引领通信产业进入新的时代。YSO690PR系列作为高性能智能终端通信利器,将为各类智能终端设备提供更加稳定和高效的通信支持,推动科技的蓬勃发展。无论是日常生活还是工业应用,这些优秀的技术将为人们带来更加便捷、智能的通信体验。
关键词: 所属栏目:电子基础
​YSO690PR稳定可靠的低抖动石英可编程晶振,确保可见光红外模块应用在各种环境和条件下都能提供出色的性能和精确的频率输出。让QMEMS振荡器YSO690PR成为交换机、对讲机、充电桩、打印机等行业的理想选择!
关键词: 所属栏目:电子基础
电压有源晶振 YSO110TR的优势在于其高精度和稳定性。10MHz的频率下,其全温范围内总频差仅为±30PPM,这意味着即使在严酷的环境条件下,晶振的频率波动也非常小,保证了BMS系统的高精度控制和稳定性。无论是在高温还是低温环境中,YSO110TR都能保持可靠的性能,为电池管理系统提供持久稳定的时钟信号
关键词: 所属栏目:电子基础
在工业相机行业中,石英可编程晶振扮演着至关重要的角色。为了满足不同应用需求,YXC引入了低抖动石英可编程晶振QMEMS振荡器YSO690PR,为工业相机的稳定运行提供了理想解决方案。
关键词: 所属栏目:电子基础
作为温度采集器的关键组成部分之一,晶振在保证采集器的精确性和可靠性方面发挥着重要的角色。在这一背景下,YXC扬兴科技推出了旗下的产品系列之一——YSO110TR宽电压有源晶振,为温度采集器行业提供了高品质的解决方案。
关键词: 所属栏目:电子基础
YSO110TR宽电压有源晶振是服务器中不可或缺的关键组件,其高精度、高稳定性、多电压兼容性和工业级耐温特性,使其成为服务器领域的优质选择。无论是拼接屏控制器、充电桩、光伏逆变器、360后视镜、摄像头、手机屏、笔电显卡、交换机、路由器还是光模块等应用,YSO110TR都能为服务器提供卓越的性能和可靠性保障,助力服务器行业不断发展进步。
关键词: 所属栏目:电子基础
现在晶振广泛应用于汽车电子、安防监控、医疗设备、航空设备、互联网设备等智能电子产品中,发挥着重要作用,据说市场上85%的电子产品应用于广泛的领域。
关键词: 所属栏目:电子基础
差分可编程振荡器 YSO210PR 是一款功能强大的产品,具备10-1500MHz超宽频率范围的特点,用户可以随意编程频率,并且实现精确输出到小数点后6位的精度。这种高度可编程的特性使得 YSO210PR 在不同应用场景下能够灵活应对各种频率要求,无论是低频还是高频应用,都能满足客户的需求。
关键词: 所属栏目:电子基础
可编程晶振。简单来说就是一种任意编程频率的晶振,可以通过一个发生器放大或缩小,有选择地实现各种总线频率。在实际应用或初步了解中,会遇到各种各样的问题。以下编辑列出了与SiTime可编程晶振相关的一些常见问题和答案。
OE和ST功能有什么区别?
关键词: 所属栏目:电子基础
运用单片机便是了解单片机硬件结构,以及内部资源的运用,在汇编或C语言中学会各种功用的初始化设置,以及完成各种功用的程序编制。 运用按钮输入信号,发光二极管显现输出
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
现场总线技术已经广泛应用于工业控制中,尤其是CAN(Controler Area Nerwork)总线由于具有可靠性高、成本低、容易实现等优点,在现场总线实际工程应用中占有了较大份额。
关键词:单片机 所属栏目:设计编程
我的答案是:不可以原因如下:一、软件仿真多用于教学,把更多精力用在软件的实现上由于学生学习时间宝贵,焊接一套单片机实验板又比较花时间,并且实验项目太多,所以为了
关键词:PIC单片机51单片机单片机 所属栏目:设计编程
对于新手来说,首先根据自己学的什么样单片机就选什么类型的单片机,熟悉什么类型的单片机就选什么类型的单片机。因为单片机不仅要设计电路,还要设计控制软件。选自己熟悉的单片机上手最快,也最容易获得成功。下面介绍如何选择最适合的单片机。
关键词: 所属栏目:设计编程
单片机晶振的作用是什么
在初学单片机的时候,总是伴随很多有关于晶振的问题,其实晶振就是如同人的心脏,是血液的脉搏,把单片机的晶振问题搞明白了,51单片机的其他问题
关键词:51单片机PIC单片机单片机 所属栏目:设计编程
Keil单片机编程软件Keil C51是单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇
关键词:51单片机PIC单片机 所属栏目:设计编程
详解51单片机运行过程 注:1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。51单片机是EPROM,所谓的EPROM是可擦除的只
关键词: 所属栏目:设计编程
pic单片机和c51有什么区别(区别1)总线结构:MCS-51单片机的总线结构是冯-诺依曼型,计算机在同一个存储空间取指令和数据,两者不能同时进行;而PIC单片机的总线结构是哈佛结构
关键词:单片机PIC单片机51单片机 所属栏目:设计编程