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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 4719|回復: 3
打印 上一主題 下一主題
收起左側

拿到51hei開發板后寫的第一個程序,請指教!

[復制鏈接]
跳轉到指定樓層
樓主
ID:37685 發表于 2012-4-3 02:31 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
設計要求:按下S4鍵則燈由上向下流動然后燈全亮,按下S5鍵則燈由下向上流動然后燈全滅,蜂鳴器報警 這個這么久我才做出來 我擦.

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

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處于直通狀態
DUI=1;   //讓段選的U2 74hc573處于直通狀態
P0=0xff; //讓所有數碼管不顯示,防止數碼管干擾
WEI=0;   //鎖存,讓位選的74hc573保持現在的狀態不變,也就是一直不顯示,如果不寫這幾行,數碼管和點陣也會顯示
DUI=0;   //鎖存,讓段選的74hc573保持現在的狀態不變,也就是一直不顯示,如果不寫這幾行,數碼管和點陣也會顯示
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語句實現 我想寫 但是 switch(變量)這個變量這里不知道怎么處理,怎么去識別按鍵  這個是不是集合一個函數(假如有這么一個函數,專門用來識別按鍵的,返回的是按鍵的標志位,就像中斷返回的interrupt一樣)


[此貼子已經被作者于2012-4-3 2:31:55編輯過]
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:1 發表于 2012-4-3 02:43 | 只看該作者

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

 

2.變量當然可以定義函數內部的變量啊,但是一定要定義在函數的頭部哦.

 

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

回復

使用道具 舉報

板凳
ID:37736 發表于 2012-4-3 18:40 | 只看該作者

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

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

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

回復

使用道具 舉報

地板
ID:1 發表于 2012-4-4 02:58 | 只看該作者
2.c語言里面沒有那個用法的哦,必須要先聲明了才能使用的
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久草免费在线视频 | 一区在线视频 | 欧美激情精品久久久久久变态 | 成人免费网站www网站高清 | 国产精彩视频 | 欧美一级黄色片 | 在线观看精品 | 日日骚网| 激情五月综合 | 日本免费一区二区三区四区 | 日韩久久久久久久久久久 | 九九精品久久久 | 亚洲日本三级 | 日韩在线观看网站 | 九九成人 | 欧美精品 在线观看 | 国产精品久久久久久久久久久免费看 | 欧美性tv | 久久国产精品免费一区二区三区 | 国产精品成人国产乱 | 日韩精品一区二区三区四区 | 精品国产欧美 | 久久婷婷色 | 国产999精品久久久 日本视频一区二区三区 | 国产成人福利视频 | 日韩欧美一区二区三区免费看 | 久久亚洲一区二区三区四区 | 成人在线观看免费视频 | 国产免费拔擦拔擦8x高清 | 日韩精品一区二区三区免费视频 | 黄色大片视频 | 在线视频a | www.日韩欧美 | 波多野结衣一区二区三区在线观看 | 亚洲资源在线 | 亚洲人成免费 | 黄色三级免费 | 欧美一级在线视频 | 日韩午夜| 免费的黄色片子 | 日韩欧美一区在线 |