久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5270|回復: 1
打印 上一主題 下一主題
收起左側

請教一個關于單片機系統多參數的存取問題,高手留步!

[復制鏈接]
跳轉到指定樓層
樓主
ID:24568 發表于 2010-6-18 14:16 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

  這種問題對于做過的朋友來說是相當簡單,但是還是請走過路過的高手朋友,耽擱幾秒看一下,留個腳印!:)新手在此感謝!


#include< reg51.h> #include< intrins.h> #define uint unsigned int #define uchar unsigned char sbit parameter=P0^4;//if parameter=1;set parameter mode,if parameter=0;finish set parameter uchar team_data[2]={0,0}; uchar i=0; void main() { init(); while(1) { while(!parameter)//按鍵參數設置 { init_uart();//打開串口 //兩個51單片機雙機通信 } current(); //顯示電流 } } //-----------------------------this is the intrrupt to receive data----------------------- void init_uart(void) { SCON=0X50; TMOD=0x20; TL1=0xfa; TH1=0xfa; PCON=0x00; TR1=1; ES=1; EA=1; } void uart(void) interrupt 4 //這里怎么不用interrupt“0、1、2、3” { if(RI==1) { RI=0; team_data=SBUF; i++; if(i>1) i=0; if(i==0) switch(team_data[0]) { case 0xb1: AAA();break; case 0xa1: BBB();break; case 0xa2: CCC();break; case 0xa3: DDD();break; case 0xa4: EEE();break; case 0xa5: FFF();break; default: ;break; } write_add(0xa0,team_data[0]);//這里的存儲是原作者寫的,但是我試過了還是存不住。 delay_ms(100); read_add(0xa0); } } 哪位朋友能幫我看看這程序,我要把每一次 switch(team_data[0])的team_data[0]值存起來(放在24C02當中),但是switch每選一個值就發送出去了一次,到最后只能存住一個switch內的參數, 我想過如下分開寫: ...... case 0xa1: dis(); write_add(team_data[0]); break; ...... 但還是不行,請指教, 主程序內我想改成如下: void main() { init(); while(1) { if(!parameter)//按鍵參數設置 { init_uart();//打開串口 //兩個51單片機雙機通信 } else { read_add();//讀出存儲參數 } current(); //顯示電流 } } 不知這種結構是否存在問題??? ...... 還有幾個其它的問題也想問一下: 1,為什么team_data[0]定義為兩個零? 2,i++; if(i>1) i=0; if(i==0) 這怎么理解? ......




  以前剛學單片機的時候都是寫的己知,且單個數據,最近接觸一個大程序有點生硬,我知道這是一個多參數的存儲與讀取,由于沒有做過,在思緒方面太模糊,這件事又很急,一下子又找不到怎么辦,才來請教大家,請大家多多指點,多多指點!
......
有時間的朋友幫我寫一個參考程序,萬分感激!
......
急急急~~~~~~~~~~~~~~~~

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:23004 發表于 2010-6-18 23:20 | 只看該作者

void uart(void) interrupt 4    //這里怎么不用interrupt“0、1、2、3”  這個是定義串口中斷函數的,當然用4啦!0123分別對應不同的中斷或者定時器。
{
   if(RI==1)
{
   RI=0;
   team_data=SBUF;
   i++;
   if(i>1) i=0;
   if(i==0)

uchar team_data[2]={0,0};//這個里面的0是把數組team_data內的每個參數初始化為0的意思

 

i++;
   if(i>1) i=0;
   if(i==0)    //這里的i是用來計數用的,因為你前面定義了一個只有可以存放2個變量的數組team_data,所以在串口接收到的數就分別存到了team_data[0]和team_data[1]中,當i>1的時候,就要把數重新放到team_data[0]中,這就需要把i重新賦值為0。

 

回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人一级黄色毛片 | 久久99精品久久久 | 91色在线| 日韩电影中文字幕在线观看 | 国产精品亚洲一区二区三区在线 | 亚洲日韩中文字幕一区 | 国产一级视频在线观看 | 欧美一区二区三区 | 欧美黄色片在线观看 | 国产有码| 久久夜色精品国产 | 欧美日韩淫片 | 久久久久久久综合色一本 | 99精品久久久 | 国产中文字幕亚洲 | 国产成人短视频在线观看 | 亚州综合一区 | 一区二区精品视频 | 日本不卡免费新一二三区 | 国产激情在线观看视频 | 日本不卡一区二区 | 国产精品久久久久久久久久三级 | 久久国产成人午夜av影院武则天 | 亚洲高清在线观看 | 国产高清免费 | 欧美视频在线观看 | 不卡一区二区在线观看 | 欧美精品福利视频 | 精品国产一区二区三区性色av | 男人的天堂视频网站 | 99精品免费 | 国产在线视频一区二区 | 黄网址在线观看 | 黄色大片在线播放 | 日韩中文字幕视频在线观看 | av免费在线播放 | 日韩中文字幕 | www.日本在线播放 | 欧美999 | 国产精品视频一区二区三区不卡 | 国产视频中文字幕 |