一、控制一/多燈亮滅
匯編實現
;注釋
LOOP:
;SETB P1.1 ;(1)熄滅燈
MOV P1,#0FFH;
LCALL DELAY ;(2)延時一段時間
;CLR P1.1 ;(3)點亮燈
MOV P1,#0FDH;
LCALL DELAY ;(4)延時一段時間
AJMP LOOP ;(5)跳轉到第一句LOOP處
;以下子程序
DELAY:
MOV R7,#250 ;
D1: MOV R6,#250 ;
D2: DJNZ R6,D2 ;R6=R6-1;IF(R6!=0) GOTO D2;
DJNZ R7,D1 ;
RET ;返回主程序
END ;子程序結束標志
C語言實現
#include
sbit led=P1^3;
void Delay(){
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<200;j++);
}
void main(){
while(1){
P1=0xfe;
Delay(); Delay();Delay();Delay();
led=0;
Delay(); Delay();Delay();Delay();
P1=0x00;
Delay(); Delay();Delay();Delay();
}
}
開關控制單燈亮滅
#include
sbit led=P1^3;
void main(){
while(1){
if(P0^1==0){ //開關是否按下
led=0;
}else{
led=1;
}
}
}
流水燈表示乘法運算結果
#include
void main(void){
unsigned char s,m,n;
m=64;
n=71;
s=m*n; //s=4544=17*256+192 所以用P0表示17、P1表示192
P0=s/256;
P1=s%256;
}
走馬燈
#include
void Delay(){
unsigned char i,j;
for(i=0;i<250;i++)
for(j=0;j<250;j++);
}
void main(){
unsigned int i;
i=0x01;
while(1){
P1=i; Delay();
i<<=1;
if(i==0x100) i=0x01;
}
}
摘自《單機片C語言編程100個實例》
//實例19:用if語句控制P0口8位LED的流水方向
sbit S1=P1^4; //將S1位定義為P1.4
sbit S2=P1^5; //將S2位定義為P1.5
/*****************************
函數功能:主函數
*****************************/
void main(void)
{
while(1)
{
if(S1==0) //如果按鍵S1按下
P0=0x0f; //P0口高四位LED點亮
if(S2==0) //如果按鍵S2按下
P0=0xf0; //P0口低四位LED點亮
}
}
上一篇:51單片機 (3)定時器和計數器
下一篇:最后一頁
推薦閱讀
史海拾趣
在電子產品領域取得一定成就后,BROTHER并沒有停止前進的步伐。公司開始尋求多元化業務的拓展,以應對市場變化和風險。除了傳統的縫紉機和電子產品外,BROTHER還開始涉足打印機、傳真機、掃描儀等辦公設備領域。通過不斷創新和研發,BROTHER成功推出了一系列高品質、高性能的辦公設備產品,滿足了不同客戶的需求。同時,公司還積極開拓新的市場領域,如智能家居、物聯網等前沿領域,為未來發展奠定了堅實基礎。
盡管面臨市場終端景氣度低迷等挑戰,華潤微依然保持穩健的發展態勢。公司積極應對市場變化,通過優化產品結構、加大研發投入等措施,不斷提升自身競爭力。同時,華潤微也看到了新能源業務等領域的巨大潛力,將其作為未來發展的重要方向。通過不斷的技術創新和市場拓展,華潤微有望在電子行業中實現更加輝煌的成就。
在智能制造領域,中電熊貓也取得了顯著進展。2010年,中電熊貓開始研發液晶面板工廠的智能運儲系統,打破了以往依賴國外供應商的局面。到了2011年,中電熊貓成功完成了國內首條高世代液晶面板智能運儲系統的研發,并逐漸成為國內該系統的主要供應商。此外,中電熊貓還在液晶玻璃生產線系統等方面實現了國產化研發,提升了整體產業的競爭力。
面對日益嚴峻的環境問題,Computer Conversions Corp積極響應環保號召,開始研發更加環保的計算機轉換技術。公司不僅優化了生產工藝,減少了生產過程中的能源消耗和廢棄物排放,還推出了一系列節能型轉換設備,幫助客戶在提升計算效率的同時,也降低了能源消耗。這一舉措不僅贏得了客戶的贊賞,也提升了公司的社會形象。
隨著產品線的不斷豐富和市場的擴大,CML逐漸意識到品質管理的重要性。公司開始引入先進的質量管理體系,對產品的研發、生產、銷售等各個環節進行嚴格把控。通過持續改進和優化流程,CML成功提升了產品的品質和可靠性,贏得了客戶的廣泛認可。同時,公司還建立了完善的售后服務體系,為客戶提供及時、專業的技術支持和服務,進一步提升了客戶滿意度。
大家好!我想設計一個電路,可以產生兩路同步的波形,還在波形產生到某個點的時候觸發一個采集卡采 集數據,請問我是用cpld,單片機,arm,fpga,dss,plc中的哪種?因為我要學會了才弄,希望大家給 點意見。… 查看全部問答∨ |
LCD黑屏問題調試[PXA310 bootloader] 1. PXA310+DA9034+NXP5209架構的手機 2.Bug:LCD黑屏問題調試 3.任務級別:bootloader XXX:為保密公司做的項目 附件功能用不了,我用latex寫的報告, 1.復制粘貼至另一個文件后,保存為一個文件,文 ...… 查看全部問答∨ |
摘要:為了提高無線傳感器的有效工作時間, 在無線傳感器處于等待狀態時, 令其休眠是重要的一種降低功耗策略。分析已 有的兩種無線傳感器分級休眠能耗模型的特點, 指出這兩種模型是單部件無線傳感器分級休眠模型, 它們不適用于多部件 組成的無線傳 ...… 查看全部問答∨ |
|
請問Build菜單中Open Build Release Directory是連接哪個文件的。我想知道如何寫一個.bat文件,讓其自動編譯驅動。 請問Build菜單中Open Build Release Directory是連接哪個文件的。我想知道如何寫一個.bat文件,讓其自動編譯驅動。然后加載到nk.bin文件中。分別使用命令build、makeimg。 下面是我寫的,我覺得是“call wince.bat ARMV4I CEBASE smdk2440”錯誤。 ...… 查看全部問答∨ |
|
先貼上中斷部分的程序:void RTC_IRQHandler(void){ vu32 Time_temp; if (RTC_GetITStatus(RTC_IT_SEC) != RESET) { /* Clear the RTC&nbs ...… 查看全部問答∨ |
小弟用STM32做一光源控制器,其中一些相關的設置,希望能保存到Flash中,在下次開機的時候能夠直接讀取出來,省去重新設置的麻煩。 在保存數據的時候,我如何確定要保存到Flash的哪個地址?哪些地址是沒有被代碼使用到的? 代碼是如何被存放 ...… 查看全部問答∨ |
我想把程序燒寫到外部存儲器中 用的是quartus ii , 外部存儲器不是專用的EPCS那種 是winbond的 該怎么操作呢 在網上看了好多 但還是很迷茫 看altera 的資料講的都是針對EPCS的。按他的方法先把.sof文件轉成.jin的格式 然后再用slf方式下載到存儲器 ...… 查看全部問答∨ |