⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.lst

📁 C8051F020单片机的AD测试程序
💻 LST
📖 第 1 页 / 共 2 页
字号:
C51 COMPILER V7.02b   MAIN                                                                 10/31/2005 16:30:55 PAGE 1   


C51 COMPILER V7.02b, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN .\output\main.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE main.c DEBUG OBJECTEXTEND OBJECT(.\output\main.obj)

stmt level    source

   1          /************************************************************************************
   2          *  Copyright (c) 2004,西安铭朗电子科技有限责任公司
   3          *            All rights reserved.
   4          *
   5          * 文件名称: main.C
   6          * 文件标识: none
   7          * 适用器件: c8051f020
   8          * 
   9          * 摘 要: 本文件是AD测试实验;使用外部22.1184MHz晶振,将跳线器JP3短接
  10          *                 功能:开机显示"铭朗科技,WWW.MLARM.COM"信息,为待机界面。定义'A'~'F'为功能
  11          *                 键。按"A" 键,采样AIN0,1和温度通道信号,并在LCD上显示其电压和温度值,
  12          *                 也可以应用Uart0显示其电压和温度值。按"F"返回显示待机界面。
  13          *
  14          * 当前版本:1.0
  15          * 作 者:卢 阳
  16          * 完成日期:2004年11月14日
  17          *
  18          * 历史版本:0.9 
  19          * 原作者 : 李林利
  20          * 完成日期:2004年1月1日
  21          *************************************************************************************/
  22          
  23          /************************************************************************************/
  24          // 引用外部头文件
  25          
  26          #include "c8051f020.h"                
  27          #include <stdio.h>
  28          #include "Const.h"
  29          #include "ADC.h"
  30          #include "UART.h"
  31          #include "lcd.h"
  32          #include "Delay.h"
  33          
  34          /************************************************************************************/
  35          
  36          /************************************************************************************/
  37          // 全局变量
  38          /************************************************************************************/
  39          
  40          long result[9];                        // AIN0-7和温度传感器通道
  41                                                 // 采样结果
  42          //--  文字:  0,1,2,3,4,5,6,7,8,9    宽x高=8x16
  43          C_BYTE  WLib_Num_8x16[160]={
  44                          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,
  45                          0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00,0x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,
  46                          0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00,0x00,0x30,0x28,0x24,0x22,0x21,0x30,0x00,
  47                          0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00,0x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,
  48                          0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00,0x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,
  49                          0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00,0x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,
  50                          0x00,0xE0,0x10,0x88,0x88,0x18,0x00,0x00,0x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,
  51                          0x00,0x38,0x08,0x08,0xC8,0x28,0x18,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,
  52                          0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00,0x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,
  53                          0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00,0x00,0x08,0x31,0x22,0x22,0x11,0x0F,0x00
  54                          };
  55          //--  文字:通
