久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標題: 拿到51hei開發(fā)板后寫的第一個程序,請指教! [打印本頁]

作者: a119    時間: 2012-4-3 02:31
標題: 拿到51hei開發(fā)板后寫的第一個程序,請指教!
設(shè)計要求:按下S4鍵則燈由上向下流動然后燈全亮,按下S5鍵則燈由下向上流動然后燈全滅,蜂鳴器報警 這個這么久我才做出來 我擦.

#include<reg52.h>
#define uint unsigned int 
#define uchar unsigned char
sbit WEI=P2^7;      //U2 74HC573的LE端    數(shù)碼管的位選端
sbit DUI=P2^6;      //U1 74HC573的LE端    數(shù)碼管的段選位
sbit SJ=P1^4;       //LED發(fā)光管的使能端

sbit spk=P2^2;   //蜂鳴器
sbit S4=P3^6;  //按鍵S4
sbit S5=P3^7;    //按鍵S5
uint num;
uint i;
uint j;
uchar code table_1[]={
0x7F,0x3F,0x1F,0x0F,
0x07,0x03,0x01,0x00
};

uchar code table_2[]={
0x01,0x03,0x07,0x0F,
0x1F,0x3F,0x7F,0xFF
};



void delay(uint Z)
{
for(i=Z;i>0;i--)
for(j=0;j<1000;j++);
}

void main()
{
SJ=0;  //開LED總使能
WEI=1;   //讓位選的U2 74hc573處于直通狀態(tài)
DUI=1;   //讓段選的U2 74hc573處于直通狀態(tài)
P0=0xff; //讓所有數(shù)碼管不顯示,防止數(shù)碼管干擾
WEI=0;   //鎖存,讓位選的74hc573保持現(xiàn)在的狀態(tài)不變,也就是一直不顯示,如果不寫這幾行,數(shù)碼管和點陣也會顯示
DUI=0;   //鎖存,讓段選的74hc573保持現(xiàn)在的狀態(tài)不變,也就是一直不顯示,如果不寫這幾行,數(shù)碼管和點陣也會顯示
while(1)
{
if( S4==0)
{
spk=1;
for(num=0;num<8;num++) 
 {P0=table_1[num];delay(100);}
}
else if (S5==0)
{
for(num=0;num<8;num++)
   {P0=table_2[num];delay(100);}
spk=0;
}
}
} 

我寫的第一個程序

用了一個多小時

遇到幾個問題,想請教一下:

 

  第一就是 電路 LED是P0控制的 跟視頻有不一樣的  能不能列個單那樣的  跟視頻不一樣的連接的地方 我找起來方便些 ,不弄也無所謂 不是什么問題


 

  編程遇到的問題  變量難道必須是 全局變量嗎  在 for(num=0;num<8;num++) 這里定義 uint num到時候 編譯錯誤 是什么情況 我搞不懂


 

  還有就是 按鍵 操作 能不能用 switch語句實現(xiàn) 我想寫 但是 switch(變量)這個變量這里不知道怎么處理,怎么去識別按鍵  這個是不是集合一個函數(shù)(假如有這么一個函數(shù),專門用來識別按鍵的,返回的是按鍵的標志位,就像中斷返回的interrupt一樣)


[此貼子已經(jīng)被作者于2012-4-3 2:31:55編輯過]

作者: admin    時間: 2012-4-3 02:43

1.只有流水燈和視頻的電路不一樣哦,其他都基本一樣,只是端口的區(qū)別而已,流水燈部分的教程在:http://m.zg4o1577.cn/bbs/dpj-4882-1.html

 

2.變量當然可以定義函數(shù)內(nèi)部的變量啊,但是一定要定義在函數(shù)的頭部哦.

 

3.switch當然可以用,開發(fā)板附帶的的光盤提供了1個很經(jīng)典實用switch開關(guān)分支的程序“矩陣鍵盤_c_按鍵顯示1-16平方”你可以參考下他的源代碼


作者: lenoic    時間: 2012-4-3 18:40

1.第一部分 使能 看電路 就明白了

2.就是這程序里面的for循環(huán)num是全局變量 我可不可以寫成for(uint num=0;num<8;num++)這樣的形式來聲明呢?為什么會報錯  在vs里面這樣用是沒問題的

3.switch可以用 我只是說明了下我的想法 關(guān)于那個案例我還沒有看,具體情況可能以后會請教


作者: admin    時間: 2012-4-4 02:58
2.c語言里面沒有那個用法的哦,必須要先聲明了才能使用的




歡迎光臨 (http://m.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 国产又粗又猛又黄又爽无遮挡 | 精品一区二区在线播放 | 亚洲国产中文字幕 | 欧美激情三区 | 亚洲免费成人 | 国产永久免费视频 | 成人免费激情视频 | 精品视频网站 | 日韩av在线不卡 | 91午夜理伦私人影院 | 欧美在线观看一区二区三区 | 一区二区三区av | 国产精品一区一区三区 | av香蕉 | 日韩一级二级三级 | 一级免费av | 一本一道久久a久久精品蜜桃 | 日本伊人网 | 久久久久国产 | 午夜快播 | 一级毛片黄色 | 中文字幕一区二区三区在线观看 | 欧美激情小视频 | 国产黄色在线 | 一级片免费 | 免费在线观看黄色片 | 欧美日本一区 | 国产在线日韩 | 中文字幕一区二区在线播放 | 国产午夜激情 | 国产剧情一区 | 美日韩一区 | 五月天婷婷网站 | 欧美二三区 | 国产精品区二区三区日本 | 国产美女视频 | 91精品久久香蕉国产线看观看 | 精品久久久久久久久久久 | 高清免费av| 中文在线观看视频 | 欧美日韩a |