久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
中穎單片機SH88F516讀寫SPI總線EEPROM 93C56的源程序
[打印本頁]
作者:
weihu
時間:
2017-11-18 04:57
標題:
中穎單片機SH88F516讀寫SPI總線EEPROM 93C56的源程序
代碼工程與芯片pdf資料:
0.png
(8.57 KB, 下載次數: 95)
下載附件
2017-11-18 04:57 上傳
實現本功能的中穎單片機源碼如下:
/*************************************************************************************************
說明;SPI使用EEPROM存儲芯片93C56A,256X8bit=2K的存儲空間.在使用SPI通訊時通常使用端口進行仿真,為了符合
使用需要,本程序同樣使用了端口進行仿真,當然也可以直接使用88F516自帶的SPI總線進行通訊.
串口1用于觀測93C56A的讀寫數據正確與否?寫入成功接收到數據R,寫入失敗接收到數據E,讀取成功接收到數據r,
讀取失敗接收到數據e.
要求:打開撥碼開關J6的5,6,7,8,打開撥碼開關J4
*************************************************************************************************/
#include <sh88f516.h>
#include <INTRINS.H> //for use 51 instruction
sbit cs_93=P1^4;
sbit di_93=P1^5;
sbit do_93=P1^6;
sbit sk_93=P1^7;
void UART1SendChar(unsigned char value)
{
IEN1 &= 0xFB; //ES1=0;
SBUF1=value; //寫SBUF1,激活發送
while(TI1==0); //等待轉換結束
TI1=0; //清除發送標志位
IEN1 = 0x04; //ES1=1;
}
/*-----------------------------------------------------
SPI93cXX系列函數調用
void high56(void)--------發送1
void low56(void) --------發送0
void wd56(unsigned char dd) --------寫8位數據,輸入參數address or data
unsigned char rd56(void) --------讀8位數據,返回值data
-----------------------------------------------------*/
void high56(void)
{
di_93=1;
sk_93=1; _nop_();
sk_93=0; _nop_();
}
void low56(void)
{
di_93=0;
sk_93=1;_nop_();
sk_93=0;_nop_();
}
void wd56(unsigned char dd)
{
unsigned char i;
for (i=0;i<8;i++)
{
if (dd>=0x80) high56();
else low56();
dd=dd<<1;
}
}
unsigned char rd56(void)
{
unsigned char i,dd=0;
do_93=1;
for (i=0;i<8;i++)
{
dd<<=1;
sk_93=1;_nop_();
sk_93=0;_nop_();
if (do_93) dd|=1;
}
return(dd);
}
/*-----------------------------------------------------
SPI93c56系列函數調用
void ewen56(void)-----------寫使能
unsigned char read93c56_word(unsigned char address) ------------SPI讀函數,輸入參數為address,返回dat
bit write93c56_word(unsigned char address,unsigned char dat)----SPI寫函數,輸入參數為address,dat,寫入成功返回0,失敗返回1
-----------------------------------------------------*/
void ewen56(void)
{
_nop_();
cs_93=1;
high56();
low56();
low56();
//low56();
high56();//add
wd56(0xc0);
//wd56(0x00);
cs_93=0;
}
unsigned char read93c56_word(unsigned char address)
{
unsigned char dat;
cs_93=sk_93=0;
cs_93=1;
high56(); //1 --start
high56(); //1
low56(); //0 --10 read
low56(); //X --A8,
wd56(address); //A7--A0
dat=rd56(); //data
cs_93=0;
return(dat);
}
bit write93c56_word(unsigned char address,unsigned char dat)
{
unsigned char e;
unsigned char temp=address;
e=0;
while (e<3)
{
cs_93=sk_93=0;
cs_93=1;
ewen56();
_nop_();
cs_93=1;
_nop_();
high56(); //1 --start
low56(); //0
high56(); //1 --01 write
low56(); //X --A8,
wd56(address); //A7--A0
wd56(dat); //data
cs_93=0;
_nop_();
cs_93=1;
do_93=1;
while (1)
{
if (do_93==1) break;
}
cs_93=0;
if (read93c56_word(temp)==dat)
{
return(0);
}
e++;
}
return(1);
}
main()
{
unsigned char i;
CLKCON = 0x60; //f=osc/12
SCON1 = 0x50; //工作方式選擇,此處為工作方式1
SBRT1 = 0xFF; //波特率設置.工作在方式1時,BAUDRATE=(1/16)*Fsys/(32768-SBRT[1:0]) Fsys=16M
SBRT0 = 0xF7; //Fsys=16M/12
IEN1 = 0x04;
EA = 1;
for(i=0;i<200;i++)
{
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
壓縮包里面包含有中穎單片機sh88f516常用功能的源碼,中文注釋都很詳細
下載地址:
http://m.zg4o1577.cn/bbs/dpj-98300-1.html
作者:
lcclzy
時間:
2018-7-26 09:30
已學習,再接再厲!加油
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
国产理论在线
|
久久靖品
|
一区二区高清
|
在线一区二区三区四区
|
香蕉成人网
|
日本一级一片免费视频
|
中文字幕高清
|
精品视频一区二区
|
一级黄色片在线观看
|
四虎黄色网址
|
亚洲精品一区二三区不卡
|
好色影院
|
蜜桃视频一区二区三区
|
狠狠艹狠狠干
|
一级大片免费看
|
国产免费黄色片
|
亚洲免费一区二区
|
av不卡在线
|
久久国产精品视频
|
亚洲精品国产精品国自产在线
|
91久久久久久久久久
|
欧美一级片在线
|
午夜在线
|
欧美黄色一级视频
|
少妇特黄a一区二区三区
|
久久久久久久国产精品
|
一区二区三区四区视频在线观看
|
亚洲精品观看
|
国产一区二区观看
|
成人在线精品
|
天天摸夜夜操
|
亚洲久久在线
|
成人精品在线视频
|
亚洲黄色网址
|
9999精品视频
|
欧美成人小视频
|
日韩一区二区三区在线播放
|
亚洲精品免费视频
|
免费三片在线观看网站v888
|
亚洲午夜视频在线观看
|
欧美日韩一区在线观看
|