蓝桥杯赛前总结
查了成績,省一,又要學(xué)習(xí)嘍
考完了,底層什么的都還ok,就是碰到了沒碰過的NE555 哭死,功能就寫了一半,還有一半沒法寫,其實還挺簡單的,雖然我沒寫完。。。
明天就要比賽了
不要急,目的不是比賽,目的是學(xué)知識,緊張狀態(tài)下學(xué)習(xí)效率更高
再總結(jié)一下
1.準備三部曲
建立文件夾建立project,source,output
以管理員身份打開keil,設(shè)置輸出和模式
寫config配置文件,main.c
2.關(guān)于keyboard.c
慢慢寫不要寫錯
別忘了!!
3.關(guān)于led.c
段碼再背一次{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}
再寫個ShowNumber()檢驗數(shù)碼管
4.main函數(shù)
先把主要框架搭起來
定時器配置
5.iic底層
官方驅(qū)動改過了可以使用
直接拖官方驅(qū)動改名字就行了
6.eeprom底層
兩個函數(shù)
eepromwrite()和eepromread()
eeprom的寫指令是0xA0
讀指令是0xA1
eeprom寫完數(shù)據(jù)之后要延時10ms
在iic里加入延時程序調(diào)用
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(); //等待應(yīng)答
I2C_SendByte(channel); //發(fā)送通道
I2C_WaitAck(); //等待應(yīng)答
I2C_Stop(); //關(guān)閉IIC
Delay10ms();
}
u8 ReadADCValue()
{
u8 vo;
I2C_Start(); //啟動IIC
I2C_SendByte(0x91); //激活該器件讀操作
I2C_WaitAck(); //等待應(yīng)答
vo = I2C_RecByte(); //讀取該值
I2C_Ack(0); //應(yīng)答0
I2C_Stop();
return vo;
}
pcf8591器件寫是0x90
讀是0x91
8.DS1302
single寫是reg<<1|0x80
讀是reg<<1|0x81
brust寫是0xbe
讀是0xbf
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;}總結(jié)
- 上一篇: 标准日本语初级上第一单元 第一课[李さん
- 下一篇: 软件下载安装