os_cpu.lst
来自「MinOS嵌入式操作系统,C/C++源代码!基于KeilC51编译器.」· LST 代码 · 共 50 行
LST
50 行
C51 COMPILER V7.06 OS_CPU 07/31/2004 19:16:35 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE OS_CPU
OBJECT MODULE PLACED IN OS_CPU.OBJ
COMPILER INVOKED BY: C:\KEIL\C51\BIN\C51.EXE OS_CPU.C BROWSE DEBUG OBJECTEXTEND SRC(.\OS_CPU.SRC)
stmt level source
1 /*
2 *********************************************************************************************************
3 * minOS 0.01v
4 * The Real-Time OS Kernel
5 * All Rights Reserved
6 * File : OS_CPU.C
7 * 作者 : 21icbbs网友 LM7556 ,2004年7月 by : LM7556 , China , 2004-2004
8 *
9 *********************************************************************************************************
10 */
11
12 #define OS_CPU_GLOBALS
13 #include "OS_Includes.h"
14
15
16 //汇编宏_POPA_,_PUSHA_ 用于任务切换时保存和恢复现场。
17 #pragma ASM
18 _POPA_ MACRO
19 IRP REG, <7, 6, 5, 4, 3, 2, 1, 0, PSW, DPL, DPH, B, ACC>
20 POP REG
21 ENDM
22 ENDM
23
24 _PUSHA_ MACRO
25 IRP REG, <ACC, B, DPH, DPL, PSW, 0, 1, 2, 3, 4, 5, 6, 7>
26 PUSH REG
27 ENDM
28 ENDM
29 #pragma ENDASM
30
31 //;CPU specific definitions
32 #define C51_CRYSTAL_FREQ 11059200ul
33 //;Determine the reload values for timer 0 this is automated by the next macro
34 #define T0_RELOAD C51_CRYSTAL_FREQ / OS_TICKS_PER_SEC / 12
35 #define T0_RELOADH (65536 - (T0_RELOAD & 65535)) / 256
36 #define T0_RELOADL (65536 - (T0_RELOAD & 65535)) & 255
37 //Initial OS Timer for time ticks --- 初始化时间节拍定时器。
38 void InitOSTimer(void)
39 {
40 1 TMOD=(TMOD & 0XF0) | 0X01; /* Timer 0 working in MODE 1 */
41 1 TH0=T0_RELOADH; //设置Tick次/秒,
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?