成都理工大学毕业论文 — 交通灯
返回:
******************************************************************/ void key_scan() {
if (KEY1 == 0) {
Delay1Ms(10); //按下延时消颤 if (KEY1 == 0) {
if(key_flag == 1) key_flag = 0; //取消 else
key_flag = 1; //确定 }
while(KEY1 == 0);
Delay1Ms(5); //弹起延时消颤 while(KEY1 == 0); }
if (KEY2 == 0) {
Delay1Ms(10); //按下延时消颤 if (KEY2 == 0) {
if(key_flag == 2) key_flag = 0; //取消 else
key_flag = 2; //确定 }
while(KEY2 == 0);
Delay1Ms(5); //弹起延时消颤 while(KEY2 == 0); }
if (KEY3 == 0) {
Delay1Ms(10); //按下延时消颤 if (KEY3 == 0) {
if(key_flag == 3) key_flag = 0; //取消 else
key_flag = 3; //确定 }
while(KEY3 == 0);
Delay1Ms(5); //弹起延时消颤 while(KEY3 == 0);
}if (KEY4 == 0) {
Delay1Ms(10); //按下延时消颤 if (KEY4 == 0) {
31
成都理工大学毕业论文 — 交通灯
if(key_flag == 4) key_flag = 0; //取消 else
key_flag = 4; //确定 }
while(KEY4== 0);
Delay1Ms(5); //弹起延时消颤 while(KEY4 == 0); } }
/*========================================================================= 名称: void Delay1Ms(uchar t); 功能:延时1ms 参数:t,最大255 调用: 无 返回:无
=========================================================================*/ void Delay1Ms(uchar t) {
uchar i;
for (;t>0;t--) {
for (i=0;i<138;i++) {
_nop_();_nop_();_nop_();_nop_();_nop_(); } } }
32
成都理工大学毕业论文 — 交通灯
参考文献及网站:
[1] 李朝青.单片机原理及接口技术(修订版).北京:北京航空航天大学出版社,1998年 [2] 李广弟.单片机基础.北京:北京航空航天大学出版社,1992年
[3] 何立民.单片机应用技术大全.北京:北京航空航天大学出版社, 1994年 [4] 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大学出版社,1990年 [5] 谭浩强.单片机课程设计. 北京:清华大学出版社,1989年 [6]www.cepart.com单片机学习网
[7]边海龙,单片机开发与典型工程项目,电子工业出版社,2008年 [8]郭天翔单片机网络视频,2007年。 [9]www.21ic.com 21IC单片机学习网。
33