×

单片机ATmega8读取165串入拨码开关地址的程序资料下载

消耗积分:0 | 格式:pdf | 大小:74.25KB | 2021-04-26

李伟

分享资料个

单片机ATmega8读取165串入的拨码开关地址晶振:内部1M////Author:wanghu////AVRGCC@2008.6.1//#include#include/**********定义位操作的位移宏bywanghu********/#definesetbit(val,bitn)(val|=(1《《(bitn)))//#defineclrbit(val,bitn)(val&=~(1《《(bitn)))//#definegetbit(val,bitn)(val&(1《《(bitn)))////使用方法:if(getbit(PINB,7))////setbit(PORTB,0);////elseclrbit(PORTB,0);//unsignedcharreadaddress(void){unsignedcharadd=0;unsignedchari=0;clrbit(PORTC,1);setbit(PORTC,1);for(i=0;i《7;i++){add|=getbit(PINC,0);//上电后QH的值即是165的第8位值,可以直接赋值完后,给165上升沿读取下个数据add《《=1;clrbit(PORTC,2);setbit(PORTC,2);}add|=getbit(PINC,0);returnadd;}intmain(void){unsignedchari,j,k;//定义变量unsignedcharadd=0;DDRB=0xFF;PORTB=0;PORTC=0x01;DDRC=0xFE;DDRD=0xFF;i=1;for(j=0;j《8;j++)//循环8次,即PA0~~PA7轮流闪亮,流水一遍自检{PORTB=i;//按位取反,反相输出,低电平有效for(k=0;k《10;k++)_delay_ms(30);//延时30*10=300毫秒,可自行调节i=i《《1;//左移一位}while(1){add=readaddress();PORTB=add;PORTD=add;}}(mbbeetchina)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !