毕业设计题目,指脉波采级与12864液晶转换

loading 分享 2026-9-2 下载文档

#include #include

#define uchar unsigned char #define uint unsigned int #include

#define AddWr 0x90 //写数据地址 #define AddRd 0x91 //读数据地址

sbit Sda=P1^2; //定义总线连接端口 sbit Scl=P1^1;

bit ADFlag; uchar table[31]; sbit rs = P2^4; sbit rw = P2^5; sbit e = P2^6; sbit key1=P3^0; sbit key2=P3^1;

void delay(uint x) {

uchar i,j; for(i=0;i

/*------------------------------------------------ 初始化定时器1 ------------------------------------------------*/ void Init_Timer1(void) {

TMOD |= 0x10;

TH1=0xff; /* Init value */ TL1=0x00;

//PT1=1; /* 优先级 */ EA=1; /* interupt enable */

ET1=1; /* enable timer1 interrupt */ TR1=1; }

/*------------------------------------------------ 启动IIC总线 ------------------------------------------------*/ void Start(void) {

Sda=1; _nop_(); Scl=1; _nop_(); Sda=0; _nop_(); Scl=0; }

/*------------------------------------------------ 停止IIC总线 ------------------------------------------------*/ void Stop(void) {

Sda=0; _nop_(); Scl=1; _nop_(); Sda=1; _nop_(); Scl=0; }

/*------------------------------------------------ 应答IIC总线 ------------------------------------------------*/ void Ack(void) {

Sda=0; _nop_(); Scl=1; _nop_(); Scl=0; _nop_(); }

/*------------------------------------------------ 非应答IIC总线 ------------------------------------------------*/ void NoAck(void) {

Sda=1; _nop_(); Scl=1; _nop_(); Scl=0; _nop_(); }

/*------------------------------------------------ 发送一个字节

------------------------------------------------*/ void Send(unsigned char Data) { unsigned char BitCounter=8; unsigned char temp; do { temp=Data; Scl=0; _nop_(); if((temp&0x80)==0x80) Sda=1; else Sda=0; Scl=1; temp=Data<<1; Data=temp; BitCounter--; } while(BitCounter); Scl=0; }

/*------------------------------------------------ 读入一个字节并返回 ------------------------------------------------*/ unsigned char Read(void) { unsigned char temp=0; unsigned char temp1=0;

unsigned char BitCounter=8; Sda=1; do { Scl=0; _nop_(); Scl=1; _nop_(); if(Sda) temp=temp|0x01; else temp=temp&0xfe; if(BitCounter-1) { temp1=temp<<1; temp=temp1; } BitCounter--; } while(BitCounter); return(temp); }

/*------------------------------------------------

读取AD模数转换的值,有返回值 ------------------------------------------------*/ unsigned char ReadADC(unsigned char Chl) {

unsigned char Data; Start(); //写入芯片地址 Send(AddWr); Ack(); Send(0x40|Chl);//写入选择的通道,本程序只用单端输入,差分部分需要自行添加 //Chl的值分别为0、1、2、3,分别代表1-4通道 Ack(); Start(); Send(AddRd); //读入地址 Ack(); Data=Read(); //读数据


毕业设计题目,指脉波采级与12864液晶转换.doc 将本文的Word文档下载到电脑
搜索更多关于: 毕业设计题目,指脉波采级与12864液晶转换 的文档
相关推荐
相关阅读