ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:15.80KB ,
资源ID:6709749      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6709749.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(51单片机程序计时器.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

51单片机程序计时器.docx

1、51单片机程序计时器计时器1、LCD.c#include #includeunsigned char code number_X= /宽x高=8x16,纵向字节倒序0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, /00x00,0x0F,0x10,0x20,0x20,0x10,0x0F,0x00,0x00,0x10,0x10,0xF8,0x00,0x00,0x00,0x00, /10x00,0x20,0x20,0x3F,0x20,0x20,0x00,0x00,0x00,0x70,0x08,0x08,0x08,0x88,0x70,0x00, /20x00,0x30

2、,0x28,0x24,0x22,0x21,0x30,0x00,0x00,0x30,0x08,0x88,0x88,0x48,0x30,0x00, /30x00,0x18,0x20,0x20,0x20,0x11,0x0E,0x00,0x00,0x00,0xC0,0x20,0x10,0xF8,0x00,0x00, /40x00,0x07,0x04,0x24,0x24,0x3F,0x24,0x00,0x00,0xF8,0x08,0x88,0x88,0x08,0x08,0x00, /50x00,0x19,0x21,0x20,0x20,0x11,0x0E,0x00,0x00,0xE0,0x10,0x88,

3、0x88,0x18,0x00,0x00, /60x00,0x0F,0x11,0x20,0x20,0x11,0x0E,0x00,0x00,0x38,0x08,0x08,0xC8,0x38,0x08,0x00, /70x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x70,0x88,0x08,0x08,0x88,0x70,0x00, /80x00,0x1C,0x22,0x21,0x21,0x22,0x1C,0x00,0x00,0xE0,0x10,0x08,0x08,0x10,0xE0,0x00, /90x00,0x00,0x31,0x22,0x22,0x1

4、1,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, / .0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x00, /-0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /nop0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0

5、x00, /:0x00,0x00,0x00,0x30,0x30,0x00,0x00,0x00;void LCD_WriteCommandE1(unsigned char com) while(CRADD1 & 0x80); CWADD1 = com;void LCD_WriteDataE1(unsigned char dat) while(CRADD1 & 0x80); DWADD1 = dat;void LCD_WriteCommandE2(unsigned char com) while(CRADD2 & 0x80); CWADD2 = com;void LCD_WriteDataE2(u

6、nsigned char dat) while(CRADD2 & 0x80); DWADD2 = dat;void LCD_Init() LCD_WriteCommandE1(0xe2); LCD_WriteCommandE2(0xe2); LCD_WriteCommandE1(0xa4); LCD_WriteCommandE2(0xa4); LCD_WriteCommandE1(0xa9); LCD_WriteCommandE2(0xa9); LCD_WriteCommandE1(0xa0); LCD_WriteCommandE2(0xa0); LCD_WriteCommandE1(0xc0

7、); LCD_WriteCommandE2(0xc0); LCD_WriteCommandE1(0xaf); LCD_WriteCommandE2(0xaf);void LCD_Clear(void)unsigned char i,j; for(i=0;i4;i+) LCD_WriteCommandE1(i+0xb8); LCD_WriteCommandE2(i+0xb8); LCD_WriteCommandE1(0x00); LCD_WriteCommandE2(0x00); for(j=0;j0x50;j+) LCD_WriteDataE1(0x00); LCD_WriteDataE2(0

8、x00); void display_cn(unsigned char lin,unsigned int col,unsigned int len,unsigned char *p) unsigned int seg,i,j;unsigned char a,L,n; switch(lin) case 0: n=0xba;break; case 1: n=0xb8;break; for(i=0;ilen;i+) for(j=0;j2;j+) L=col; LCD_WriteCommandE1(n+j); LCD_WriteCommandE2(n+j); for(seg=0;seg16;seg+)

9、 if (L 61) a = L; LCD_WriteCommandE1(a); LCD_WriteDataE1(*p+); else a = L-61; LCD_WriteCommandE2(a); LCD_WriteDataE2(*p+); L+; col=col+16; void display_number(unsigned char lin,unsigned int col,unsigned char num)unsigned int seg,i,j;unsigned char a,L,n,k; switch(lin) case 0: n=0xba;break; case 1: n=

10、0xb8;break; k=num*16; for(j=0;j2;j+) L=col; LCD_WriteCommandE1(n+j); LCD_WriteCommandE2(n+j); for(seg=0;seg8;seg+) if (L 61) a = L; LCD_WriteCommandE1(a); LCD_WriteDataE1(number_Xk+); else a = L-61; LCD_WriteCommandE2(a); LCD_WriteDataE2(number_Xk+); L+; void display_unsigned_int(unsigned char lin,u

11、nsigned int col,unsigned int dat) unsigned int seg;unsigned char k4; k3=dat%10; k2=(dat/10)%10); k1=(dat/100)%10); k0=(dat/1000)%10); if(k0=0) k0=12; if(k0=12)&(k1=0) k0=12;k1=12; if(k0=12)&(k1=12)&(k2=0)k0=12;k1=12;k2=12; for(seg=0;seg4;seg+) display_number(lin,col,kseg); col=col+10; void display_s

