?? hjmcu.c
字號:
/**************************************************************************************************
*** 慧凈電子1天入門、10天學會、1年精通單片機與C語言視頻教程配套程序源碼 ***
*** 實驗目的:HJ-1G 開發板 AVR配套實驗程序 ***
*** MCU: ATmega16 部分C源碼可以直接用于項目開發、歡迎復制共享、功德無量、沒有版權 ***
*** 作者:慧凈免費助學會員
*** 部分源碼網上收集整理、如有傷害到你的利益、請來信,hjmcu@163.com 我們的免費助學會員會定期幫你刪除掉 ***
*** 編譯器:GCC ***
*** 百度交流空間:http://hi.baidu.com/HJMCU WWW.HJMCU.COM ***
*** 論壇交流:http://bbs.hjmcu.com 歡迎來論壇一分錢不要下載配套的仿真電路 ***
*** 配套的硬件學習板網址:http://shop37031453.taobao.com/ ***
*** 日期:2008.8.8 ***
*** 目標:用C語言寫程序就這么簡單、慧爭祝你1天入門、10天學會、1年精通單片機與C語言、找個好工作 ***
***************************************************************************************************/
//慧凈電子大學生課程設計專用實驗板《HJ-1G》、直接支持AT89S52 STC89C52單片機
//加轉接板后支持AVR ATmega16 32 系列單片機、是你學習單片機的得力助手 一板二用,學完51再學AVR
//HJ-1G 學習板加AVR轉接板后,裝上ATMETAM16 單片機實驗
//HJ-1G 學習板AVR單片機實驗,FM報警實驗
//注意要把JTAGEN 仿真熔絲位設置成1 才能完成本實驗,設置成1時不能用仿真口,只能用ISP下載接口下載程序
//第一排3、4個按鍵按下后,流水燈分別跳動。
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
PORTB = 0X00; //輸出低,LED不亮
DDRB = 0Xff; //PB端口置為輸出口,
PORTD = 0Xc0; //一定要使能上拉電阻,否則會有干擾
DDRD = 0X3F; //K3、K4按鍵(PD6、PD7)設置為輸入端口
while(1)
{
if(!(PIND & (1 << PD6))) //判斷按鍵是否按下
{
_delay_ms(20); //判斷按鍵按下,延時一會再判斷是否按下, 以消除干擾
if(!(PIND & (1 << PD6))) // 按鍵真正按下后,進行相應處理
{
PORTB = 0X55; // 按鍵按下,燈亮
while(!(PIND & (1 << PD6)));//等待按鍵釋放
//PORTB = 0X55; // 把這句話從上面移到這里,按鍵釋放后,燈才點亮
}
}
if(!(PIND & (1 << PD7))) //判斷按鍵是否按下
{
_delay_ms(20); //判斷按鍵按下,延時一會再判斷是否按下, 以消除干擾
if(!(PIND & (1 << PD7))) // 按鍵真正按下后,進行相應處理
{
PORTB = 0Xaa; //
while(!(PIND & (1 << PD7))); //
//PORTB = 0Xaa; //
}
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -