日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] //PROJECT : EA21//IC : SAMSUNG S3C9454#include "ioS3C9454.h"//自己編寫,注意const ?//****************************//PINdefine area//*****************************#define CONTROL_RelayLight

//PROJECT : EA21
//IC : SAMSUNG S3C9454

#include "ioS3C9454.h"

//自己編寫,注意const ?


//****************************
//PINdefine area
//*****************************
#define CONTROL_RelayLight (P0&0x04) //P0.2
#define SET_RelayLight (P0|=0x04)
#define CLR_RelayLight (P0&=0xFB)

#define CONTROL_RelayCyclone (P0&0x08) //P0.3
#define SET_RelayCyclone (P0|=0x08)
#define CLR_RelayCyclone (P0&=0xF7)

//*********************************
//function declare area
//*********************************
void io_init(void);
void delay(void);
void AD_CONV(void);
void MOV ingData(void);
void JudgingKey(void);
void DealKey(void);
void DealDelayClose(void);
void DealDelayLOCk(void);
void DealBuzz(void);
void DealLockMotor(void);
void ram_init(void);


//*********************************
//constant define area
//*********************************
#define DelayKey 0x01
#define PowerKey 0x02
#define CycloneKey 0x04
#define LightKey 0x08
#define LockKey 0x10
#define BigWindKey 0x20
#defineSILenceKey 0x40

//*********************************
//variable define area
//*********************************
unsigned char VolData[7][5]; //如果上電前,即使按鍵按下,也不識別,那么,初始化為0就可以,
//如果需要識別,就要處理??
unsigned char Key_OldStatus; //表示前一時刻鍵的狀態(tài),1表示按下,0表示彈起
unsigned char RepeatKey_Status; //表示重鍵的狀態(tài),1表示有,0表示無,對應(yīng)七個鍵
unsigned char Key_NowPushStatus; //表示現(xiàn)在鍵按下的狀態(tài)

#define CONTROL_LockStatus (SYS_Status&0x01)
#define SET_LockStatus (SYS_Status|=0x01)
#define CLR_LockStatus (SYS_Status&=0xFE)


//*********************************
//table define area
//*********************************
//code unsigned char AnalogChannel[7]={0x00,0x00,0x01,0x01,0x02,0x02,0x03};
//code unsigned char ADChannel[7]={0x05,0x15,0x05,0x15,0x05,0x15,0x15};

//*********************************
//SUB PROGRAM ROUTINE
//*********************************
void io_init(void)
{

CLKCON = 0x18; // cpu clock is non-divided clock
BTCON = 0xA3; // dISAble watch-dog, select fxx/4096 for basic timer clock
//btcon = 0x02, enable watch-dog
SP = 0xC0; // sp <= c0h
FLAGS = 0x00; // clear flags
STOPCON = 0x00; // disable STOP instruction

P0CONH = 0xAA;
P0CONL = 0xAF; // P0.0-P0.1A/Dinput, P0.2-P0.7 push-pull output
P1CON = 0x0A; // P1.0-P1.1 push-pull output
P2CONH = 0x4A; //
P2CONL = 0xAA; // P2.0-P2.6 push-pull output

T0DATA = 0x03; //3,200,000/256*3=4166, 250us
T0CON = 0x0A; //
}

void delay(void)
{
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
__no_operation();
}

void MOV ingData(void)
{
unsigned char i,j;
for(i=0;i<7;i++)
{
for(j=0;j<4;j++)
{
VolData[i][j]=VolData[i][j+1];
}
}
}


void AD_CONV(void)
{
unsigned char i;
unsigned char AD_Flag,AD_WAIT;
for(i=0x00;i<0x07;i++)
{
P1=AnalogChannel[i];
ADCON=ADChannel[i];
delay();


for(AD_WAIT=0x00;AD_WAIT<0xff;AD_WAIT++)
{
AD_Flag=0x00;
if(ADCON&0x08)


{
AD_Flag=0x01;
break;


}
}
if(AD_Flag)


VolData[i][4]=ADDATAH;
}
}

void DealDelayClose(void)
{
if(CONTROL_DelayClose)
{
if(DelayCloseTime>=Interval_5M)
{
CloseAllLED;
CLR_RelayLight;
CLR_RelayCyclone;
CLR_RelayBigWind;
CLR_RelaySilence;
SYS_Status=0x00;
}
}
}