12、igned_int(unsigned char lin,unsigned int col,signed int dat) unsigned int seg;unsigned char k5,a; k0=12; if(dat0) dat=(dat)+1; k0=11; k4=dat%10; k3=(dat/10)%10); k2=(dat/100)%10); k1=(dat/1000)%10); a=k0; if(k1=0) k0=12;k1=a; if(k1=a)&(k2=0) k0=12;k1=12;k2=a; if(k1=12)&(k2=a)&(k3=0)k0=12;k1=12;k2=12

13、;k3=a; for(seg=0;seg5;seg+) display_number(lin,col,kseg); col=col+10; void display_unsigned_char(unsigned char lin,unsigned int col,unsigned char dat) unsigned int seg;unsigned char k3; k1=dat%10; k0=(dat/10)%10); for(seg=0;seg2;seg+) display_number(lin,col,kseg); col=col+10; 1、 LCD.h#include #inclu

14、de #ifndef _LCD_#define _LCD_#define CWADD1 XBYTE0x8000 #define DWADD1 XBYTE0x8001 #define CRADD1 XBYTE0x8002 #define DRADD1 XBYTE0x8003 #define CWADD2 XBYTE0x8004 #define DWADD2 XBYTE0x8005 #define CRADD2 XBYTE0x8006 #define DRADD2 XBYTE0x8007 extern void LCD_Init();extern void display_cn(unsigned

15、char lin,unsigned int col,unsigned int len,unsigned char *p);extern void display_signed_int(unsigned char lin,unsigned int col,signed int dat);extern void display_unsigned_int(unsigned char lin,unsigned int col,unsigned int dat);extern void display_unsigned_char(unsigned char lin,unsigned int col,un

16、signed char dat);extern void LCD_Clear(void);#endif1、MCU.c#include #include MCU.hvoid timer0_init(void) /ok TMOD|=0x01; /Timer0 is 16 bits timer, timer1 is Baud rate generator TH0=0x97; TL0=0xd5; TR0=1; ET0=1;2、MCU.h#ifndef _MCU_#define _MCU_extern void timer0_init(void);#endif3、MAIN.c#include #incl

17、ude#include#include MCU.hvoid wait(unsigned int x) unsigned int i; i=0; for(i=0;i=20) ms_count=0; second_count+; if(second_count=60) second_count=0; minute_count+; if(minute_count=60) minute_count=0; hous_count+; if(hous_count=24) hous_count=0; void main(void)float F;signed int a; LCD_Init(); LCD_Cl

18、ear(); timer0_init( ); display_cn(0,20,3,dzb); display_cn(1,18,1,hous); display_cn(1,50,1,minute); display_cn(1,82,1,second); EA=1; while(1) display_unsigned_char(1,0,hous_count); display_unsigned_char(1,34,minute_count); display_unsigned_char(1,66,second_count); wait(5000); 4、MAIN.h(字模通过软件自建)#ifndef MAIN_H_#define MAIN_H_/ 中文字模库 16x16点阵code unsigned char dzb= /纵向字节倒序 / 计 / 时 / 器;code unsigned char second= / 秒;code unsigned char minute= / 分;code unsigned char hous= / 时;unsigned char ms_count,second_count,minute_count,hous_count;#endif

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2