C51 COMPILER V7.02b   MAIN                                                                 10/31/2005 16:30:55 PAGE 2   

  56          C_BYTE  WLib_tong_16x16[]={
  57          0x40,0x42,0x44,0xcc,0x00,0x00,0xf1,0x91,0x95,0xf9,0x95,0x93,0xf1,0x00,0x00,0x00,
  58          0x00,0x40,0x20,0x1f,0x20,0x40,0xbf,0x84,0x84,0xbf,0x94,0xa4,0x9f,0x80,0x80,0x80
  59          };
  60          //--  文字:道
  61          C_BYTE  WLib_dao_16x16[]={
  62          0x40,0x40,0x42,0xcc,0x00,0x04,0xe4,0xa5,0xb6,0xac,0xa6,0xa5,0xe4,0x04,0x00,0x00,
  63          0x00,0x40,0x20,0x1f,0x20,0x40,0x5f,0x4a,0x4a,0x4a,0x4a,0x4a,0x5f,0x40,0x40,0x00
  64          };
  65          //--  文字:温
  66          C_BYTE  WLib_wen_16x16[]={
  67          0x10,0x60,0x02,0x0c,0xc0,0x00,0xfe,0x92,0x92,0x92,0x92,0x92,0xfe,0x00,0x00,0x00,
  68          0x04,0x04,0x7e,0x01,0x40,0x7e,0x42,0x42,0x7e,0x42,0x7e,0x42,0x42,0x7e,0x40,0x00
  69          };
  70          //--  文字:毫
  71          C_BYTE  WLib_hao_16x16[]={
  72          0x00,0x82,0x82,0x82,0xba,0xaa,0xaa,0xab,0xaa,0xaa,0xba,0x82,0x82,0x82,0x80,0x00,
  73          0x02,0x01,0x40,0x44,0x54,0x54,0x54,0x7e,0xaa,0xaa,0xaa,0xa0,0x82,0xe1,0x00,0x00
  74          };
  75          //--  文字:度
  76          C_BYTE  WLib_du_16x16[]={
  77          0x00,0x00,0xfc,0x24,0x24,0x24,0xfc,0x25,0x26,0x24,0xfc,0x24,0x24,0x24,0x04,0x00,
  78          0x40,0x20,0x9f,0x80,0x84,0x4c,0x55,0x25,0x25,0x55,0x55,0x4c,0x84,0x80,0x80,0x00
  79          };
  80          //--  文字:伏
  81          C_BYTE  WLib_fu_16x16[]={
  82          0x80,0x40,0x20,0xf8,0x07,0x20,0x20,0x20,0x20,0xff,0x20,0x22,0x2c,0x20,0x20,0x00,
  83          0x00,0x00,0x00,0xff,0x80,0x40,0x20,0x18,0x06,0x01,0x06,0x18,0x60,0xc0,0x40,0x00
  84          };
  85          //--  符号:
  86          C_BYTE  WLib_maohao_8x16[]={
  87          0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00,
  88          0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00
  89          };
  90          //--  符号。
  91          C_BYTE  WLib_dian_8x16[]={
  92          0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  93          0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00
  94          };
  95          
  96          /***********************************************************************************
  97          * 函数名称:ADC0_ISR;
  98          *
  99          * 函数功能描述:中断服务响应;ADC0 采样,存储在全局数组result中,选择下个通道转换
 100          *              
 101          * 输入参数:none;
 102          *
 103          * 返回数据:none;
 104          *
 105          * 注意:    none;
 106          ************************************************************************************/
 107          
 108          void ADC0_ISR (void) interrupt 15
 109          {
 110   1         static unsigned char channel = 0;   // ADC mux 通道 (0-8)
 111   1         unsigned short data temp;
 112   1      
 113   1         AD0INT = 0;                         // 清除ADC转换完成标志
 114   1      
 115   1         //result[channel] = ADC0;             // 读ADC值
 116   1         temp = ADC0H;
 117   1         temp = temp*256 + ADC0L;
C51 COMPILER V7.02b   MAIN                                                                 10/31/2005 16:30:55 PAGE 3   

 118   1         result[channel] = temp;             // 读ADC值
 119   1      
 120   1         channel++;                          // 改变通道
 121   1         if (channel == 9) {
 122   2            channel = 0;
 123   2         }
 124   1      
 125   1         AMX0SL = channel;                   // 设置mux到下个通道
 126   1      }
 127          
 128          /************************************************************************************
 129          //  主循环程序
 130          *************************************************************************************/
 131          
 132          void main (void) 
 133          {
 134   1              unsigned long voltage;              // 电压值(毫伏)
 135   1              unsigned long tp;
 136   1              int i;                              // 循环计数器
 137   1                                              
 138   1              WDTCN = 0xde;                       
 139   1              WDTCN = 0xad;
 140   1      
 141   1              SYSCLK_Init();                      
 142   1              PORT_Init();                        
 143   1              lcd_init();    
 144   1          UART0_Init();                       // UART0初始化
 145   1          Timer3_Init(SYSCLK/SAMPLERATE0);    // 初始化Timer3溢出的值
 146   1      
 147   1          ADC0_Init ();                       // ADC初始化
 148   1      
 149   1              dis_full();
 150   1              dis_clr();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -