亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? text.lst

?? 基與mpx4115壓力測量儀
?? LST
字號:
C51 COMPILER V7.08   TEXT                                                                  04/28/2007 09:34:37 PAGE 1   


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

line level    source

   1          /********************************************************
   2                             壓力測試儀
   3          系統描述;輸入  15--115kPA壓力信號
   4                   輸出  00h--ffh數字信號(adc0809)
   5                   在LED上顯示實際的壓力值,如果超限則報警
   6          
   7          線性區間標度變換公式:    y=(115-15)/(243-13)*X+15kpa   
   8          
   9          作者:yiwei /一維        QQ:284997953
  10          單位:eeec-shaanxi university of techmology
  11          日期:2007.4.28
  12          問題描述: 仿真時顯示值不隨模擬輸入壓力信號的變換而變換
  13          
  14          注意事項: 在實際電路板上測試時一切均正常,顯示值隨模
  15                     擬輸入壓力信號的變換而變換。
  16          
  17          ********************************************************/
  18          
  19          #include<reg51.h>
  20          #include<intrins.h>
  21          #include <absacc.h>
  22          #include <math.h>
  23          
  24          #define uchar unsigned char
  25          #define uint   unsigned int
  26          #define BUSY  0x80                               //常量定義
  27          #define DATAPORT P0
  28          #define ADC_adress XBYTE[0X7FF8]                 //AD的地址
  29          
  30          
  31          sbit LCM_RS=P2^0;
  32          sbit LCM_RW=P2^1;
  33          sbit LCM_EN=P2^2;
  34          sbit ad_busy=P3^2;
  35          uchar ad_data;                                    //采樣值存儲
  36          sbit Alarm_led_red =P1^5;                         //超過壓力表量程最大值紅色led報警定義
  37          sbit Alarm_led_green=P1^6;                        //低于壓力表量程最小值綠色led報警定義
  38          unsigned char ad_data;                            //adc采樣值存儲單元
  39          char press_data;                                  //標度變換存儲單元
  40          unsigned char ad_alarm;                           //報警值存儲單元
  41          unsigned char press_bai=0;                        //顯示值百位
  42          unsigned char press_shi=0;                        //顯示值十位
  43          unsigned char press_ge=0;                         //顯示值個位
  44          unsigned char press_dot=0;                        //顯示值十分位
  45          
  46          uchar code str0[]={" press:   . kpa "};
  47          uchar code str1[]={" yi wei dian zi "};
  48          
  49          void delay(uint);
  50          void lcd_wait(void);
  51          void delay_LCM(uint);                                                                                                   //LCD延時子程序
  52          void initLCM( void);                                                                                                    //LCD初始化子程序
  53          void lcd_wait(void);                                                                                                    //LCD檢測忙子程序
  54          void WriteCommandLCM(uchar WCLCM,uchar BusyC);                              //寫指令到ICM子函數
  55          void WriteDataLCM(uchar WDLCM);                                             //寫數據到LCM子函數
C51 COMPILER V7.08   TEXT                                                                  04/28/2007 09:34:37 PAGE 2   

  56          void DisplayOneChar(uchar X,uchar Y,uchar DData);                           //顯示指定坐標的一個字符子函數
  57          void DisplayListChar(uchar X,uchar Y,uchar code *DData);                    //顯示指定坐標的一串字符子函數
  58          void display(void);                                                         //系統顯示子函數
  59          void adc0809(void);                                                                                                                     
  60          void alarm(void);
  61          void data_pro(void);
  62          
  63          
  64          /**********main funcation************/
  65          
  66          void main(void)
  67          { 
  68   1          delay(500);                      //系統延時500ms啟動
  69   1              ad_data=0;                       //采樣值存儲單元初始化為0
  70   1              initLCM( );
  71   1              
  72   1              WriteCommandLCM(0x01,1);                    //清顯示屏
  73   1          DisplayListChar(0,0,str0);
  74   1              DisplayListChar(0,1,str1);
  75   1       
  76   1              while(1)
  77   1          {
  78   2               
  79   2                  adc0809();
  80   2                      data_pro();
  81   2                      alarm();
  82   2                      display();
  83   2                                       
  84   2              }
  85   1      }
  86          
  87          
  88          /*********延時K*1ms,12.000mhz**********/
  89          
  90          void delay(uint k)
  91          {
  92   1          uint i,j;
  93   1          for(i=0;i<k;i++)
  94   1          {
  95   2              for(j=0;j<60;j++)
  96   2                      {;}
  97   2          }
  98   1      }   
  99          /**********寫指令到ICM子函數************/
 100          
 101          void WriteCommandLCM(uchar WCLCM,uchar BusyC)
 102          {
 103   1          if(BusyC)lcd_wait();
 104   1              DATAPORT=WCLCM;
 105   1          LCM_RS=0;                   // 選中指令寄存器
 106   1          LCM_RW=0;                   // 寫模式       
 107   1          LCM_EN=1;    
 108   1              _nop_();   
 109   1              _nop_();
 110   1              _nop_(); 
 111   1          LCM_EN=0;
 112   1         
 113   1      }
 114          
 115          /**********寫數據到LCM子函數************/
 116          
 117          void WriteDataLCM(uchar WDLCM)
C51 COMPILER V7.08   TEXT                                                                  04/28/2007 09:34:37 PAGE 3   

 118          { 
 119   1          lcd_wait( );             //檢測忙信號    
 120   1              DATAPORT=WDLCM;
 121   1          LCM_RS=1;                // 選中數據寄存器
 122   1          LCM_RW=0;                    // 寫模式
 123   1          LCM_EN=1;
 124   1          _nop_();
 125   1              _nop_();
 126   1              _nop_();
 127   1          LCM_EN=0;
 128   1      }
 129          
 130          /***********lcm內部等待函數*************/
 131          
 132          void lcd_wait(void)
 133          {
 134   1          DATAPORT=0xff;           //讀LCD前若單片機輸出低電平,而讀出LCD為高電平,則沖突,Proteus仿真會有顯示邏輯黃色
 135   1              LCM_EN=1;
 136   1          LCM_RS=0;   
 137   1          LCM_RW=1;   
 138   1          _nop_();
 139   1          _nop_();
 140   1              _nop_();
 141   1          while(DATAPORT&BUSY)  
 142   1              {  LCM_EN=0;
 143   2                 _nop_();
 144   2                 _nop_();
 145   2                 LCM_EN=1;
 146   2                 _nop_();
 147   2                 _nop_();
 148   2                 }     
 149   1              LCM_EN=0;       
 150   1              
 151   1      }
 152          
 153          /**********LCM初始化子函數***********/
 154          
 155          void initLCM( )
 156          {   
 157   1              DATAPORT=0;     
 158   1              delay(15);
 159   1              WriteCommandLCM(0x38,0);    //三次顯示模式設置,不檢測忙信號
 160   1          delay(5); 
 161   1          WriteCommandLCM(0x38,0);
 162   1          delay(5); 
 163   1          WriteCommandLCM(0x38,0);
 164   1          delay(5); 
 165   1      
 166   1          WriteCommandLCM(0x38,1);    //8bit數據傳送,2行顯示,5*7字型,檢測忙信號
 167   1          WriteCommandLCM(0x08,1);    //關閉顯示,檢測忙信號
 168   1          WriteCommandLCM(0x01,1);    //清屏,檢測忙信號
 169   1          WriteCommandLCM(0x06,1);    //顯示光標右移設置,檢測忙信號
 170   1          WriteCommandLCM(0x0c,1);    //顯示屏打開,光標不顯示,不閃爍,檢測忙信號
 171   1      }
 172          
 173          /****顯示指定坐標的一個字符子函數****/
 174          
 175          void DisplayOneChar(uchar X,uchar Y,uchar DData)
 176          
 177          {
 178   1          Y&=1;
 179   1          X&=15;
C51 COMPILER V7.08   TEXT                                                                  04/28/2007 09:34:37 PAGE 4   

 180   1          if(Y)X|=0x40;               //若y為1(顯示第二行),地址碼+0X40
 181   1          X|=0x80;                    //指令碼為地址碼+0X80
 182   1          WriteCommandLCM(X,0);
 183   1          WriteDataLCM(DData);
 184   1      }
 185          
 186          /*******顯示指定坐標的一串字符子函數*****/
 187           
 188          void DisplayListChar(uchar X,uchar Y,uchar code *DData)
 189          {
 190   1          uchar ListLength=0;
 191   1          Y&=0x01;
 192   1          X&=0x0f;
 193   1          while(X<16)
 194   1          {
 195   2              DisplayOneChar(X,Y,DData[ListLength]);
 196   2              ListLength++;
 197   2              X++;
 198   2          }
 199   1      }
 200          
 201           /*****************系統顯示子函數*****************/
 202          
 203          void display(void)
 204          {
 205   1              WriteCommandLCM(0x0c,1);                                //顯示屏打開,光標不顯示,不閃爍,檢測忙信號    
 206   1              DisplayListChar(0,0,str0);      
 207   1              DisplayListChar(0,1,str1);      
 208   1      
 209   1      
 210   1              DisplayOneChar(7,0,press_bai+0x30);
 211   1              DisplayOneChar(8,0,press_shi+0x30);
 212   1              DisplayOneChar(9,0,press_ge +0x30);
 213   1          DisplayOneChar(11,0,press_dot+0x30);
 214   1              delay(1000);                               //穩定顯示
 215   1      }
 216          
 217          /******************adc0809采樣子函數******************/
 218          
 219          void adc0809(void) 
 220          {
 221   1              ADC_adress=0;                                                    //啟動adc轉換
 222   1              delay(1);                                                                        //延時5ms
 223   1          ad_data=ADC_adress;                          //將采集數據送到 ad_data變量中
 224   1          
 225   1      }
 226          
 227          /***********************數據處理子函數************************/
 228          
 229          void data_pro(void)
 230          {
 231   1            unsigned int temp;
 232   1            float  press;                       
 233   1      
 234   1                if(14<ad_data<243)                                   //當壓力值介于15kpa到115kpa之間時,遵循線性變換
 235   1                      {                           
 236   2                          int vary=ad_data;                                           //y=(115-15)/(243-13)*X+15kpa                   
 237   2                              press=((10.0/23.0)*vary)+10;                    //測試時補償值為10
 238   2                                                                                                                        
 239   2                              temp=(int)(press*10);                   //放大10倍,便于后面的計算
 240   2                                                                                              
 241   2                                                                                                              
C51 COMPILER V7.08   TEXT                                                                  04/28/2007 09:34:37 PAGE 5   

 242   2                              press_bai=temp/1000;                            //取壓力值百位
 243   2                              press_shi=(temp%1000)/100;                      //取壓力值十位
 244   2                              press_ge=((temp%1000)%100)/10;          //取壓力值個位
 245   2                              press_dot=((temp%1000)%100)%10;                 //取壓力值十分位
 246   2      
 247   2                         }
 248   1      
 249   1                  
 250   1                               
 251   1      }
 252          /*****************報警子函數*******************/
 253          
 254          void alarm(void)
 255          {
 256   1               if(ad_data>=244)                           //如果當前壓力值大于115kpa,
 257   1      
 258   1                {  Alarm_led_red=0; }                 //則啟動red led報警
 259   1              
 260   1                else
 261   1                   {    Alarm_led_red=1; }                    //關閉red led 報警
 262   1                         
 263   1              
 264   1                if(ad_data<=13)                                                       //如果當前壓力值小于15kpa
 265   1      
 266   1                   {  Alarm_led_green=0;  }               //則啟動green led報警
 267   1      
 268   1            else
 269   1                   {   Alarm_led_green=1; }                           //關閉green  led 報警
 270   1               
 271   1      }
 272          
 273          
 274          


MODULE INFORMATION:   STATIC OVERLAYABLE
   CODE SIZE        =    629    ----
   CONSTANT SIZE    =     34    ----
   XDATA SIZE       =   ----    ----
   PDATA SIZE       =   ----    ----
   DATA SIZE        =      7      14
   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 + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美另类z0zxhd电影| 国产欧美日韩不卡免费| 不卡电影一区二区三区| 亚洲成av人片在www色猫咪| 国产日韩欧美综合一区| 欧美日本在线播放| 91天堂素人约啪| 极品少妇xxxx偷拍精品少妇| 一区二区成人在线视频| 久久精品人人做人人爽人人| 欧美精品自拍偷拍| 色综合久久88色综合天天6| 国产一区二区三区精品视频| 日本午夜一区二区| 一区二区三区国产豹纹内裤在线| 亚洲国产精品精华液ab| 欧美xxxxxxxx| 日韩天堂在线观看| 欧美无砖专区一中文字| 99久久99久久综合| 国产高清不卡一区二区| 韩国理伦片一区二区三区在线播放 | 国产成人在线观看免费网站| 免费高清在线一区| 日本美女一区二区| 亚洲成人先锋电影| 一区二区三区.www| 亚洲精品国产成人久久av盗摄| 久久久国产精品午夜一区ai换脸| 欧美不卡激情三级在线观看| 欧美日韩在线三级| 欧美性生交片4| 欧美综合视频在线观看| 色婷婷国产精品久久包臀| 93久久精品日日躁夜夜躁欧美| 粉嫩av一区二区三区在线播放| 国产在线观看免费一区| 国产综合色在线| 国产成人精品免费| 国产成人无遮挡在线视频| 粉嫩欧美一区二区三区高清影视| 国产一区二区成人久久免费影院 | 91麻豆免费观看| a级高清视频欧美日韩| k8久久久一区二区三区 | 国产成人免费视频网站高清观看视频 | 日韩欧美色综合网站| 欧美一区二区大片| 精品美女在线播放| 久久精品网站免费观看| 国产女主播一区| 国产精品麻豆欧美日韩ww| 亚洲欧美偷拍另类a∨色屁股| 亚洲狼人国产精品| 亚洲成人一区二区| 麻豆91在线播放| 国产精品一二三区| 成人av免费观看| 色噜噜久久综合| 777色狠狠一区二区三区| 欧美大片在线观看一区| 国产女人水真多18毛片18精品视频| 久久精品这里都是精品| 亚洲蜜桃精久久久久久久| 亚洲大片免费看| 国产自产v一区二区三区c| 成人美女视频在线观看| 日本韩国一区二区三区视频| 欧美精品欧美精品系列| 亚洲精品在线观看网站| 国产精品久久久久久久久搜平片| 亚洲男人的天堂在线观看| 午夜精品福利一区二区三区av | 亚洲丝袜另类动漫二区| 亚洲一区二区精品久久av| 蜜臀av性久久久久蜜臀aⅴ四虎 | 欧美精品一卡二卡| 久久久久久久久久久99999| 亚洲美女在线国产| 老汉av免费一区二区三区| 成人丝袜高跟foot| 欧美日韩国产不卡| 国产日本欧洲亚洲| 亚洲国产精品天堂| 国产高清久久久| 在线播放/欧美激情| 国产亚洲欧洲一区高清在线观看| 亚洲免费观看高清完整版在线观看 | 7777精品伊人久久久大香线蕉完整版 | 欧美一区二区女人| 国产精品黄色在线观看| 日本午夜精品视频在线观看| 成人黄色电影在线| 日韩欧美中文字幕精品| 国产精品美女久久久久久| 日本三级亚洲精品| 在线国产电影不卡| 国产拍揄自揄精品视频麻豆| 天天综合日日夜夜精品| 91小视频在线观看| 精品国产伦一区二区三区免费| 亚洲欧美成人一区二区三区| 国产一区二区精品久久| 91精品国产综合久久香蕉的特点| 国产精品二区一区二区aⅴ污介绍| 日韩精彩视频在线观看| 91麻豆精品视频| 久久精品水蜜桃av综合天堂| 视频在线观看91| 在线一区二区三区四区五区| 中文一区一区三区高中清不卡| 免费成人在线视频观看| 精品视频123区在线观看| 综合欧美一区二区三区| 风流少妇一区二区| 亚洲精品一区二区三区香蕉| 日本美女一区二区三区视频| 在线观看精品一区| 亚洲精品一二三四区| a级精品国产片在线观看| 国产午夜精品久久久久久免费视| 久久狠狠亚洲综合| 日韩一级高清毛片| 日韩高清不卡在线| 欧美日韩大陆在线| 午夜av区久久| 欧美性极品少妇| 亚洲一区二区三区四区在线观看| a在线欧美一区| 亚洲欧洲日韩av| av在线播放一区二区三区| 欧美激情一区二区三区全黄| 国产精华液一区二区三区| 久久综合久久综合久久| 国产在线视频一区二区三区| 欧美成人性战久久| 另类小说视频一区二区| 欧美成人官网二区| 久久国产精品色| 2014亚洲片线观看视频免费| 久久69国产一区二区蜜臀| 337p日本欧洲亚洲大胆色噜噜| 麻豆91精品91久久久的内涵| 久久综合久久鬼色| 国产成人精品免费视频网站| 国产精品伦理一区二区| 99国产精品久| 亚洲综合图片区| 欧美精品少妇一区二区三区| 日韩精品免费专区| 日韩精品一区二区三区蜜臀| 国产精品一二二区| 亚洲欧洲日本在线| 欧美日韩精品三区| 久久精品999| 国产精品久久久久一区二区三区 | 久久精品人人爽人人爽| 国产一区二区福利| 亚洲色图色小说| 欧美色精品天天在线观看视频| 日产精品久久久久久久性色| 精品成人一区二区三区四区| 成人午夜在线播放| 亚洲国产精品久久不卡毛片| 欧美一区二区三区日韩| 国产麻豆精品95视频| 亚洲精品免费一二三区| 欧美一级淫片007| 国产69精品久久777的优势| 亚洲日本欧美天堂| 日韩免费高清电影| 成人黄动漫网站免费app| 亚洲午夜影视影院在线观看| 日韩免费看的电影| 99国产精品久久久久久久久久 | 亚洲美女在线一区| 欧美大片在线观看| 色综合久久九月婷婷色综合| 久久99国产精品久久99| 亚洲精品视频免费看| 精品国产免费一区二区三区四区 | 亚洲国产视频a| 国产喂奶挤奶一区二区三区| 欧美曰成人黄网| 国产剧情一区二区| 午夜精品久久久久久久99樱桃| 久久久久久久久久久电影| 欧美日韩和欧美的一区二区| 国产69精品久久777的优势| 香蕉久久一区二区不卡无毒影院| 久久麻豆一区二区| 欧美肥大bbwbbw高潮| 不卡一区在线观看| 青青草原综合久久大伊人精品| 亚洲图片另类小说| 久久综合网色—综合色88| 欧美精品黑人性xxxx| 91社区在线播放| 国产一区二区在线视频| 天使萌一区二区三区免费观看|