📄 ht1621.lst
字号:
C51 COMPILER V7.06 HT1621 04/15/2005 20:32:16 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE HT1621
OBJECT MODULE PLACED IN ht1621.OBJ
COMPILER INVOKED BY: D:\Program Files\Keil20\C51\BIN\C51.EXE ht1621.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 //-----------------------函数声明--------------------------------------------------------
2 #include <reg52.h>
3 #include <intrins.h>
4 #include <stdio.h>
5 #include <absacc.h>
6 #define uchar unsigned char
7 #define uint unsigned int
8 //-----------------------定义HT1261 LCD控制寄存器命令參數-----------------------------------------------
9 #define BIAS 0X52
10 #define RC256 0X30
11 #define SYSTEN 0X02
12 #define SYSDIS 0X00
13 #define LCDON 0X06
14 //-----------------------HT1261 LCD接口管脚声明--------------------------------------------------------
15 //sbit lc=PSW^0;
16 sbit lcd_data=P1^0;
17 sbit lcd_cs=P1^1;
18 sbit lcd_wr=P1^3;
19 //-----------------------定义变量--------------------------------------------------------
20 #define data_num 16
21 uchar X1[data_num]; //X1用于存储需要写入显示寄存器的数据
22 //--------------------------------------------------------------------------------------------------
23 // 函数名称: lcdint
24 // 函数功能: 初始化HT1621
25 //--------------------------------------------------------------------------------------------------
26 void lcdint(void) //初始化HT1621.
27 {
28 1 lcd_cs=0;
29 1 lcd_wr=1;
30 1 _nop_();
31 1 lcd_wr=0;
32 1 _nop_();
33 1 }
34 //--------------------------------------------------------------------------------------------------
35 // 函数名称: sendb0
36 // 入口参数: id,n id为要送到SPI总线上的数据,n表示把id高位开始的n位送出
37 // 函数功能: 基本操作,单片机写数据到总线上,连续送n位数据
38 // id的最高位为第一位,连续n位数据
39 //--------------------------------------------------------------------------------------------------
40 void sendb0(uchar id,uchar n)
41 {
42 1 uchar i;
43 1 for(i=0;i<n;i++)
44 1 {
45 2 if(id>=0x80)
46 2 lcd_data=1;
47 2 else
48 2 lcd_data=0;
49 2 lcd_wr=1;
50 2 _nop_();
51 2 _nop_();
52 2 lcd_wr=0;
53 2 _nop_();
54 2 _nop_();
55 2 id<<=1;
C51 COMPILER V7.06 HT1621 04/15/2005 20:32:16 PAGE 2
56 2 }
57 1 }
58 //--------------------------------------------------------------------------------------------------
59 // 函数名称: sendcom
60 // 入口参数: command
61 // 函数功能:送命令字
62 //--------------------------------------------------------------------------------------------------
63 void sendcom(uchar command)
64 {
65 1 uchar a=0x80,i=4,d=8;
66 1 lcdint();
67 1 sendb0(a,i);
68 1 sendb0(command,d);
69 1 lcd_wr=1;
70 1 lcd_cs=1;
71 1 lcd_data=1;
72 1 }
73 //--------------------------------------------------------------------------------------------------
74 // 函数名称: INT1621
75 // 函数功能: 初始化设置各控制寄存器
76 //--------------------------------------------------------------------------------------------------
77 void INT1621(void)
78 {
79 1 uchar command;
80 1 command=BIAS; // 1/3 bais . 4 duty
81 1 sendcom(command);
82 1 command=RC256; //启动內部256KRC 振荡器
83 1 sendcom(command);
84 1 command=SYSTEN;
85 1 sendcom(command);
86 1 command=LCDON; //启动LCD
87 1 sendcom(command);
88 1 }
89 //--------------------------------------------------------------------------------------------------
90 // 函数名称: send1621data
91 // 函数功能: 写数据到ht1621内部的显示缓冲区RAM,往HT1621 display buffer RAM送要显示的数据
92 //--------------------------------------------------------------------------------------------------
93 void send1621data()
94 {
95 1 uchar a=0x01,b=0x80,c=0x40,d=0x08;
96 1 uchar j,k;
97 1 lcdint();
98 1 sendb0(b,a);
99 1 sendb0(c,d); //从display buffer RAM 0x0000 开始
100 1 for(j=0;j<16;j++) //将X1[]数组的数据逐个送到RAM
101 1 {
102 2 k=X1[j];
103 2 sendb0(k,d);
104 2 }
105 1 }
106 //--------------------------------------------------------------------------------------------------
107 // 函数名称: 主函数
108 //--------------------------------------------------------------------------------------------------
109 main()
110 {
111 1 for(;;)
112 1 {
113 2 INT1621();
114 2 send1621data();
115 2 // ...............
116 2 // ...............
117 2 }
C51 COMPILER V7.06 HT1621 04/15/2005 20:32:16 PAGE 3
118 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 145 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 16 ----
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 + -