📄 mini51b_driver.lst
字号:
C51 COMPILER V8.02 MINI51B_DRIVER 01/15/2009 20:17:46 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MINI51B_DRIVER
OBJECT MODULE PLACED IN mini51b_driver.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE mini51b_driver.c BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "Mini51B.H" //所有与硬件相关的接口函数定义
2
3 /*ADC1549数据读取,首次无效*/
4 //读取ADC结果函数
5 unsigned int read_adc(void)
6 {
7 1 unsigned char i;
8 1 unsigned int temp=0;
9 1 ADC_CS = 0; //开启控制电路,使能DA和CK IO引脚
10 1 for(i=0;i<10;i++) { //采集10次 ,即10bit
11 2 ADC_CK = 0;
12 2 temp <<= 1;
13 2 if(ADC_DA) temp++;
14 2 ADC_CK = 1;
15 2 }
16 1 ADC_CS = 1;
17 1 return(temp);
18 1 }
19
20 /*DAC5615数据写入函数/
21 void write_dac(uint da)
22 {
23 uchar i;
24 da <<= 6;//10有效数据左对齐
25 DAC_CS = 0;
26 DAC_CK = 0;
27 for (i=0;i<12;i++)
28 {
29 DAC_DA = (bit)(da & 0x8000);
30 DAC_CK = 1;
31 da <<= 1;
32 DAC_CK = 0;
33 }
34 DAC_CS = 1;
35 DAC_CK = 0;
36 }//*/
37
38 //通用数码管显示函数,传入数据0~9999
39 void seg7_disp(uint number)
40 {
41 1 unsigned char code tab1[20]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,};
42 1 unsigned char temp,flag=0;
43 1
44 1 if(number < 10000)
45 1 {
46 2 //千位数码管
47 2 temp = number/1000%10;
48 2 if (temp) {
49 3 SEG_Q = tab1[temp];
50 3 flag = 1;
51 3 }
52 2 else {
53 3 SEG_Q = 0xff;//数码管熄灭
54 3 flag = 0;
55 3 }
C51 COMPILER V8.02 MINI51B_DRIVER 01/15/2009 20:17:46 PAGE 2
56 2
57 2 //百位数码管
58 2 temp = number/100%10;
59 2 if(flag | temp) {
60 3 SEG_B = tab1[temp];
61 3 flag = 1;
62 3 }
63 2 else {
64 3 SEG_B = 0xff;//数码管熄灭
65 3 flag = 0;
66 3 }
67 2
68 2 //十位数码管
69 2 temp = number/10%10;
70 2 if(flag | temp) SEG_S = tab1[temp];
71 2 else SEG_S = 0xff;//数码管熄灭
72 2
73 2 //个位数码管
74 2 temp = number%10;
75 2 SEG_G = tab1[temp];
76 2 }
77 1 else {
78 2 SEG_Q = 0xbf;//"-"
79 2 SEG_B = 0xbf;
80 2 SEG_S = 0xbf;
81 2 SEG_G = 0xbf;
82 2 }
83 1 }//*/
84
85 //延时nms子程序,
86 void delay_ms(unsigned int n)
87 {
88 1 unsigned char j;
89 1 while(n--)
90 1 for(j=0;j<230;j++);//230是实验测试所得!
91 1 /*
92 1 参数n>0;
93 1 延时 1ms:delay_ms(1);
94 1 延时 11ms:delay_ms(11);
95 1 ……
96 1 */
97 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 234 ----
CONSTANT SIZE = 20 ----
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 + -