日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

蓝桥杯赛前总结

發布時間:2025/4/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 蓝桥杯赛前总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

查了成績,省一,又要學習嘍


考完了,底層什么的都還ok,就是碰到了沒碰過的NE555 哭死,功能就寫了一半,還有一半沒法寫,其實還挺簡單的,雖然我沒寫完。。。


明天就要比賽了
不要急,目的不是比賽,目的是學知識,緊張狀態下學習效率更高
再總結一下
1.準備三部曲
建立文件夾建立project,source,output
以管理員身份打開keil,設置輸出和模式
寫config配置文件,main.c

2.關于keyboard.c

  • void KeyScan()兩個static

  • 慢慢寫不要寫錯

  • void KeyDriver()

    別忘了!!
    3.關于led.c
    段碼再背一次{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}

    再寫個ShowNumber()檢驗數碼管
  • 4.main函數
    先把主要框架搭起來
    定時器配置

    5.iic底層
    官方驅動改過了可以使用
    直接拖官方驅動改名字就行了

    6.eeprom底層
    兩個函數
    eepromwrite()和eepromread()

    eeprom的寫指令是0xA0
    讀指令是0xA1
    eeprom寫完數據之后要延時10ms
    在iic里加入延時程序調用
    void delayms(unsigned int t)
    {
    unsigned int i,j;
    for(i=t;i>0;i–)
    for(j=123;j>0;j–);
    }
    11.0592是 114

    7.pcf8591底層
    void PCF8591_init(u8 channel)
    {
    I2C_Start(); //啟動IIC
    I2C_SendByte(0x90); //激活該器件寫操作
    I2C_WaitAck(); //等待應答
    I2C_SendByte(channel); //發送通道
    I2C_WaitAck(); //等待應答
    I2C_Stop(); //關閉IIC
    Delay10ms();

    }

    u8 ReadADCValue()
    {
    u8 vo;
    I2C_Start(); //啟動IIC
    I2C_SendByte(0x91); //激活該器件讀操作
    I2C_WaitAck(); //等待應答
    vo = I2C_RecByte(); //讀取該值
    I2C_Ack(0); //應答0
    I2C_Stop();
    return vo;
    }
    pcf8591器件寫是0x90
    讀是0x91
    8.DS1302
    single寫是reg<<1|0x80
    讀是reg<<1|0x81

    brust寫是0xbe
    讀是0xbf

    #include "config.h" #include "ds1302.h"void DS1302ByteWrite(u8 dat) {u8 mask;for(mask=0x01;mask!=0;mask<<=1){if((mask&dat)!=0)DS1302_IO=1;elseDS1302_IO=0;DS1302_CK=1;DS1302_CK=0;}DS1302_IO=1;//釋放引腳}u8 DS1302ByteRead() {u8 mask;u8 dat=0;for(mask=0x01;mask!=0;mask<<=1){if(DS1302_IO!=0)dat|=mask;DS1302_CK=1;DS1302_CK=0;}return dat;}void DS1302SingleWrite(u8 reg,u8 dat) {DS1302_CE=1;DS1302ByteWrite((reg<<1)|0x80);DS1302ByteWrite(dat);DS1302_CE=0;}u8 DS1302SingleRead(u8 reg) {u8 dat=0;DS1302_CE=1;DS1302ByteWrite((reg<<1)|0x81);DS1302ByteWrite(dat);DS1302_CE=0;DS1302_IO=1;//軟件調整,必寫return dat;}void Brust_Write(u8* dat) {u8 i;DS1302_CE=1;DS1302ByteWrite(0xbe);for(i=0;i<8;i++){DS1302ByteWrite(*dat++); }DS1302_CE=0;} void Brust_Read(u8 *dat) {u8 i;DS1302_CE=1;DS1302ByteWrite(0xbf);for(i=0;i<8;i++){dat[i]=DS1302ByteRead(); }DS1302_CE=0; } void GetRealTime(struct sTime *Time) {u8 buff[8];Brust_Read(buff);Time->year = buff[6];Time->month = buff[4];Time->day = buff[3];Time->hour = buff[2];Time->min = buff[1];Time->sec = buff[0];Time->week = buff[5]; }void SetRealTime(struct sTime *Time) {u8 buff[8];buff[7]=0;buff[6]=Time->year;buff[4]=Time->month;buff[3]=Time->day;buff[2]=Time->hour;buff[1]=Time->min;buff[0]=Time->sec;buff[5]=Time->week;Brust_Write(buff);}void DS1302_Init() {struct sTime InitTime={0x19,0x02,0x16,0x08,0x30,0x00,0x06};DS1302_CE = 0;DS1302_CK = 0;DS1302SingleWrite(7,0x00);SetRealTime(&InitTime);}

    9.DS18b20

    #include "config.h"#include <intrins.h>void Delayus(u8 us) {do{_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}while(--us); }bit GetDs18b20Ack() {bit Ack;EA=0;IO_18B20=0;Delayus(250);Delayus(250);IO_18B20=1;Delayus(60);Ack=IO_18B20;while(!IO_18B20);EA=1;return Ack; }void Write_18b20(u8 dat) {u8 mask;EA=0;for(mask=0x01;mask!=0;mask<<=1){IO_18B20=0;Delayus(2);if((dat&mask)==0)IO_18B20=0;elseIO_18B20=1;Delayus(60);IO_18B20=1;}EA=1;}u8 Read_18b20() {u8 dat=0;u8 mask;EA=0;for(mask=0x01;mask!=0;mask<<=1){IO_18B20=0;Delayus(2);IO_18B20=1;Delayus(2);if(IO_18B20){ dat|=mask;}Delayus(60);}EA=1;return dat; }bit Start18b20() {bit ack;ack=GetDs18b20Ack();if(ack==0){Write_18b20(0xcc);Write_18b20(0x44);}return ~ack;}bit Get18b20Temp(int *temp) {bit ack;u8 LSB,MSB;ack=GetDs18b20Ack();if(ack==0){Write_18b20(0xcc);Write_18b20(0xbe);LSB=Read_18b20();MSB=Read_18b20();*temp=((int)MSB<<8)+LSB;}return ~ack;}

    總結

    以上是生活随笔為你收集整理的蓝桥杯赛前总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。