📄 led_hardware.lst
字号:
C51 COMPILER V7.20 LED_HARDWARE 07/11/2007 17:11:09 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE LED_HARDWARE
OBJECT MODULE PLACED IN .\led_hardware.obj
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE ..\..\桌面\07experiment\NO5\keil\led_hardware.c BROWSE DEBUG OBJECTEXTEND P
-RINT(.\led_hardware.lst) OBJECT(.\led_hardware.obj)
line level source
1 #include <reg51.h>
2
3 /******led 接口描述******/
4 //P0--->(a-g,dot) 显示
5 //选择使能控制段
6 //P2^3--->使能左第一个数码管 P2^2--->左第二个数码管
7 //P2^1--->左第三个数码管 P2^0--->左第四个数码管
8
9
10 /*********显示数据表 对应0-9 ,a-f*************/
11 unsigned char code table[16]={0x3f,6,0x5b,0x4f,
12 0x66,0x6d,0x7d,7,0x7f,0x6f,0x77,
13 0x7c,0x58,0x5e,0x79,0x71};
14 /**********显示选择表***********************/
15 unsigned char code digit[4]={0xf8,0xf4,0xf2,0xf1};
16
17 /*****定义一个数组用于存放将要显示的值*******/
18 unsigned char d[4]={1,2,3,4};
19 /*****定义一个全局变量 number******/
20 unsigned char number; //number 表示第几个显示 0-3
21
22 /********定时器0中断服务程序***************/
23 void timer0(void) interrupt 1
24 {
25 1 TR0=0; //停止定时器0
26 1 TH0=(65536-1000)/256; //通过定时器定时延时大约1ms左右
27 1 TL0=(65536-1000)%256;
28 1 number=(number+1)%4;
29 1 P2=digit[number]; //选择第number个数码管显示
30 1 P0=table[d[number]]; //查表显示要显示的值
31 1 TR0=1; //启动定时器0
32 1 }
33
34 /******定时器初始化函数**********/
35 void Init_Timer (void)
36 {
37 1 TMOD=0x01; //
38 1 TH0=(65536-1000)/256; //通过定时器定时延时大约1ms左右
39 1 TL0=(65536-1000)%256;
40 1 EA=1;
41 1 ET0=1;
42 1 TR0=1;
43 1 }
44
45
46 /********主函数************/
47 //效果就是用定时器服务程序的实现数码管动态显示1234
48 /*************************/
49 void main (void)
50 {
51 1 Init_Timer();
52 1 while(1);
53 1 }
C51 COMPILER V7.20 LED_HARDWARE 07/11/2007 17:11:09 PAGE 2
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 80 ----
CONSTANT SIZE = 20 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 5 ----
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 + -