国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2205|回復: 1
打印 上一主題 下一主題

新人報道

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2012-5-6 22:13:59 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
不說別的 報道就是了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。  #include "upsd.h"
#define uchar unsigned char
#define uint unsigned int

#define WREN 0x06 // 寫使能鎖存指令
#define RDSR 0x05 // 讀狀態(tài)寄存器指令
#define WRSR 0x01 // 寫狀態(tài)寄存器指令
#define READ 0x03 // 讀存儲器陣列指令
#define WRITE 0x02 // 寫存儲器陣列指令
sbit _CS = P1^0; // SPI總線的片選信號線
sbit SCK = P1^1; // SPI總線的鐘信號線
sbit SI = P1^2; // SPI總線的串行數(shù)據(jù)輸入線
sbit SO = P1^3; // SPI總線的串行數(shù)據(jù)輸出線
#define BUFFSIZE 16
uchar readbuff[BUFFSIZE],writebuff[BUFFSIZE]; // 讀寫緩沖區(qū)
/*從SPI總線上讀入一個字節(jié)*/
uchar read(void)
{
uchar data i,inData;
for(i=0; i<8; i++) // 移8次
{
SCK = 0; // 拉低時鐘線
inData <<= 1;
inData |= SO; // 從SPI總線的數(shù)據(jù)輸出線SO上讀入一位
SCK = 1; // 拉高時鐘線
}
return(inData);
}
/*輸出一個字節(jié)到SPI總線上*/
void write(uchar outData)
{
uchar data i;
for(i=0; i<8; i++) // 移8次
{
SCK = 0;
outData <<= 1;
SI = CY; // 移出一位,送出至SPI總線的數(shù)據(jù)輸入線SI上
SCK = 1;
}
}/*讀SPI器件的狀態(tài)*/
uchar readSR(void)
{
uchar data SR_Data;
_CS = 0; // 選中器件
write(RDSR); // 發(fā)送讀狀態(tài)寄存器指令
SR_Data = read(); // 得狀態(tài)值
_CS = 1; // 取消對器件的選定
return(SR_Data); // 送回狀態(tài)值
}
/*寫SPI器件的狀態(tài)寄存器*/
void writeSR(uchar SR_Data) /*可以改變SPI器件看門狗時間,設定受保護陣列范圍*/
{
_CS = 0;
write(WREN); // 發(fā)送使能鎖存指令
_CS = 1;
_CS = 0;
write(WRSR); // 發(fā)送寫狀態(tài)寄存器指令
write(SR_Data); // 寫入狀態(tài)值
_CS = 1;
}
/*將一串數(shù)據(jù)寫入指定的EEPROM陣列地址*/
void writeEEPROM(uint addr,len)
{
uchar data i,com;
_CS = 0;
write(WREN); //發(fā)送使能鎖存指令
_CS = 1;
_CS = 0;
com = (addr>>8) & 0x08 | WRITE; DPL = addr;
write(com); // 發(fā)送讀命令和目標地址的最高位A8
write(DPL); // 發(fā)送地址的低8位
for(i=0; i _CS=1;

}
/*從指定的EEPROM陣列地址讀出一串數(shù)據(jù)*/
void readEEPROM(uint addr,len)
{
uchar data i,com;
_CS = 0;
com = (addr>>8) & 0x08 | READ; DPL = addr;
write(com); // 發(fā)送讀命令和目標地址的最高位A8
write(DPL); // 發(fā)送地址的低8位
for(i=0; i _CS = 1;
}
//**************************************************************************************************
xdata uchar CONTROL_B _at_ 0x803;
xdata uchar DATAOUT_B _at_ 0x805;
xdata uchar DIRECTION_B _at_ 0x807;
uchar position; // LED的位碼存儲單元
uchar a[8]; // 8字節(jié)長顯示緩沖區(qū)
uchar *disp_ptr; // 顯示緩沖區(qū)的指針
uchar code led_code[11] = {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09,0xff};
//數(shù)字碼表0-9,LED無顯示時對應碼值為0xff
/********LED顯示的初始化********/
void led_init(void)
{
CONTROL_B = 0;
DATAOUT_B = 0;
DIRECTION_B = 0xff;
position = 0x80;
disp_ptr = &a;
}
/*1位LED顯示,并更新位碼和顯示緩沖指針*/
void display(void)
{
P4 = 0xff;
DATAOUT_B = position;
position = position>>1;
if(position == 0) position = 0x80;
P4 = led_code[*disp_ptr++];
if(position == 0x80) disp_ptr = &a;
}
/*將一個無符號型整數(shù)的每位數(shù)據(jù)分別裝載到顯示緩沖區(qū)*/
void loadbuff(uint sum)
{
a[0] = sum/10000; a[1] = (sum%10000)/1000;
a[2] = (sum%1000)/100; a[3] = (sum%100)/10;
a[4] = sum%10; a[5] = 10; a[6] = 10;a[7] = 10;
}
//***************************************************************************************
#define TIMER0_COUNT 0xf8CD
// TH0=0xf8,TL0=0xcd,在11.0592MHz的晶振頻率下,可實現(xiàn)2ms的計數(shù)
bit timer0int; // 2ms定時的標志位
/**********初始化定時器0**********/
void timer0_init(void)
{
TMOD &= 0xf0;
TMOD |= 0x01;
TL0 = (TIMER0_COUNT & 0x00ff);
TH0 = (TIMER0_COUNT >> 8);
PT0 = 0;
ET0 = 1;
TR0 = 1;
timer0int = 0;
}
/*定時器0的中斷服務程序,每次中斷置中斷標志位*/
void timer0isr(void) interrupt 1
{
TL0 = TL0 + (TIMER0_COUNT & 0x00FF);
TH0 = TH0 + (TIMER0_COUNT >> 8);
timer0int = 1;
}
//***************************************************
bit okflag; // 外部脈沖計數(shù)加一標志
void int0_init(void)
{
IT0 = 1; // 邊沿觸發(fā)
EX0 = 1;
EA = 1; // 允許所有中斷源
okflag = 0;
}
void int0isr(void) interrupt 0
{
okflag = 1;
}
//***********************************************************************
main()
{
uchar i = 0;uint sum;
WDKEY = 0x55; // 關看門狗定時器
writeSR(0x10); // 初始化X5043的狀態(tài)寄存器
while((readSR()&0x01) == 1); // 等待X5043的非易失性寫完成
readEEPROM(0x00,2); // 讀入0x00和x01兩個單元的內容
if((readbuff[0] == 0x55) && (readbuff[1] == 0xaa))
{ // 如果分別為0x55和0xaa,說明已經(jīng)初始化過該芯片
readEEPROM(0x02,2); // 讀出0x02和0x03兩個單元的內容
sum = ((uint)readbuff[0]<<8)+readbuff[1];
// 根據(jù)0x02和0x03兩個單元的內容初始化計數(shù)值
}
else
{ // 否則對芯片進行初始化
sum=0; // 初始化計數(shù)值為0
writebuff[0]=0x55;writebuff[1]=0xaa; //設定初始化標記為0x55,0xaa
writebuff[2]=0;writebuff[3]=0; // 初始化0x02和0x03兩個單元的內容
writeEEPROM(0x00,4); // 寫入初始化的設定字符串
}
loadbuff(sum);
led_init();
timer0_init();
int0_init();
for(;;)
{
if(timer0int)
{
timer0int=0;
display(); // 每2ms顯示一位LED
if(okflag) // 如果脈沖計數(shù)值加一
{
if((readSR()&0x01)!=1) // X5043可寫
{
okflag=0; // 清除okflag標志
sum++; // 計數(shù)加一
writebuff[0]=sum>>8; writebuff[1]=sum;
writeEEPROM(0x02,2); // 發(fā)送新的計數(shù)值
loadbuff(sum); // 裝載顯示緩沖
}
}
}
}
}

評分

參與人數(shù) 2積分 -20 收起 理由
kbgyzp -10 再扣點,呵呵
McuPlayer -10 禁止刷屏,幫您長個記性。

查看全部評分

沙發(fā)
發(fā)表于 2012-5-7 12:44:13 | 只看該作者
歡迎加入!
請勿刷屏,謝謝!  
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩成人性视频 | 精品日本一区二区三区在线观看 | a天堂视频在线观看 | 自拍一区在线 | 欧美在线视频网站 | 成品app软件大全无需下载 | 七月婷婷在线网址 | 两个人在线观看免费下载 | 大胖子h粗污 | 久久久噜噜噜久久网 | 2021国产麻豆剧传媒剧情最新 | 亚洲三级在线播放 | 欧美亚洲视频一区 | 日韩欧美中文字幕一区 | 一区二区免费在线观看 | 国产精品久久久久蜜芽 | 日本欧美国产精品 | 美女无遮挡拍拍拍免费视频 | 热99精品 | 最近中文字幕无吗 | 亚洲天堂aa | 久久99国产乱子伦精品免费 | 亚洲日本中文字幕永久 | 91精品国产欧美一区二区 | 美女视频黄的免费看网站 | 国产成人精品免费视频 | 99久热成人精品视频 | 免费在线观看黄色 | 国产毛片视频 | 亚洲精品亚洲人成在线观看麻豆 | 欧美另类videos高清精品 | 中国国产成人精品久久 | 精品中文字幕一区二区三区四区 | 欧美专区一区二区三区 | 国产在线视频91 | 日本高清在线观看 | www操操| 日本一区二区中文字幕 | 成人四虎 | 亚洲免费在线看 | 超级乱淫视频播放日韩 |