📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 10/15/2008 11:54:21 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************
2 程序名称:LED3216点阵交替变化显示汉字
3 简要说明:本程序只利用左半屏显示
4 P0口接上行线,P2口接下行线,P3口接扫描线
5 P3.0接左屏译码器使能端(CS1)
6 P3.1接右屏译码器使能端(CS2)
7 编 写:JiangX.net
8 *********************************************************/
9 #include<AT89X52.h>
10 #include<ziku.h>
11 #define uchar unsigned char //宏定义
12 #define hang1 P0 //上半屏行线
13 #define hang2 P2 //下半屏行线
14 #define lie P1 //扫描列线
15 #define CS1 P3_0 //接左屏154译码器使能端,低电平使能
16 #define CS2 P3_1 //接右屏154译码器使能端,低电平使能
17 #define num sizeof(hanzi)/16 //自动计算字数
18 uchar a=0,b=0; //全局变量用于汉字切换
19
20 /*****参数调整项*****/
21 #define speed 100 //变化速度调节
22 #define light 120 //显示亮度调节,数值不可过大,以不感到屏幕闪烁为准
23
24 /*****延时子程序*****/
25 void delay(void) //专门设置的延时程序用来改变扫描速度以方便调节亮度
26 {
27 1 uchar i;
28 1 for(i=0;i<light;i++);
29 1 }
30
31 /*****初始化子程序*****/
32 void init(void) //定时器初始化,设置定时器0工作方式1,定时时间5ms
33 {
34 1 TMOD=0x1;
35 1 TH0=0xec;
36 1 TL0=0x78;
37 1 }
38
39 /*****定时器中断服务程序*****/
40 void time0(void)interrupt 1
41 {
42 1 TH0=0xec;
43 1 TL0=0x78;;
44 1 a++;
45 1 if (a==speed){a=0;b++;}
46 1 if(b>num/2-1) b=0; //所有汉字显示完毕,回到第一个汉字
47 1 }
48
49 /*****显示子程序*****/
50 void display(void)
51 {
52 1 uchar i; //关右屏
53 1 CS2=1; //开左屏
54 1 CS1=0;
55 1 for(i=0;i<16;i++)
C51 COMPILER V8.02 MAIN 10/15/2008 11:54:21 PAGE 2
56 1 {
57 2 lie=i; //列扫描信号输出
58 2 hang1=hanzi[32*b+i];
59 2 hang2=hanzi[32*b+i+16]; //行信号输出
60 2 delay();
61 2 hang1=0;
62 2 hang2=0;
63 2 }
64 1 }
65
66 /*****主程序*****/
67 void main(void)
68 {
69 1 init();
70 1 TR0=1;
71 1 ET0=1;
72 1 EA=1; //开中断
73 1 while(1)
74 1 {
75 2 display();
76 2 }
77 1 }
78
79 /*****END*****/
80 /*****欢迎到作者博客交流:http://www.jiangx.net*****/
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 149 ----
CONSTANT SIZE = 352 ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 2 ----
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 + -