精华内容
下载资源
问答
  •  中断服务子程序设计的任务 中断服务子程序设计的基本任务有下列4条: (1)设置中断允许控制寄存器IE,允许相应的中断请求源中断。 (2)设置中断优先级寄存器IP,确定并分配所使用的中断源的优先级。 (3)若是外部...
  • 1.程序结构采用主程序和中断服务子程序结构2.定时中断程序,并行口输出,控制彩灯移动定时器0于方式1,16位,10ms中断一次40H10ms计数单元41H初值为01101101B位地址00H=1定时方式1为10MS:THX=0ECH,TLX=78H3.参考...

    1.程序结构采用主程序和中断服务子程序结构

    2.定时中断程序,并行口输出,控制彩灯移动

    定时器0于方式1,16位,10ms中断一次

    40H10ms计数单元

    41H初值为01101101B

    位地址00H=1

    定时方式1为10MS:THX=0ECH,TLX=78H

    3.参考程序

    ;

    DISPEQU0DE00H;显示子程序入口

    ;

    ORG0000H

    START:AJMPMAIN

    ;

    ORG000BH;定时器0中断服务程序入口

    AJMPTINT0

    ;

    ORG0030H

    MAIN:MOVR0,#39H;显示缓冲区初始化

    MAIN_0:MOV@R0,#0

    INCR0

    CJNER0,#40H,MAIN_0

    MOV41H,#01101101B

    SETB00H

    MOVTMOD,#01H

    MOVIE,#10000010B

    MOVTH0,#0ECH;10ms:EC78H

    MOVTL0,#78H

    SETBTR0

    MAIN_1:ACALLCONT;主程序循环

    SJMPMAIN_1

    ;

    CONT:LCALLDISP;控制程序

    RET

    ;

    ;定时器0中断服务程序

    TINT0:MOVTH0,#0ECH

    MOVTL0,#78H

    PUSHACC;保护现场

    PUSHPSW

    INC40H

    MOVA,40H

    CJNEA,#50,TINT0R

    MOV40H,#0

    MOVA,41H

    MOVC,00H

    RRCA

    MOV41H,A

    MOV00H,C

    MOV3FH,A;输出显示缓冲

    TINT0R:POPPSW;恢复现场

    POPACC

    RETI

    展开全文
  • ucosII 信号量使用总结(举例讲解)

    千次阅读 2019-04-28 16:47:54
    概述 该函数用于创建信号量,并对信号量赋予初始计数值。 赋初值 OSSemCreate(INT16U cnt),cnt为信号量的初始计数值。当计数值不为0的时候,OSSemPend会马上得到信号并执行,...中断服务子程序不能调用OSSemCrea...

    概述

    信号量用于:
    1.控制共享资源的使用权(满足互斥条件)
    2.标志某时间的发生
    3.使2个任务的行为同步

    OSSemCreate 赋初值

    OSSemCreate(INT16U cnt),cnt为信号量的初始计数值。当计数值不为0的时候,OSSemPend会马上得到信号并执行,执行成功后cnt数减1。而成功执行一次OSSemPost的时候,cnt数会加1。
    举例:cnt的初值赋值5,会传5次信号到OSSemPend。(一般不会这么用,仅仅是展示功能)
    在这里插入图片描述

    应用实例:互斥信号量

    作为互斥条件,信号量初始化为1。
    实现目标:调用串口发送命令,必须等待返回“OK”字符过后,才能发送下一条命令。每个任务都有可能使用到此发送函数,不能出现冲突!

    实现方法:

    OS_EVENT *uartSend;
    void main(void)
    {
    ….
    uartSend = OSSemCreate(1);
    creatTask(task1);
    creatTask(task2);
    …
    }
    void task1(void)
    {
    	while(1)
    	{
    	CommSendCmd(“AT\r\n”);
    	OSTimeDlyHMSM(0, 0, 0, 5);
    	}
    }
    
    void task2(void)
    {
    	while(1)
    	{
    	CommSendCmd(“AT\r\n”);
    	OSTimeDlyHMSM(0, 0, 0, 8);
    	}
    }
    void CommSendCmd(char*str)
    {
              uint8_t res;
              OSSemPend(uartSend,0,&err);
              uartSendCmd(str);//串口发送命令到设备
    	 res = waitResponst(“OK”);//等待返回OK
    	if(res = TIME_OUT)
    	{
            OSSemPost(uartSend);
            return ERR_CEND;
    	}
    	else
    	{
            OSSemPost(uartSend);
    	return 0;
    	}
    }
    

    分析:任务1第一次在执行CommSendCmd()的时候,由于初始化信号值为1,所以任务1拥有发送权,执行完OSSemPend过后,信号值为0,如果此时,任务2想要发送,由于信号值为0,则任务挂起。当任务1执行完成过后,会执行一句OSSemPost,信号值变成1。如果当前任务2有任务挂起,当收到OSSemPost过后,任务2开始执行,执行完OSSemPend过后,信号值又变成0

    注意事项

    中断服务子程序不能调用OSSemCreate函数,只能在任务及代码或者多任务启动之前调用。
    在这里插入图片描述

    展开全文
  • 上面的/s /e 参数的作用分别是把子目录和空目录都复制过去,一些使用举例和参数说明如下: 1、如只是单纯地复制 E:\ 盘上所有文件到 D:\ 盘上,就输入“ xcopy e:\*.* d: /s /h "就行啦!如果在复制过程中,你不要...
  • tcpip详解 卷1 高清晰完整版pdf

    万次下载 热门讨论 2013-03-11 09:38:26
    26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次 一行或行方式 304 26.4.6 同步信号 306 26.4.7 客户的转义符 306 26.5 Telnet举例 306 26.5.1 单字符方式 306 26.5.2 行方式 310 26.5.3 一次一行方式(准行...
  • 2.2 中央处理单元 2.3 系统配置和中断服务 2.4 存储器 第3章 DSP控制器的片上外设 3.1 片内锁相环(PLL) 3.2 数字I/O端口 3.3 模拟数字转换器 3.4 串行通信接口 3.5 串行外设接口 3.6 看门狗/实时中断模块 3.7 CAN...
  • 第14章 MCS—51程序设计及实用子程序 14.1 查表程序设计 14.2 数据极值查找和数据排序 14.2.1 数据极值查找 14.2.2 数据排序 14.3 散转程序设计 1.4.3.1 使用转移指令的散转程序 14.3.2 使用地址偏移量表的散转程序 ...
  • TCP/IP详解

    2012-05-23 22:09:54
    26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次 一行或行方式 304 26.4.6 同步信号 306 26.4.7 客户的转义符 306 26.5 Telnet举例 306 26.5.1 单字符方式 306 26.5.2 行方式 310 26.5.3 一次一行方式(准行...
  • TCP/IP详解 卷1:协议--详细书签版

    热门讨论 2012-10-17 20:53:55
    26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次一行或行方式 304 26.4.6 同步信号 306 26.4.7 客户的转义符 306 26.5 Telnet举例 306 26.5.1 单字符方式 306 26.5.2 行方式 310 ...
  • TCP/IP详解 卷1:协议--源代码

    热门讨论 2012-10-19 12:27:56
    CruiseYoung提供的带有详细书签的电子书籍目录 ... 该资料是《TCP/IP详解 卷1:协议》的源代码 ... 26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次一行或行方式 304 26.4.6 同步信号 306 26.4.7...
  • ADC809的运用及电路

    2010-08-06 20:41:33
    可据此设计一个延时子程序,A/D转换启动后即调用此子程序,延迟时间一到,转换肯定已经完成了,接着就可进行数据传送。 (2)查询方式 A/D转换芯片由表明转换完成的状态信号,例如ADC0809的EOC端。因此可以用查询...
  • TCPIP详解--共三卷

    2015-11-30 17:17:21
    26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次 一行或行方式 304 26.4.6 同步信号 306 26.4.7 客户的转义符 306 26.5 Telnet举例 306 26.5.1 单字符方式 306 26.5.2 行方式 310 26.5.3 一次一行方式(准行...
  • 3.7.4 子程序设计 3.8 混合语言编程 3.8.1 如何在c语言内嵌汇编语言 3.8.2 c与汇编相互调用 小结 习题 第4章 s3c44box硬件结构及功能 4.1 s3c44box简介 4.2 存储器管理 4.2.1 s3c44box存储系统...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    此外,C语言程序具有完善的模块程序结构,从而为软件开发中采用模块化程序设计方法提供了有力的保障。因此,使用C语言进行程序设计已成为软件开发的一个主流。用C语言来编写目标系统软件,会大大缩短开发周期,且...
  • TCP_IP详解卷1

    热门讨论 2010-12-29 10:53:54
    26.4.4 选项协商 304 26.4.5 半双工、一次一字符、一次 一行或行方式 304 26.4.6 同步信号 306 26.4.7 客户的转义符 306 26.5 Telnet举例 306 26.5.1 单字符方式 306 26.5.2 行方式 310 26.5.3 一次一行方式(准行...
  • 1 I/O中断  2. 2. 2 DMA结构  2. 3 存储结构  2. 3. 1 内存  2. 3. 2 磁盘(早期带有软盘)  2. 3. 3 磁带  2. 4 存储层次  2. 4. 1 高速缓存技术  2. 4. 2 一致性与连贯性  2. 5 硬件保护  2. 5. 1 双重...
  • Visual.Basic.6大学教程.pdf

    热门讨论 2013-02-17 16:32:26
    13.9 中断模式、Immediate窗口和Debug对象 420 13.10 防止程序错误的第一步 422 13.11 调试策略 422 13.12 调试器 424 13.12.1 Debug菜单和工具栏 424 13.12.2 Locals窗口 428 13.12.3 Watch窗口 429 13.12.4 Call ...
  • 迅雷7下载工具

    2013-04-07 15:36:29
    用户对使用迅雷资源聚合引擎自行承担风险, 迅雷不做任何形式的保证 , 不保证下载资源能满足用户的要求,不保证资源聚合服务中断,对资源聚合引擎的安全性、正确性、及时性、合法性,均不做担保。因网络状况、通讯...
  • 76. ciadv.msc------索引服务程序 77. shrpubw--------创建共享文件夹 78. secpol.msc-----本地安全策略 79. syskey---------系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 80. services.msc---...
  • 软件工程教程

    热门讨论 2012-07-06 23:10:29
    删除操作一旦执行,立即被监听器捕获到,进而在执行 删除操作前执行自定义的函数体,即判断实体有无undeletable标签,有则中断删除操作,无则正常删除。 用例图 关系 关联关系 ;依赖关系 ;泛化关系;关系的...
  • 多媒体教室

    2013-06-14 08:10:31
    1. 插入安装光盘后会自动运行安装程序,进入图形安装界面,按提示进行安装,安装程序会自动检测未安装的组件并进行安装(包括加密狗驱动的安装)。 2. 选择安装部件:教师机。 3. 按照安装提示完成安装。   学生机的...
  • (2)数据库数据已经存在,但是无法正常使用,提示错误,都应归属为数据修复,举例说明:SQL SERVER文件打开提示LDF文件损坏,或错误823等等。 数据库恢复实际上就是利用技术手段把不可见或不可正常运行的数据文件恢复...
  • 微机原理及接口技术

    热门讨论 2012-06-03 01:21:15
    4.5.4 子程序设计............................ 113 4.6 DOS/BIOS 功能调用......................... 116 4.6.1 DOS 系统功能调用................ 117 4.6.2 BIOS 功能调用...................... 119 4.7 小结......
  • 你会发现理论书籍好像一下变得无用武之地,你会发现任何一个细节上的理解错误都可能导致自己辛辛苦苦编写的代码运行异常甚至崩溃。 我经历过这一切!我曾经翻遍了一本《操作系统:设计与实现》,也没有找到实现一...
  • 你会发现理论书籍好像一下变得无用武之地,你会发现任何一个细节上的理解错误都可能导致自己辛辛苦苦编写的代码运行异常甚至崩溃。 我经历过这一切!我曾经翻遍了一本《操作系统:设计与实现》,也没有找到实现一...
  • 本工程中举例了 Clock 、Instant、LocalDateTime、和 DateTimeFormatter 的用法。以及一些常用的工具类(Date转LocalDateTime,LocalDateTime转Date,LocalDateTime转指定格式(例如:yyyy-MM-dd HH:mm:ss )的...
  • Oracle 主要配置文件介绍

    热门讨论 2007-08-25 10:07:40
    Oracle 应 用进行文件 I/O操作的目录为任意目录 因此 只要空间允许 可以将备份数 据存放到任意目录下 <br>1.2.4 监听配置文件 为了使得外部进程 如 CAMS后台程序 能够访问 Oracle 数据库 必须配 ...
  • 德力西产品说明.pdf

    2019-10-10 18:41:58
    如果您对本产品的使用存在疑难或有特殊要求, 可以联系本公司各地办事处或经销商,当然您也可以直接致电我公司总部客户服务中心,我们将竭诚为您服务。 本手册包含0.75kW~5.5kW功率等级的CDI9600系列小功率矢量...
  • 举例如下: $first = 'Hello'; $second = "World"; $full1 = "$first $second"; # 产生 Hello World $full2 = '$first $second';# 产生 $first $second 可以将字符和数字利用运算符号连接起来。字符被转化成数字,...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

中断服务子程序举例