- 9
- 0
- 约3.03万字
- 约 24页
- 2018-12-06 发布于安徽
- 举报
完美WORD格式
范文.范例.指导.参考
#include C8051F350.h
#include stdio.h
#include math.h
//-----------------------------------------------------------------------------
// 16-bit SFR Definitions for F35x
//-----------------------------------------------------------------------------
/*
需求:1、AD转换,24位精度:AIN0.0
2、四个按键:K1=P1^4,K2=P1^5,K3=P1^6,K=P1^7
3、1602液晶屏显示AD值:
LCD1602_RS=P0^6,
LCD1602_EN=P0^7,
DB4 = P1^0, DB0=
DB5 = P1^1,
DB6 = P1^2,
DB7 = P1^3
4、存储(24C02):SDA=P0^0,SCL=P0^1
函数:1、void main(void) //主函数
{
while(1)
{
//连续不间断地得到AD值
ADZ = (AD值);
}
}
2、void KeyScan(void)
{
if(K1==0)
{
K1OK=1;
}
}
3、void T2_ISR(void) interrupt 5
{
//定时器,定时扫描按键,当有按键按下时,显示ADZ
TF2H = 0;
KeyScan();
if(K1OK==1)
{
K1OK=0;
//LCD1602第一行显示字母“ADZ”,第二行显示数字ADZ,24C02存储此值
}
}
*/
/*****
1602高四位
LCD1602_RS=P0^6,
LCD1602_EN=P0^7,
DB4 = P1^0,
DB5 = P1^1,
DB6 = P1^2,
DB7 = P1^3
AD转换,24位精度:AIN0.0 ,Verf+接100K可调电阻测试,满量程2500mv
四个按键:K1=P1^4,K2=P1^5,K3=P1^6,K=P1^7
存储(24C02):SDA=P0^0,SCL=P0^1 (和T2扫描按键有冲突,应该实时存储)
*****/
/////////////Routines
sfr16 ADC0DEC = 0x9A; // ADC0 Decimation Ratio Register
sfr16 TMR3RL = 0x92; // Timer3 reload registers
sfr16 TMR3 = 0x94; // Timer3 counter registers
sfr16 TMR2RL = 0xCA; // Timer2 Reload Register
sfr16 TMR2 = 0xCC; // Timer2 Register
sbit SDA = P0^0; // SMBus on P0.0
sbit SCL = P0^1; // and P0.1
sbit K1=P1^4; //四个按键
sbit K2=P1^5;
sbit K3=P1^6;
sbit K4=P1^7;
//-----------------------------------------------------------------------------
// Global CONSTANTS
//-----------------------------------------------------------------------------
//-------------------------------------------------------------------
原创力文档

文档评论(0)