📄 16×16-ldianzhen.lst
字号:
C51 COMPILER V7.50 16×16-LDIANZHEN 12/17/2007 11:13:55 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE 16×16-LDIANZHEN
OBJECT MODULE PLACED IN 16×16-ldianzhen.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE 16×16-ldianzhen.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /******************************************************************
2 /* *
3 /* AOKE210E单片机开发系统演示程序 *
4 /* *
5 /* 版本: V2.0 (2007/11/20) *
6 /* 作者: 高山流水 (Email: aoke999@sohu.com) *
7 /* 网站: www.aokemcu.cn(奥科电子) *
8 /* *
9 /* *
10 /******************************************************************/
11
12 #include <reg51.h> //51芯片管脚定义头文件
13 #include <intrins.h> //内部包含延时函数 _nop_();
14
15 #define uchar unsigned char
16 #define uint unsigned int
17
18 #define BLKN 2 //列锁存器数
19
20 sbit SDATA_595=P2^5; //串行数据输入
21 sbit SCLK_595 =P2^6; //移位时钟脉冲
22 sbit RCK_595 =P2^7; //输出锁存器控制脉冲
23 sbit G_74138 =P2^4; //显示允许控制信号端口
24
25 uchar data dispram[32]; //显示缓存
26 uchar temp;
27
28 void delay(uint );
29
30 uchar code Bmp[][32]=
31 {
32
33 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
34 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
35
36 {0x02,0x00,0x04,0x10,0x1F,0xF8,0x11,0x10,0x15,0x50,0x11,0x10,0x1F,0xF0,0x11,0x10,
37 0x15,0x50,0x11,0x10,0x01,0x04,0xFF,0xFE,0x02,0x80,0x04,0x60,0x18,0x1C,0x60,0x08},//奥
38
39 {0x04,0x10,0x0E,0x10,0xF8,0x90,0x08,0x50,0x08,0x10,0xFE,0x90,0x08,0x50,0x1C,0x14,
40 0x1A,0x1E,0x29,0xF0,0x28,0x10,0x48,0x10,0x88,0x10,0x08,0x10,0x08,0x10,0x08,0x10},//科
41
42 {0x02,0x00,0x02,0x00,0x02,0x10,0x7F,0xF8,0x42,0x10,0x42,0x10,0x7F,0xF0,0x42,0x10,
43 0x42,0x10,0x7F,0xF0,0x42,0x10,0x02,0x00,0x02,0x04,0x02,0x04,0x01,0xFC,0x00,0x00},//电
44
45 {0x00,0x00,0x3F,0xF0,0x00,0x10,0x00,0x20,0x00,0x40,0x01,0x80,0x01,0x04,0xFF,0xFE,
46 0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x05,0x00,0x02,0x00}//子
47
48 };
49
50 /*******************************************************
51 * *
52 * 主函数 *
53 * *
54 *******************************************************/
55 void main(void)
C51 COMPILER V7.50 16×16-LDIANZHEN 12/17/2007 11:13:55 PAGE 2
56 {
57 1 uchar i,k;
58 1 TMOD = 0x01; //定时器T0工作方式1
59 1 TH0 = 0xFC; //1ms定时常数
60 1 TL0 = 0x66;
61 1 G_74138 = 1; //关闭显示
62 1 RCK_595=0;
63 1 P2 =0xF0; //行号端口清零
64 1
65 1 IE = 0x82; //允许定时器T0中断
66 1 TR0 = 1; //启动定时器T0
67 1 while(1)
68 1 {
69 2 for(k=0;k<5;k++) //显示"奥科电子"
70 2 {
71 3 for(i=0;i<32;i++)
72 3 {
73 4 dispram[i]= ~Bmp[k][31-i];
74 4 }
75 3 delay(1500);
76 3 }
77 2
78 2 } //end of while(1)
79 1 } //end of main()
80
81 /*******************************************************
82 * *
83 * 延时函数 *
84 * *
85 *******************************************************/
86 void delay(uint dt)
87 {
88 1 uchar bt;
89 1 for(;dt;dt--)
90 1 for(bt=0;bt<255;bt++);
91 1 }
92
93
94 /*******************************************************
95 * *
96 *将显示数据送入74HC595内部移位寄存器 *
97 * *
98 *******************************************************/
99 void WR_595(void)
100 {
101 1 uchar x;
102 1 for (x=0;x<8;x++)
103 1 {
104 2 temp=temp<<1;
105 2 SDATA_595=CY;
106 2 SCLK_595=1; //上升沿发生移位
107 2 _nop_();
108 2 _nop_();
109 2 SCLK_595=0;
110 2 }
111 1 }
112
113 /*******************************************************
114 * *
115 * 中断服务函数 *
116 * *
117 *******************************************************/
C51 COMPILER V7.50 16×16-LDIANZHEN 12/17/2007 11:13:55 PAGE 3
118 void leddisplay(void) interrupt 1 using 1
119 {
120 1 uchar i,j=BLKN;
121 1 TH0 = 0xFC; //1ms定时常数
122 1 TL0 = 0x66;
123 1 i=P2; //读取当前显示的行号
124 1 i=++i & 0x0f; //行号加1,屏蔽高4位
125 1 do{
126 2 j--;
127 2 temp = dispram[i*BLKN+j];
128 2 WR_595();
129 2 }while(j);
130 1
131 1 G_74138=1; //关闭显示
132 1 P2 &= 0xf0; //行号端口清零
133 1 RCK_595 = 1; //上升沿将数据送到输出锁存器
134 1 P2 |=i; //写入行号
135 1 RCK_595 = 0; //锁存显示数据
136 1 G_74138=0; //打开显示
137 1 }
138
139 /******************************************************/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 193 ----
CONSTANT SIZE = 160 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 33 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 + -