AVR单片机程序3458.docx
《AVR单片机程序3458.docx》由会员分享,可在线阅读,更多相关《AVR单片机程序3458.docx(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、/* 文件名 : 闪烁灯.c * 杜邦线接法:用单条杜邦线把PD.0和J38的1端相连接。*/#includde #definee F_CPPU 80000000 /这里的值值是单片机工工作的相关晶晶振频率#includde #definee LED11 PORTDD|=0XXFE /LED=1 LLED不亮#definee LED00 PORTDD&=0XFFE /LED=0 LLED发光int maiin(voiid) DDRRD = 0x01; /PD0定定义为输出,PPD的其他端端口为输入。while(1)LED1; _delaay_ms(500);LED0; _delaay_ms(5
2、00);/* 文件名 : 闪烁灯灯2.c* 创建人 : 东流,2012年2月10日* 版本号 : 1.00* 杜邦线接法法:用8针杜杜邦线把PDD和J38的的1-8连连接(PD00对应J388的1端)。 用杜杜邦线把PBB0对应J338的9端。 用杜杜邦线把PBB1对应J338的10端端。 用杜杜邦线把PBB2对应J338的11端端。 用杜杜邦线把PBB3对应J338的12端端。*/#includde #definee F_CPPU 80000000 /这里的值值是单片机工工作的相关晶晶振频率#includde int maiin(voiid) DDRD = 0xfff;DDRB = 0x00
3、f; while(1)/*北面的的三个LEDD亮*/PORTDD = 0xxf8;PORTBB = 0xxff; _delaay_ms(300);/*东面的的三个LEDD亮*/PORTDD = 0xxc7;PORTBB = 0xxff; _delaay_ms(300);/*南面的的三个LEDD亮*/PORTDD = 0xx3f;PORTBB = 0xxfe;_delaay_ms(300);/*西面的的三个LEDD亮*/PORTDD = 0xxff;PORTBB = 0xxf1;_delaay_ms(300);/*北面的的两个LEDD亮,中间一一个不亮*/PORTDD = 0xxfa;PORTB
4、B = 0xxff;_delaay_ms(300);/*东面的的两个LEDD亮,中间一一个不亮*/PORTDD = 0xxd7;PORTBB = 0xxff;_delaay_ms(300);/*南面的的两个LEDD亮,中间一一个不亮*/PORTDD = 0xxbf;PORTBB = 0xxfe;_delaay_ms(300);/*西面的的两个LEDD亮,中间一一个不亮*/PORTDD = 0xxff;PORTBB = 0xxf5;_delaay_ms(300);/*12个个LED全亮亮*/PORTDD = 0xx00;PORTBB = 0xxf0;_delaay_ms(200);/*12个个L
5、ED全灭灭*/PORTDD = 0xxff;PORTBB = 0xxff;_delaay_ms(200);/*12个个LED全亮亮*/PORTDD = 0xx00;PORTBB = 0xxf0;_delaay_ms(200);/*12个个LED全灭灭*/PORTDD = 0xxff;PORTBB = 0xxff;_delaay_ms(200);_delaay_ms(500); /延延时0.5秒秒/* 文件名 : 闪烁灯灯2.c* 描述 : 在在LED上根根据要求,进进行不同的显显示。 * 杜邦线接法法:用8针杜杜邦线把PDD和J38的的1-8连连接(PD00对应J388的1端)。 用杜杜邦线把
6、PBB0对应J338的9端。 用杜杜邦线把PBB1对应J338的10端端。 用杜杜邦线把PBB2对应J338的11端端。 用杜杜邦线把PBB3对应J338的12端端。*/#includde #definee F_CPPU 80000000 /这里的值值是单片机工工作的相关晶晶振频率#includde #definee uchaar unssignedd charrint maiin(voiid)uchar i, teemp;DDRD = 0xfff;DDRB = 0x00f;PORTB = 0xfff;PORTD = 0xfff;while(1)temp = 0xff7;for(ii=0; i
7、i 1;/值右移移一位tempp = teemp | 0x08;PORTBB = 0xxff;temp = 0x77f;for(ii=0; ii 1;/值右移移一位tempp = teemp | 0x80;PORTDD=0xfff;/* 文件名 : 闪烁灯灯2.c * 杜邦线接法法:用8针杜杜邦线把PDD和J38的的1-8连连接(PD00对应J388的1端)。用杜邦线把PPB0对应JJ38的9端端。用杜邦线线把PB1对对应J38的的10端。用杜邦线把PPB2对应JJ38的111端。用杜邦邦线把PB33对应J388的12端。*/#includde #definee F_CPPU 80000000
8、 /这里的值值是单片机工工作的相关晶晶振频率#includde #definee uchaar unssignedd charr/定义北面的的三个灯的两两灭#definee LED11L PORTTD&=0XXFE /LEDD1=0 LED11红灯发光#definee LED22L PORTTD&=0XXFD /LEDD2=0 LED22黄灯发光#definee LED33L PORTTD&=0XXFB /LEDD3=0 LED33绿灯发光#definee LED11M PORTTD|=00XFE /LEDD1=1 LED红红灯不亮#definee LED22M PORTTD|=00XFD /
9、LEDD2=1 LED黄黄灯不亮#definee LED33M PORTTD|=00XFB /LEDD3=1 LED绿绿灯不亮/定义东面的的三个灯的两两灭#definee LED44L PORTTD&=0XXF7 /LEDD4=0 LED44红灯发光#definee LED55L PORTTD&=0XXEF /LEDD5=0 LED55黄灯发光#definee LED66L PORTTD&=0XXDF /LEDD6=0 LED66绿灯发光#definee LED44M PORTTD|=00XF7 /LEDD4=1 LED红红灯不亮#definee LED55M PORTTD|=00XEF /L
10、EDD5=1 LED黄黄灯不亮#definee LED66M PORTTD|=00XDF /LEDD6=1 LED绿绿灯不亮/定义南面的的三个灯的两两灭#definee LED77L PORTTD&=0XXBF /LEDD7=0 LED77红灯发光#definee LED88L PORTTD&=0XX7F /LEDD8=0 LED88黄灯发光#definee LED99L PORTTB&=0XXFE /LEDD9=0 LED99绿灯发光#definee LED77M PORTTD|=00XBF /LEDD7=1 LED红红灯不亮#definee LED88M PORTTD|=00X7F /LE
11、DD8=1 LED黄黄灯不亮#definee LED99M PORTTB|=00XFE /LEDD9=1 LED绿绿灯不亮/定义西面的的三个灯的两两#definee LED110L PORTTB&=0XXFD /LEDD10=0 LED110红灯发光光#definee LED111L PORTTB&=0XXFB /LEDD11=0 LED111黄灯发光光#definee LED112L PORTTB&=0XXF7 /LEDD12=0 LED112绿灯发光光#definee LED110M PORTTB|=00XFD /LEDD10=1 LED红红灯不亮#definee LED111M PORT
12、TB|=00XFB /LEDD11=1 LED黄黄灯不亮#definee LED112M PORTTB|=00XF7 /LEDD12=1 LED绿绿灯不亮int maiin(voiid) unssignedd charr i;DDRD = 0xfff;/PD口口定义为输出出DDRB = 0x00f;/PB口口定义为输出出PORTD = 0xfff;/PD口口赋值高电平平PORTB = 0x00f;/PB口口赋值高电平平while(1) /*南北红灯亮亮、东西绿灯灯亮、持续时时20秒*/LED1LL; LED2MM;LED3MM;LED4MM;LED5MM;LED6LL;LED7LL;LED8M
13、M;LED9MM;LED100M;LED111M;LED122L;/*这里,我我们调用_ddelay_ms()函函数的时候,参参数不要过大大,最好不要要超过10000,怕引起起溢出*/for(ii=0;i20;i+)_dellay_mss(10000);/延时220个1秒,总共时间220秒/*南北红红灯亮、东西西黄灯亮、持持续时间5秒秒*/LED1LL;LED2MM;LED3MM;LED4M;LED5LL;LED6MM;LED7L;LED8MM;LED9MM;LED10M;LED111L;LED122M;for(ii=0;i5;i+)_dellay_mss(10000);/*南北绿绿灯亮、东西
14、西红灯亮、持持续时间200秒*/LED1MM;LED2MM;LED3LL;LED4L;LED5MM;LED6MM;LED7M;LED8MM;LED9LL;LED10L;LED111M;LED122M;for(ii=0;i20;i+)_dellay_mss(10000);/*南北黄黄灯亮、东西西红灯亮、持持续时间5秒秒*/LED1MM;LED2LL;LED3MM;LED4L;LED5MM;LED6MM;LED10L;LED111M;LED122M;for(ii=0;i5;i+)_dellay_mss(10000);/* 文件名 : 数码码管显示.cc * 杜邦线接法法:用8针排排线把PD口口和J
15、12的的1-8连接接(PD.00接J12的的1端)。 用88针排线把PPB口和J113的1-88连接(PBB.7接J113的1端)。 */#includde #definee F_CPPU 80000000 /这里的值值是单片机工工作的相关晶晶振频率#includde #definee uchaar unssignedd charr#definee uintt unssignedd int/数码管的段段码编码uchar ttable16 = 0x33f,0x006,0x55b,0x44f,0x666,0x66d,0x77d,0x007,0x77f,0x66f,0x777,0x77c,0x339
16、,0x55e,0x779,0x771;/下一行的数数组可以显示示数值外,还还可以显示数数码管的点uchar ttable_d16 = 00xbf,00x86,00xdb,00xcf,00xe6,00xed,00xfd,00x87,00xff,00xef,00xf7,00xfc,00xb9,00xde,00xf9,00xf1;int maiin(voiid) uchar i=0;DDRB = 0xfff; DDRRD = 0xff; PORTB = 0x000; /P22口控制的数数码管的位选选,当P2口口的某一位为为低电平时,点点亮。顾客可可以修改这里里的值。 /比如如改为0xffe,就是最最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- AVR 单片机 程序 3458
限制150内