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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6751|回復: 0
收起左側

數碼管中斷顯示+高位滅零處理

[復制鏈接]
ID:80436 發表于 2015-5-21 23:26 | 顯示全部樓層 |閱讀模式
  1. //清理硬盤時發現自己以前寫的,貼上來吧,雖然沒什么水平,
  2. //5毫秒一個顯示周期,理論上顯示20位數碼管不會有閃爍感,
  3. 占用了一個定時器,簡約的算法實現高位滅零處理
  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. //定時器0溢出中斷服務程序
  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. //主函數
  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. }
復制代碼


回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品久久久久一区二区三区 | 亚洲字幕在线观看 | 99久久精品国产一区二区三区 | 国产免费一区二区 | 国产精品99久久久久久www | 久久久不卡网国产精品一区 | 中文字幕一区二区三区四区五区 | 午夜成人免费视频 | 日韩一级免费观看 | 中文字幕不卡视频在线观看 | 国产伦精品一区二区三区照片91 | 国产精品久久精品 | 日韩中文字幕视频在线观看 | 欧美极品一区二区 | 欧美小视频在线观看 | 六月色婷 | 一区二区三区国产精品 | 狠狠干网| 蜜桃色网| 嫩草研究影院 | 少妇诱惑av | 久久国产精品偷 | www.xxxx欧美 | 99久久免费精品国产免费高清 | 欧美自拍另类 | 免费艹逼视频 | 国产精品毛片一区二区三区 | 国产一区二区在线免费观看 | 超碰97在线免费 | 一区二区三区四区在线视频 | 国产成人精品免费视频大全最热 | 黄色毛片网站在线观看 | 一区二区久久精品 | 中文字幕日韩欧美 | 欧美亚洲成人网 | 国产黄色精品在线观看 | 亚洲日韩中文字幕一区 | 国产日韩欧美 | 免费观看羞羞视频网站 | 超碰在线97国产 | 黑人粗黑大躁护士 |