完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
#include
#include #include #include "seg8.h" uchar numbit=0; uchar keyv=0; uchar key[3]={0,0,0}; uchar num=0; void PS2_init(void) { DDRD=0xfa;//11111010 PORTD=0x05; MCUCR=0b00000010; GICR=0b01000000; SREG|=0x80; } void main(void) { uchar m=0; uchar n=0; uchar a=0; uchar b=0; uchar c=0; uchar d=0; SEG_init(); //数码管 PS2_init(); while(1) { if(num==3) { num=0; m=key[0]/16; n=key[0]%16; a=key[1]/16; b=key[1]%16; c=key[2]/16; d=key[2]%16; } display(m,n,a,b,c,d,14,15); } } #pragma interrupt_handler int0_ps2_isr:2 void int0_ps2_isr(void) { if((numbit>0)&&(numbit<9)) { keyv=keyv>>1; if(PIND&0x01) { keyv|=0x80; } } numbit++; if(numbit==11) { DDRA=0xff; PORTA=0x00; numbit=0; key[num]=keyv; num++; } } 程序如上 数码管显示读取的数据,数码管显示不出数据,连按几次后才会显示FF FF FF还不是键盘的码 连线也没问题 pd2为int0 pd0为数据线 |
|
相关推荐
2 个讨论
|
|
只有小组成员才能发言,加入小组>>
AVR Atmega16 Bootloader程序与上位机LabView程序
5122 浏览 6 评论
#include <ioavr.h>这个头文件我应该下什么编译器
7767 浏览 0 评论
3026 浏览 2 评论
3103 浏览 1 评论
10053 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 05:41 , Processed in 0.423271 second(s), Total 44, Slave 34 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号