void DealDelayLock(void)
{
if(CONTROL_DelayLock)
{
if(DelayLockTime>=Interval_3S)
{
CLR_DelayLock;
if(CONTROL_LockStatus)
{
CLR_LedLock;

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

在這篇文章中,小編將對PLC的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對它的了解程度,和小編一起來閱讀以下內(nèi)容吧。

關(guān)鍵字: PLC 模塊化 程序

對程序進(jìn)行優(yōu)化,通常是指優(yōu)化程序代碼或程序執(zhí)行速度。優(yōu)化代碼和優(yōu)化速度實(shí)際上是一個予盾的統(tǒng)一。一般是優(yōu)化了代碼的尺寸,就會帶來執(zhí)行時間的增加;如果優(yōu)化了程序的執(zhí)行速度,通常會帶來代碼增加的副作用。很難魚與熊掌兼得,只能在...

關(guān)鍵字: 單片機(jī) 程序

一個程序首先要保證正確性,在保證正確性的基礎(chǔ)上,性能也是一個重要的考量。要編寫高性能的程序,必須選擇合適的算法和數(shù)據(jù)結(jié)構(gòu)。

關(guān)鍵字: CPU 程序 緩存

仿真的概念其實(shí)使用非常廣,最終的含義就是使用可控的手段來模仿真實(shí)的情況。在嵌入式系統(tǒng)的設(shè)計中,仿真應(yīng)用的范圍主要集中在對程序的仿真上。

關(guān)鍵字: 單片機(jī) 仿真器 程序

步進(jìn)電動機(jī)是將電脈沖激勵信號轉(zhuǎn)換成相應(yīng)的角位移或線位移的離散值控制電動機(jī),這種電動機(jī)每當(dāng)輸入一個電脈沖就動一步,所以又稱脈沖電動機(jī)。

關(guān)鍵字: 步進(jìn)電機(jī) 正反轉(zhuǎn) 程序

KeilμVision4是Keil軟件公司為8051系列微控制器及其兼容產(chǎn)品設(shè)計的集成式軟件開發(fā)環(huán)境。μVision4集成了C51編譯器和A51匯編器,其界面類似于Microsoft VS,支持C語言和匯編語言程序的編寫...

關(guān)鍵字: 程序 編譯 鏈接

雙方各執(zhí)一詞,誰也不退讓,吳雄昂的身份成為薛定諤的貓:在Arm公司眼中,他已經(jīng)被罷免一切職位;在安謀中國聲明里,吳仍然一切照常。這種疊加態(tài)或許還會持續(xù)一段時間,但疊加態(tài)應(yīng)該很快就會塌縮成一個確定結(jié)果。同樣,安謀中國董事會...

關(guān)鍵字: ARM 中國董事會 程序

除了指令空間,自定義指令對應(yīng)的程序出入口也有嚴(yán)格限制。自定義指令在使用過程中出現(xiàn)任何錯誤時,Arm的工具鏈都能及時對其進(jìn)行識別、提取,并且進(jìn)行相應(yīng)的控制。目前也已經(jīng)有第三方編譯器,可以識別自定義指令集可能會出現(xiàn)的錯誤。專...

關(guān)鍵字: 指令空間 程序 ARM

如果說一眾美國科技公司遵循特朗普命令斷供華為,還算某種程度上維護(hù)所謂程序正義不得已而為之;那么各路本應(yīng)對政治保持中立的國際技術(shù)標(biāo)準(zhǔn)組織,先后宣布剔除華為成員資格,絕對算助紂為虐;而聯(lián)邦快遞將華為委托寄送目的地為中國的快遞...

關(guān)鍵字: 快遞 華為 程序

在軟件開發(fā)過程中,我們希望軟件可以運(yùn)行無誤。但是常常事與愿違,程序經(jīng)常跑飛,或者卡死。原因有很多,有可能是因?yàn)檐浖到y(tǒng)設(shè)計的原因,或者外部傳感器的失效,再或者是程序的Bug等。為了防止程序在出現(xiàn)問題之后,可以順利復(fù)位和重...

關(guān)鍵字: 軟件 程序 傳感器
關(guān)閉