📄 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 + -