藍橋杯嵌入式 第九屆決賽試題(電子秤)

2021-09-20 18:49:31 字數 1785 閱讀 6781

第九屆決賽試題(電子秤),在群檔案裡找到,應該是第九屆的決賽題目。

先放上去**及題目,後面部落格慢慢寫哈!

1、題目要求

可以看出來第九屆國賽使用了擴充套件板的內容,並且使用到的外設主要有adc、gpio、串列埠、lcd。

2、初始化

void init(void)

初始化函式主要做了以下幾個功能:

-初始化led以及鎖存器的gpio(只用到了led1僅需配置pc8即可)

-初始化adc及dma(adc按鍵以及電位器雙通道)

-初始化usart2(只用到了傳送功能)

3、串列埠操作函式

在串列埠這部分只用到了傳送功能,所以首先寫出乙個傳送字串的函式。在傳送函式的基礎上寫出兩個滿足題目要求的傳送引數以及**的函式。這部分比較簡單,僅需要注意到題目要求每次傳送的是三行記得加換行符就好。

4、按鍵操作

按鍵這部分用到的是adc按鍵,根據下面的電路圖可以看出初始adc採集到0v,根據不同的按鍵按下就採取了不同的電阻進行分壓,根據採集到的電壓不同即可判斷出是哪個按鍵被按下。需要注意的是不同的板子可能會有差別,所以在判斷時應該給乙個較寬範圍。

}if(i<800) //短按

price[hw[1]-1] += 0.01;

if(price[hw[1]-1]>10) //上限

price[hw[1]-1]=10;}}

} //3333333333333333

else if(adcvalue[1] > 1000 && adcvalue[1] < 1300)

}if(i<800) //短按

price[hw[1]-1] -= 0.01;

if(price[hw[1]-1]<0)

price[hw[1]-1]=0;}}

} //4444444444444

else if(adcvalue[1] > 1700 && adcvalue[1] < 2000)

} } //55555555555555

else if(adcvalue[1] > 2200 && adcvalue[1] < 2400)

}//66666666666666

else if(adcvalue[1] > 2620 && adcvalue[1] < 2850)

}//777777777777777

else if(adcvalue[1] > 3000 && adcvalue[1] < 3300)

}//888888888888888

else if(adcvalue[1] > 3400 && adcvalue[1] < 3600)

} }}

5、注意事項距離決賽還有半個月,假期四天是初賽完第一次練習,做完這套就不打算在練習,聽天由命了~哈哈!

需要注意的是有很多細節沒有處理好:

藍橋杯第九屆決賽

x星球的鈔票的面額只有 100元,5元,2元,1元,共4種。小明去x星旅遊,他手裡只有2張100元的x星幣,太不方便,恰好路過x星銀行就去換零錢。小明有點強迫症,他堅持要求200元換出的零鈔中2元的張數剛好是1元的張數的10倍,剩下的當然都是5元面額的。銀行的工作人員有點為難,你能幫助算出 在滿足小...

第九屆藍橋杯決賽之旅

3月份,參加的藍橋杯省賽,沒怎麼準備,意料之外的拿了個省一,於是才有了這次藍橋盃國賽之旅。雖然對於藍橋杯的詬病的聲音一直都有,但a組的國賽的選手清北和其他牛校的還真佔了不少。乙個二等獎基本被他們包攬了。而我只做出了三道題不幸打鐵,除了最後幾秒鐘有道41份的填空題沒有交上去挺遺憾意外,其他的體驗都很好...

第九屆藍橋杯決賽大學A組

已知三角形三個頂點在直角座標系下的座標分別為 2.3,2.5 6.4,3.1 5.1,7.2 求該三角形的面積。注意,要提交的是乙個小數形式表示的浮點數。要求精確到小數後3位,如不足3位,需要補零。答案 include include using namespace std struct dian ...