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

📄 text1.lst

📁 关于51单片机控制595驱动的数码管程序
💻 LST
字号:
C51 COMPILER V7.50   TEXT1                                                                 08/07/2008 16:48:48 PAGE 1   


C51 COMPILER V7.50, COMPILATION OF MODULE TEXT1
OBJECT MODULE PLACED IN Text1.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Text1.c BROWSE DEBUG OBJECTEXTEND

line level    source

   1          /********************************************************************************************
   2          * 文 件 名:test1.c
   3          * 功    能:四位数码管静态显示(共阳) 
   4          * 硬件条件:1.CPU型号:AT89S52
   5          *           2.晶振:12.000MHz
   6          *           3.用跳线帽短接P0.0_SI1
   7          *             用跳线帽短接P0.1_RCK1
   8          *             用跳线帽短接P0.2_SCK1
   9          *             用跳线帽短接P0.3_SMG1
  10          *             用跳线帽短接P0.4_SMG2
  11          *             用跳线帽短接P0.5_SMG3
  12          *             用跳线帽短接P0.6_SMG4
  13          * 作    者:韩泉城
  14          *********************************************************************************************/
  15          #include "reg52.h"                               // 包含头文件    
  16          
  17          /* 与编译器无关的数据类型定义 */
  18          /********************************************************************************************/
  19          typedef unsigned char      uint8;                // 无符号8位整型变量
  20          typedef signed   char      int8;                 // 有符号8位整型变量
  21          typedef unsigned short     uint16;               // 无符号16位整型变量
  22          typedef signed   short     int16;                // 有符号16位整型变量
  23          typedef unsigned int       uint32;               // 无符号32位整型变量
  24          typedef signed   int       int32;                // 有符号32位整型变量
  25          typedef float              fp32;                 // 单精度浮点数(32位长度)
  26          typedef double             fp64;                 // 双精度浮点数(64位长度)
  27          /********************************************************************************************/
  28          /* 定义位变量 */
  29          sbit P0_0 = P0 ^ 0;                                                       
  30          sbit P0_1 = P0 ^ 1;                                                       
  31          sbit P0_2 = P0 ^ 2;                                                       
  32          sbit P0_3 = P0 ^ 3;                                                       
  33          sbit P0_4 = P0 ^ 4;                                                       
  34          sbit P0_5 = P0 ^ 5;                                                       
  35          sbit P0_6 = P0 ^ 6;   
  36          
  37          
  38          #define SMG1_ON()        (P0_3=0)                // 定义"SMG1_ON()"为P0.3输出低电平,选中数码管1
  39          #define SMG1_OFF()       (P0_3=1)                // 定义"SMG1_OFF()"为P0.3输出高电平,不选中数码管1
  40          #define SMG2_ON()        (P0_4=0)                // 定义"SMG2_ON()"为P0.4输出低电平,选中数码管2
  41          #define SMG2_OFF()       (P0_4=1)                // 定义"SMG2_OFF()"为P0.4输出高电平,不选中数码管2
  42          #define SMG3_ON()        (P0_5=0)                // 定义"SMG3_ON()"为P0.5输出低电平,选中数码管3
  43          #define SMG3_OFF()       (P0_5=1)                // 定义"SMG3_OFF()"为P0.5输出高电平,不选中数码管3
  44          #define SMG4_ON()        (P0_6=0)                // 定义"SMG4_ON()"为P0.6输出低电平,选中数码管4
  45          #define SMG4_OFF()       (P0_6=1)                // 定义"SMG4_OFF()"为P0.6输出高电平,不选中数码管4   
  46          #define SMG_ALL_OFF()     P0_3=1;P0_4=1;P0_5=1;P0_6=1     //全部数码管都不选中
  47          #define SMG_ALL_ON()      P0_3=0;P0_4=0;P0_5=0;P0_6=0     //全部数码管都被选中
  48          
  49          
  50          #define char_0           0xc0                    // 字符'0'的数码管显示编码
  51          #define char_1           0xf9                    // 字符'1'的数码管显示编码
  52          #define char_2           0xa4                    // 字符'2'的数码管显示编码
  53          #define char_3           0xb0                    // 字符'3'的数码管显示编码
  54          #define char_4           0x99                    // 字符'4'的数码管显示编码
  55          #define char_5           0x92                    // 字符'5'的数码管显示编码
C51 COMPILER V7.50   TEXT1                                                                 08/07/2008 16:48:48 PAGE 2   

  56          #define char_6           0x82                    // 字符'6'的数码管显示编码
  57          #define char_7           0xf8                    // 字符'7'的数码管显示编码
  58          #define char_8           0x80                    // 字符'8'的数码管显示编码
  59          #define char_9           0x90                    // 字符'9'的数码管显示编码
  60          #define char_A           0x88                    // 字符'A'的数码管显示编码
  61          #define char_b           0x83                    // 字符'b'的数码管显示编码
  62          #define char_C           0xc6                    // 字符'C'的数码管显示编码
  63          #define char_d           0xa1                    // 字符'd'的数码管显示编码
  64          #define char_E           0x86                    // 字符'E'的数码管显示编码
  65          #define char_F           0x8e                    // 字符'F'的数码管显示编码
  66          #define char_y           0x91                    // 字符'y'的数码管显示编码
  67          
  68          #define char_empty       0xff                    // 单个数码管清空显示编码
  69          #define char_full        0x00                    // 单个数码管全选显示编码
  70          
  71          
  72          #define SI1_H()          (P0_0=1)                // 定义"SI1_H()"为P0.0输出高电平,作为74HC595的数据输入信
             -号
  73          #define SI1_L()          (P0_0=0)                // 定义"SI1_L()"为P0.0输出低电平,作为74HC595的数据输入信
             -号  
  74          
  75          #define RCK1_H()         (P0_1=1)                // 定义"RCK1_H()"为P0.1输出高电平,作为74HC595的片选输入

⌨️ 快捷键说明

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