久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 6662|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

數(shù)碼管中斷顯示+高位滅零處理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:80436 發(fā)表于 2015-5-21 23:26 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
  1. //清理硬盤時(shí)發(fā)現(xiàn)自己以前寫的,貼上來(lái)吧,雖然沒(méi)什么水平,
  2. //5毫秒一個(gè)顯示周期,理論上顯示20位數(shù)碼管不會(huì)有閃爍感,
  3. 占用了一個(gè)定時(shí)器,簡(jiǎn)約的算法實(shí)現(xiàn)高位滅零處理
  4. #include <avr/io.h>
  5. #include <avr/interrupt.h>
  6. unsigned int flag=0;
  7. unsigned char count=0;
  8. unsigned int num=0;
  9. //==================================================
  10. const unsigned char seg[]={        0xC0, // 0
  11. 0xF9, // 1
  12. 0xA4, // 2
  13. 0xB0, // 3
  14. 0x99, // 4
  15. 0x92, // 5
  16. 0x82, // 6
  17. 0xF8, // 7
  18. 0x80, // 8
  19. 0x90 // 9
  20. };


  21. //==================================================

  22. //IO端口初始化
  23. void PortInit(void)
  24. {
  25. DDRA=0XFF;
  26. PORTA=0X00;
  27. DDRB=0XFF;
  28. PORTB=0XFF;
  29. }

  30. //Timer0初始化
  31. void Timer0Init(void)
  32. {
  33. TCCR0 = 0x00; //stop
  34. TCNT0 = 0x06; //set count
  35. OCR0  = 0xFA;  //set compare
  36. TCCR0 = 0x03; //start timer
  37. }

  38. //==================================================

  39. //定時(shí)器0溢出中斷服務(wù)程序
  40. ISR(TIMER0_OVF_vect)
  41. {
  42. TCNT0=0X06;
  43. flag++;
  44. count++;
  45. switch(count)
  46. {
  47. case 1:if(num/1000){PORTA=0X01;PORTB=seg[num/1000];}else PORTB=0XFF;break;
  48. case 2:if(((num/1000)+(num%1000/100))){PORTA=0X02;PORTB=seg[num%1000/100];}else PORTB=0XFF;break;
  49. case 3:if(((num/1000)+(num%1000/100)+(num%100/10))){PORTA=0X04;PORTB=seg[num%100/10];}else PORTB=0XFF;break;
  50. case 4:PORTA=0X08;PORTB=seg[num%10];break;
  51. case 5:count=0;break;
  52. default:break;
  53. }
  54. if (flag==100)
  55. {
  56. flag=0;
  57. num++;
  58. if(num==9999)
  59. {
  60. num=0;
  61. }
  62. }
  63. }

  64. //==================================================

  65. //主函數(shù)
  66. int main(void)
  67. {
  68. cli();
  69.     TIMSK = 0x01; //timer interrupt sources
  70. PortInit();
  71. Timer0Init();
  72. sei();
  73. while(1)
  74.       {
  75.         ;
  76. }
  77. }
復(fù)制代碼


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品a视频一区www | 日韩精品视频在线免费观看 | 国产精品毛片一区二区在线看 | 精品一区二区三区四区五区 | 久久久久久久久久久成人 | 精品亚洲国产成av人片传媒 | 高清18麻豆 | 男人天堂av网站 | 久久久精品在线 | 日本精品一区二区三区视频 | 国产日韩欧美激情 | 97超碰人人 | 精品三区| www成年人视频 | 香蕉国产在线视频 | 亚洲激情网站 | 久久精品欧美一区二区三区麻豆 | 日韩欧美一区在线 | 亚洲免费一区 | 精品成人 | 日韩精品久久久 | 好姑娘影视在线观看高清 | 久久久久久久久99 | 精品伊人久久 | 亚洲免费观看视频网站 | 成人福利网 | 欧美视频网 | 久久亚洲欧美日韩精品专区 | 日日骑 | 高清成人av | 精品国模一区二区三区欧美 | 精品国产欧美一区二区三区成人 | 亚洲国产精久久久久久久 | 欧美成人精品 | 国产精品久久在线 | 日韩在线视频网址 | 亚洲国产视频一区 | 久久久久亚洲精品 | 91精品国产麻豆 | 日韩精品视频在线观看一区二区三区 | 91啪影院 |