网站大量收购闲置独家精品文档,联系QQ:2885784924

avr利用pwm控制led光暗和蜂鸣器.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
avr利用pwm控制led光暗和蜂鸣器

//ICC-AVR燼pplication燽uilder?/燭arget?燤16? //燙rystal:?.0000Mhz? #include?iom16v.h? #include?macros.h? #define爑char爑nsigned燾har #define爑int爑nsigned爄nt void爌ort_init(void); void爐imer0_init(void); void爄nit_devices(void); void燿elay_short(uint爐); uchar爏can_key(void); void爌ort_init(void)? {? 燩ORTA??x00;? 燚DRA牋=?x00;? 燩ORTB?燘IT(PB3);? 燚DRB牋=燘IT(PB3);? 燩ORTC??x00;?/m103爋utput爋nly? 燚DRC牋=?x00;? 燩ORTD??x00;? 燚DRD牋=?x00;? }? //燱GM:燩WM燩hase?correct //?desired?value:?1KHz //?actual?value:??0.980KHz?(-2.0%) void?timer0_init(void)? {? ?TCCR0?=?0x00;?//stop? ?TCNT0?=?0x01;?//set?count? ?OCR0??=?0xFF;??//set?compare? ?TCCR0?=?0x62;?//start?timer?;?相位修正,?8分頻 }? //call?this?routine?to?initialize燼ll爌eripherals? void爄nit_devices(void)? {? ?/stop爀rrant爄nterrupts爑ntil爏et爑p? 燙LI();?/disable燼ll爄nterrupts? 爌ort_init();? 爐imer0_init();? 燤CUCR??x00;? 燝ICR牋=?x00;? 燭IMSK??x00;?/timer爄nterrupt爏ources? 燬EI();?/re-enable爄nterrupts? ?/all爌eripherals燼re爊ow爄nitialized? } void燿elay_short(uint爐)?/?短延時 { ??uint?i; ??for?(i=0;it;i++); } uchar?scan_key(void)??//?按鍵掃瞄 {? ??uchar?v; ?? ??v?=?0;????? ?? ??if?((PIND??0x07)?!=?0x07) ??{ ? ??if?((PIND??0x01)?==?0)? ??{ ???v?=?1; ????delay_short(1000);?? ??} ?? ??if?((PIND??0x2)?==?0)? ??{ ????v?=?2; ????delay_short(1000);?? ??} ??? ??if?((PIND??0x4)?==?0)? ??{ ????v?=?3; ????delay_short(1000);?? ??} ??}; ??while((PIND??0x07)?!=?0x07);???//?判斷按鍵是不是放開??? ??return?v;?? } void?main(void)? {?? ?uchar?key,?OCR0_V; ? ?init_devices();? ?OCR0_V?=?0xff; ? ?while(1) ?{ ???key?=?scan_key(); ??? ???if?(key??0) ???{ ?????if?(key==1)?//?減少佔空比 ????{? ??????OCR0_V?-=?10; ??????OCR0?=?OCR0_V; ????}; ???? ?????if?(key==2)?//?增加佔空比 ????{? ??????OCR0_V?+=?10; ??????OCR0?=?OCR0_V; ????};???? ???? ?????if?(key==3)?//?全黑,佔空比為100%? ????{? ??????OCR0_V?=?0xff; ??????OCR0?=?OCR0_V; ????};??????

文档评论(0)

shenlan118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档