📄 sy9.lst
字号:
C51 COMPILER V7.20 SY9 08/10/2008 15:13:01 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE SY9
OBJECT MODULE PLACED IN sy9.OBJ
COMPILER INVOKED BY: D:\Keil\C51\BIN\C51.EXE sy9.c BROWSE DEBUG OBJECTEXTEND
line level source
1 //P3.0-P3.7 并行数据DB0-DB7
2 //P2.7 时钟信号
3 //使用定时器3中断程序改变输出电压
4
5
6 #include <c8051f000.h>
7 #include <intrins.h>
8 #define uchar unsigned char
9 #define uint unsigned int
10
11 sbit CLK=P2^7;
12 sfr16 TMR3RL=0x92;
13
14 void sysclk_init();
15 void port_init();
16 void timer3_init();
17 void set_f(uint f);
18 void send_dac908(uchar dat);
19
20
21 uint n; //定时器3计数值
22 uchar k;
23 uchar da_dat;
24
25 void main()
26 {
27 1 sysclk_init();
28 1 port_init();
29 1 timer3_init();
30 1 set_f(100);
31 1 da_dat=0;
32 1 EA=0; //开总中断
33 1
34 1 for(;;)send_dac908(da_dat++);
35 1 }
36
37 void sysclk_init()
38 {
39 1 WDTCN=0XDE; //关看门狗
40 1 WDTCN=0XAD;
41 1 OSCICN=0x07; //内部16M时钟
42 1 }
43
44 void port_init()
45 {
46 1 XBR0=0X00; //
47 1 XBR1=0X00;
48 1 XBR2=0X40; //交叉开关允许
49 1 PRT0CF=0xFF; //P0设置为推挽输出
50 1 PRT1CF=0xFF; //设置为推挽输出
51 1 PRT2CF=0xFF; //
52 1 PRT3CF=0xFF; //
53 1 }
54
55 void timer3_init()
C51 COMPILER V7.20 SY9 08/10/2008 15:13:01 PAGE 2
56 {
57 1 TMR3CN=0X06; //定时器3允许 使用系统时钟
58 1 EIE2|=0X1; //开定时器3中断
59 1 }
60 //-----------------------------------------
61 //通过设置定时器3初值 设置输出频率
62 //f:输出频率(1-31311hz)
63 //-----------------------------------------
64 void set_f(uint f)
65 {
66 1 uint n;
67 1 n=31311/f;
68 1 TMR3RL=n;
69 1 }
70
71 void ser_timer3() interrupt 14
72 {
73 1 TMR3CN&=0X7F; //中断标志清零
74 1 // send_dac908(0xF0);
75 1 /* if(da_dat==0)
76 1 k=1;
77 1 if(da_dat==255)
78 1 k=0;
79 1 if(k)
80 1 send_dac908(da_dat++);
81 1 else
82 1 send_dac908(da_dat--);
83 1 */
84 1
85 1 }
86
87 void send_dac908(uchar dat)
88 {
89 1 CLK=1;
90 1 P3=dat;
91 1 CLK=0;
92 1 }
93
94
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 95 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 4 ----
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 + -