📄 2_5.lst
字号:
C51 COMPILER V6.12 2_5 10/01/2007 13:35:06 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE 2_5
OBJECT MODULE PLACED IN .\2_5.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE ..\lesson2\2_5.c DEBUG OBJECTEXTEND PRINT(.\2_5.lst) OBJECT(.\2_5.obj)
stmt level source
1 /*******************************************************************/
2 /* TX-1C单片机实验板实验例程 */
3 /* 2007年8月第二期培训班课后习题详解 */
4 /* 作者:郭天祥 */
5 /* 邮箱:txmcu@163.com */
6 /* 网站:www.txmcu.com(天祥电子) */
7 /* 题目内容:用位操作点亮第一个发光管. */
8 /*【版权】Copyright(C)天祥电子 www.txmcu.com All Rights Reserved */
9 /*【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! */
10 /* */
11 /*******************************************************************/
12 /*
13 8个发光管间隔200ms由上至下,
14 再由下至上,再重复一次,
15 然后全部熄灭再以300ms间隔
16 全部闪烁5次。重复此过程
17 */
18 /*********************************************************/
19 #include<reg52.h> //52单片机头文件
20 #include <intrins.h> //包含有左右循环移位子函数的库
21 #define uint unsigned int //宏定义
22 #define uchar unsigned char //宏定义
23 void delay(uint z) //延时函数,z的取值为这个函数的延时ms数,如delay(200);大约延时200ms.
24 { //delay(500);大约延时500ms.
25 1 uint x,y;
26 1 for(x=z;x>0;x--)
27 1 for(y=110;y>0;y--);
28 1 }
29 void main() //主函数
30 {
31 1 uchar a,i,j;
32 1 while(1) //大循环
33 1 {
34 2 for(j=0;j<2;j++)
35 2 {
36 3 a=0xfe; //赋初值
37 3 for(i=0;i<8;i++) //左移
38 3 {
39 4 P1=a; //点亮小灯
40 4 delay(200); //延时200毫秒
41 4 a=_crol_(a,1); //将a变量循环左移一位
42 4 }
43 3 a=0x7f;
44 3 for(i=0;i<8;i++) //右移
45 3 {
46 4 P1=a; //点亮小灯
47 4 delay(200); //延时200毫秒
48 4 a=_cror_(a,1); //将a变量循环右移一位
49 4 }
50 3 }
51 2 P1=0xff; //全部熄灭
52 2 for(j=0;j<10;j++)
53 2 {
54 3 delay(300); //延时
55 3 P1=~P1; //全部取反10次,既闪烁5次
C51 COMPILER V6.12 2_5 10/01/2007 13:35:06 PAGE 2
56 3 }
57 2 }
58 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 112 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -