历史上的今天
返回首页

历史上的今天

今天是:2025年01月30日(星期四)

2020年01月30日 | 单片机ATmega8读取165串入拨码开关地址的程序分享

2020-01-30 来源:eefocus

单片机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);//

单片机ATmega8读取165串入拨码开关地址的程序分享

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;

}

}

推荐阅读

史海拾趣

昆泰芯微电子(CONNTEK)公司的发展小趣事

昆泰芯微电子坚持以人为本,践行合作共赢的企业文化。公司注重员工的个人发展和团队协作,鼓励员工积极参与公司的各项活动和决策。同时,公司也积极与合作伙伴建立良好的合作关系,共同推动行业的发展。公司以正直、求实、进取、创新、协同、分享的十二字箴言作为公司从上至下贯彻的做人做事理念,让员工和企业共同成长,共创前程,共享收获。

以上五个故事概述了昆泰芯微电子在电子行业中的重要发展历程和成就。这些故事不仅展现了公司的技术实力和市场竞争力,也体现了公司的企业文化和发展理念。

Good-Ark公司的发展小趣事
确保电源稳定可靠,避免电压波动对电路造成影响。
E-Switch公司的发展小趣事

在E-Switch的发展历程中,品质一直是公司最为重视的方面之一。公司始终坚持严格的质量管理体系,从原材料采购到生产流程控制,再到产品出厂检验,每一个环节都严格把关。正是这种对品质的执着追求,让E-Switch的产品在市场上赢得了良好的口碑。

G24 Innovations公司的发展小趣事

在快速发展的同时,远阳公司始终不忘履行社会责任。公司积极参与公益事业,通过捐款捐物、志愿服务等方式,回馈社会、关爱弱势群体。此外,远阳还注重环境保护和可持续发展,积极推广绿色生产、节能减排等环保理念。公司建立了完善的环境管理体系和能源管理体系,通过技术创新和管理优化,不断降低生产过程中的能耗和排放。这些举措不仅提升了远阳的企业形象和社会声誉,也为企业的长远发展奠定了坚实基础。

Datasensor公司的发展小趣事

为了进一步扩大市场份额和增强技术实力,DATASENSOR公司积极进行收购和扩张。2004年,公司成功收购INFRA和SPECIALVIDEO公司,这两家公司在工业自动化领域拥有丰富的经验和先进的技术,为DATASENSOR公司带来了更多的市场机会和技术优势。此外,公司还在法国、德国、英国和西班牙等国家和地区设立了子公司,实现了全球化的战略布局。

Empro Technology Corp公司的发展小趣事

Empro Technology Corp成立于2005年,由一群热衷于电子技术的工程师创立。在初创阶段,公司专注于研发高效能、低功耗的半导体芯片。经过数年的不懈努力,公司成功推出了一款具有颠覆性技术的芯片产品,其性能远超当时市场上的同类产品,迅速获得了市场的认可。

问答坊 | AI 解惑

ck9561能和lc246混用吗,很着急的,谢谢啊

ck9561能和lc246混用吗,很着急的,谢谢啊…

查看全部问答>

求助:evc下自绘按钮无法输出caption

void CUniButton::DrawButtonCaption(HDC hDC, CRect * pRect, BOOL bEnabled, BOOL bSunken) { // select parent font         int nOldMode = SetBkMode(hDC,OPAQUE);         CString text; &nbs ...…

查看全部问答>

紧急求助!!!!!!启动盘做的总是有问题

我用的是intel82559er网卡,amd的Geode GX!处理器,选用的tornado软件为pc486的,config.h中修改如下“eevER(0,0)host:vxworks h=192.168.0.11 e=192.168.0.12 u=txd pw=targer tn=target”,启动盘插入目标机后,目标机显示几行配置参数,然后显示 ...…

查看全部问答>

STM32F103C8T6的芯片ID有没有可能被擦掉?

vu8 data[64] = {0};int main(void){  //RCC_Config();  for(u32 i=0;i<12;i++){    data = ((vu8*)0x1FFFF7E8);  }}把上面这段代码通过J-Link下载 ...…

查看全部问答>

STM32的VDD和VSS脚短路的问题(不是焊接造成的)急

我一共焊了12块STM32F103C8T6的板子,其中有11块,不能用,经过割线和测试空板子和用放大镜看,我发现不是板子和焊接的问题,而是STM32芯片的VDD和VSS脚短   路。   板子上公有4对VDD和VSS,其中的VDDA(9脚)和VSSA(8 ...…

查看全部问答>

为什么函数不能递归调用

以前有一篇帖子提到函数不能递归调用, 想请教一下各位,为什么不能递归调用, 是绝对不行还是可以有条件的使用?…

查看全部问答>

电桥

本帖最后由 paulhyde 于 2014-9-15 03:30 编辑 电桥    …

查看全部问答>

求助!STM32F103C8 cannot enter debug mode

我新建了项目工程,目标器件stm32F103c8编译成功,用JLINK Flash可以直接烧写进去,用keil MDK不能下载,提示cannot enter debug mode,但我的其他项目工程,用JTAG可以下载,是什么原因?请高手解救!…

查看全部问答>

谷歌Thread与ZigBee HA是融合 谁消灭谁

Google旗下的NestLabs于2014年7月提出的家庭物联网通讯协定技术Thread,并为此成立ThreadGroup的会员、认证机构,将与ZigBee联盟的ZHA(ZigBeeHomeAutomation)技术抗衡,但因两种技术有相同的根基标准,谷歌想做的可能不只是抗衡,而是消灭。 根据D ...…

查看全部问答>

按键扫描的一些疑惑,求指教!!!

在项目中需要一个8*16的矩阵键盘,扫描得出键值之后通过串口发送,mcu用的是xMega,当然这个无关紧要,中间会有串口接收中断。 现在发现的现象是:按键迟滞,按键丢失 我想考虑的是: 1.按键扫描是用哪种方式好? 书本上用的 是    ...…

查看全部问答>