📄 ledx8.lst
字号:
C51 COMPILER V8.12 LEDX8 04/02/2009 15:18:57 PAGE 1
C51 COMPILER V8.12, COMPILATION OF MODULE LEDX8
OBJECT MODULE PLACED IN LEDX8.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE LEDX8.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*******************************************************************
2 * *
3 * ME850单片机开发实验仪演示程序 - LED 左右移动流水灯 *
4 * *
5 * P0、P2 端口8位LED显示 *
6 * *
7 * 版本: V1.0 (2008/06/11) *
8 * 作者: gguoqing (Email: gguoqing@willar.com) *
9 * 作者: gguoqing (gguoqing@willar.com) *
10 * 网站: www.sofi-tech.com(硕飞科技) www.mcusj.com(伟纳单片机世界) *
11 * 邮箱: sofitech@tom.com *
12 * *
13 *【版权】Copyright(C)伟纳电子 www.willar.com All Rights Reserved *
14 *【声明】此程序仅用于学习与参考,引用请注明版权和作者信息! *
15 * *
16 *******************************************************************/
17
18 #include <reg52.h>
19 #include <intrins.h>
20
21 unsigned char scan_num;
22
23 char code reserve [3] _at_ 0x3b; //保留0x3b开始的3个字节
24
25 /**********************************************************
26
27 延时函数
28
29 **********************************************************/
30 void delayms(unsigned int ms)
31 {
32 1 unsigned char k;
33 1 while(ms--)
34 1 {
35 2 for(k = 0; k < 114; k++);
36 2 }
37 1 }
38
39 /**********************************************************
40
41 主函数
42
43 **********************************************************/
44 void main(void)
45 {
46 1 unsigned char i;
47 1 P0 = 0xff; //初始化端口
48 1 P2 = 0xff;
49 1
50 1 while(1)
51 1 {
52 2 scan_num = 0xfe; //扫描初始值
53 2
54 2 for(i = 0;i < 8;i++) //左移显示
55 2 {
C51 COMPILER V8.12 LEDX8 04/02/2009 15:18:57 PAGE 2
56 3 P0 = scan_num; //送显示
57 3 P2 = scan_num;
58 3 scan_num<<=1; //左移一位
59 3 scan_num|=0x01; //最低位补"1"
60 3 delayms(300); //延时300ms
61 3 }
62 2 P0 = 0xff; //关闭LED显示
63 2 P2 = 0xff;
64 2 delayms(300); //延时300ms
65 2
66 2 scan_num = 0x7f; //扫描初始值
67 2
68 2 for(i = 0;i < 8;i++) //右移显示
69 2 {
70 3 P0 = scan_num; //送显示
71 3 P2 = scan_num;
72 3 scan_num >>=1; //右移一位
73 3 scan_num|=0x80; //最高位补"1"
74 3 delayms(300); //延时300ms
75 3 }
76 2 P0 = 0xff; //关闭LED显示
77 2 P2 = 0xff;
78 2 delayms(300); //延时300ms
79 2 }
80 1 }
81
82 /**********************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 100 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -