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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 5277|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

請(qǐng)教一個(gè)關(guān)于單片機(jī)系統(tǒng)多參數(shù)的存取問(wèn)題,高手留步!

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:24568 發(fā)表于 2010-6-18 14:16 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式

  這種問(wèn)題對(duì)于做過(guò)的朋友來(lái)說(shuō)是相當(dāng)簡(jiǎn)單,但是還是請(qǐng)走過(guò)路過(guò)的高手朋友,耽擱幾秒看一下,留個(gè)腳印!:)新手在此感謝!


#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)//按鍵參數(shù)設(shè)置 { init_uart();//打開(kāi)串口 //兩個(gè)51單片機(jī)雙機(jī)通信 } 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]);//這里的存儲(chǔ)是原作者寫(xiě)的,但是我試過(guò)了還是存不住。 delay_ms(100); read_add(0xa0); } } 哪位朋友能幫我看看這程序,我要把每一次 switch(team_data[0])的team_data[0]值存起來(lái)(放在24C02當(dāng)中),但是switch每選一個(gè)值就發(fā)送出去了一次,到最后只能存住一個(gè)switch內(nèi)的參數(shù), 我想過(guò)如下分開(kāi)寫(xiě): ...... case 0xa1: dis(); write_add(team_data[0]); break; ...... 但還是不行,請(qǐng)指教, 主程序內(nèi)我想改成如下: void main() { init(); while(1) { if(!parameter)//按鍵參數(shù)設(shè)置 { init_uart();//打開(kāi)串口 //兩個(gè)51單片機(jī)雙機(jī)通信 } else { read_add();//讀出存儲(chǔ)參數(shù) } current(); //顯示電流 } } 不知這種結(jié)構(gòu)是否存在問(wèn)題??? ...... 還有幾個(gè)其它的問(wèn)題也想問(wèn)一下: 1,為什么team_data[0]定義為兩個(gè)零? 2,i++; if(i>1) i=0; if(i==0) 這怎么理解? ......




  以前剛學(xué)單片機(jī)的時(shí)候都是寫(xiě)的己知,且單個(gè)數(shù)據(jù),最近接觸一個(gè)大程序有點(diǎn)生硬,我知道這是一個(gè)多參數(shù)的存儲(chǔ)與讀取,由于沒(méi)有做過(guò),在思緒方面太模糊,這件事又很急,一下子又找不到怎么辦,才來(lái)請(qǐng)教大家,請(qǐng)大家多多指點(diǎn),多多指點(diǎn)!
......
有時(shí)間的朋友幫我寫(xiě)一個(gè)參考程序,萬(wàn)分感激!
......
急急急~~~~~~~~~~~~~~~~

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

使用道具 舉報(bào)

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

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

uchar team_data[2]={0,0};//這個(gè)里面的0是把數(shù)組team_data內(nèi)的每個(gè)參數(shù)初始化為0的意思

 

i++;
   if(i>1) i=0;
   if(i==0)    //這里的i是用來(lái)計(jì)數(shù)用的,因?yàn)槟闱懊娑x了一個(gè)只有可以存放2個(gè)變量的數(shù)組team_data,所以在串口接收到的數(shù)就分別存到了team_data[0]和team_data[1]中,當(dāng)i>1的時(shí)候,就要把數(shù)重新放到team_data[0]中,這就需要把i重新賦值為0。

 

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区日 | 欧美啪啪| 天天搞天天操 | 草草影院ccyy | 日韩免费一区 | 亚洲福利网站 | 在线免费观看a级片 | 精品一区二区在线观看 | 夜夜艹| 亚洲精精品 | 99精品免费视频 | 欧美成年视频 | 午夜天堂精品久久久久 | 久久99网| 四虎影音 | 欧美寡妇偷汉性猛交 | 午夜一区| 亚洲国产第一页 | 国产区精品视频 | 日韩成人在线播放 | 在线观看亚洲一区二区 | 日韩高清中文字幕 | 亚洲国产网站 | 九九九视频在线观看 | 久久国产精品72免费观看 | 成人av网站在线观看 | 欧洲视频一区二区 | 龙珠z在线观看 | 黑人精品xxx一区一二区 | 精品一区二区三区免费视频 | 精品自拍视频 | 日韩一区二区在线看 | 九九精品热| 日批免费观看 | 盗摄精品av一区二区三区 | 午夜影院在线视频 | 国产精品久久久久久亚洲调教 | 男女视频在线观看免费 | 午夜一级做a爰片久久毛片 精品综合 | 91亚洲精选| 99国产精品99久久久久久 |