12864液晶+7289模块显示温度和电压 程序.doc

12864液晶+7289模块显示温度和电压 程序.doc

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

附录:程序清单 主函数: #include reg52.h #include ISR.h #include general_purpose.h #include lcd12864.h #include DS18B20.h #include ADC0832.h void main() { Init_12864(); //人机界面初始化: Write_Cmd_12864( 0x80 ); Write_String_12864(实时监控); //中断初始化: Init_INTs(); while ( 1 ) { } } 中断服务程序: #include reg52.h #include general_purpose.h #include lcd12864.h #include DS18B20.h #include ADC0832.h #define TIMER0 50 unsigned int timer0_counter = TIMER0; #define TIMER1 50 中断函数库 //1. 中断初始化函数: void Init_INTs() { //定时器初始化: TMOD = 0x01; TF0 = 1; //中断使能: ET0 = 1; //开全局中断: EA = 1; } void INT0_isr() interrupt 0 { } void Timer0_isr() interrupt 1 { TR0 = 0; TH0 = ( 65536 - 10000 ) / 256; TL0 = ( 65536 - 10000 ) % 256; TR0 = 1; if ( !(--timer0_counter) ) { timer0_counter = TIMER0; Get_Temp_DS18B20(); Write_Cmd_12864( 0x88 ); Write_String_12864(当前温度:); Write_String_12864(temp_buffer); Get_Volt_ADC0832(); Write_Cmd_12864( 0x98 ); Write_String_12864(当前电压: ); Write_String_12864(volt_buffer); } } 通用函数库: #include reg52.h #include intrins.h //12MHz时,取1;24MHz时,取2 #define TIME_US 1 //12MHz时,取118;24MHz时,取247 #define TIME_MS 118 //1. us延时函数: void delay_us( unsigned int us ) // 1:21.5us; 2:33.5 40:490 { unsigned int i; for ( i = us * TIME_US ; i 0 ; i-- ) _nop_(); } //2. ms延时函数: void delay_ms( unsigned int ms ) { unsigned int i,j; for ( i = ms ; i 0 ; i-- ) for ( j = TIME_MS ; j 0 ; j-- ); } //3. 指数函数: unsigned int exp( int base , unsigned int power ) { unsigned int result = 1; while ( power-- ) { result *= base; } return result; } LCD12864函数库: #include intrins.h #include general_purpose.h #include lcd12864.h //全局变量: //LCD控制寄存器lcd_reg: //unsigned char lcd_reg = 0x00; //12864行选择: unsigned char code line_select_12864[4]={0x80,0x90,0x88,0x98}; //1. 向12864写指令: void Write_Cmd_12864( unsigned char cmd_12864 ) { Set_PSB_12864(); Clr_RS_12864(); Clr_RW_12864(); Clr_EN_12864(); _nop

文档评论(0)

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

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

1亿VIP精品文档

相关文档