找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1408|回复: 0
打印 上一主题 下一主题
收起左侧

avr单片机LCD1602定时计数测试程序

[复制链接]
跳转到指定楼层
楼主
ID:114509 发表于 2018-12-17 16:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LCD1602定时计数测试

单片机源程序如下:
  1. #include<iom16v.h>
  2. #include <macros.h>
  3. #include "LCD1602.h"

  4. #define uchar unsigned char
  5. #define uint unsigned int

  6. uchar num;

  7. // IO端口定义
  8. void IO_init()
  9. {
  10.          DDRA = 0XFF;
  11.          DDRB = 0XFF;
  12.          DDRC = 0XFF;
  13.          DDRD = 0XFF;
  14.                       
  15.         PORTA = 0X00;
  16.         PORTB = 0X00;
  17.         PORTC = 0X00;
  18.         PORTD = 0XFF;
  19. }

  20. //延时函数
  21. void delayms(uint z)          //8M晶振下,延时1ms
  22. {
  23.         uint x,y;
  24.         for(x=z;x>0;x--)
  25.                  for(y=1333;y>0;y--);
  26. }

  27. void timer1_init()//定时器1初始化
  28. {
  29.          TCCR1B = 0x04; //T/C1控制寄存器 设置256分频
  30.          TCNT1H = 0x85;        //计数寄存器 设置初值 H (65536-(8M/256)=34286=85EE)
  31.          TCNT1L = 0xEE; //计数寄存器 设置初值 L (34286:十进制 85EE:十六进制)
  32.          TIMSK |=BIT(2);//T/C1中断屏蔽寄存器 设置定时器1中断
  33.          SREG|=BIT(7);  //开启总中断
  34. }
  35. void display()
  36. {
  37.         LCD_write_char(0,1,0x30+num/10);
  38.         LCD_write_char(1,1,0x30+num%10);
  39. }
  40. void main()
  41. {
  42.          IO_init();
  43.          timer1_init();//定时器1初始化
  44.          LCD_init(); //LCD初始化
  45.          LCD_clear();//LCD清屏
  46.          while(1)
  47.          {
  48.                   display();
  49.          }
  50. }
  51. #pragma interrupt_handler timer1_isr:9
  52. void timer1_isr()
  53. {
  54.          num++;
  55.          if(num==60)
  56.          {
  57.                   num=0;
  58.          }
  59.          TCNT1H = 0x85;       
  60.          TCNT1L = 0xEE;
  61. }
复制代码

所有资料51hei提供下载:
LCD1602定时计数测试.zip (26.93 KB, 下载次数: 23)


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表