键盘调节参数LCD5110同步显示.doc

上传人:cl****1 文档编号:550352069 上传时间:2022-12-29 格式:DOC 页数:37 大小:168KB
返回 下载 相关 举报
键盘调节参数LCD5110同步显示.doc_第1页
第1页 / 共37页
键盘调节参数LCD5110同步显示.doc_第2页
第2页 / 共37页
键盘调节参数LCD5110同步显示.doc_第3页
第3页 / 共37页
键盘调节参数LCD5110同步显示.doc_第4页
第4页 / 共37页
键盘调节参数LCD5110同步显示.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《键盘调节参数LCD5110同步显示.doc》由会员分享,可在线阅读,更多相关《键盘调节参数LCD5110同步显示.doc(37页珍藏版)》请在金锄头文库上搜索。

1、#include /* common defines and macros */#include #pragma LINK_INFO DERIVATIVE mc9s12xs128#define LCD_SCEPORTB_PB3#define LCD_RST PORTB_PB4#define LCD_DCPORTB_PB2#define LCD_SDINPORTB_PB1#define LCD_SCLKPORTB_PB0#define keyO1 PORTA_PA1 /#define keyO2 PORTA_PA2 /#define keyO3 PORTA_PA3 /#define keyI1

2、PORTA_PA4 /#define keyI2 PORTA_PA5 /#define keyI3 PORTA_PA6 /#define keyI4 PORTA_PA7 /#define com 0#define data1unsigned char keyout;unsigned char keycon;unsigned char keybit;unsigned char keybuf;unsigned char i=0;unsigned char temp;unsigned long int result;unsigned char enc03=103 ;unsigned char mma

3、7260=88;unsigned char speed=50 ;unsigned char speed_p=100 ;unsigned char speed_i=200 ;unsigned char angle_p=50 ;unsigned char angle_d=100;unsigned char direction_p=100;unsigned char direction_d=50; unsigned char ge,shi,bai;float AD_result8;/存放AD转换结果unsigned char lingpian;const char shuzi=0x00, 0x3E,

4、 0x51, 0x49, 0x45, 0x3E,/ 00x00, 0x00, 0x42, 0x7F, 0x40, 0x00,/ 10x00, 0x42, 0x61, 0x51, 0x49, 0x46,/ 20x00, 0x21, 0x41, 0x45, 0x4B, 0x31,/ 30x00, 0x18, 0x14, 0x12, 0x7F, 0x10,/ 40x00, 0x27, 0x45, 0x45, 0x45, 0x39,/ 50x00, 0x3C, 0x4A, 0x49, 0x49, 0x30,/ 60x00, 0x01, 0x71, 0x09, 0x05, 0x03,/ 70x00, 0

5、x36, 0x49, 0x49, 0x49, 0x36,/ 80x00, 0x06, 0x49, 0x49, 0x29, 0x1E,/ 90x00, 0x14, 0x08, 0x3E, 0x08, 0x14,/ * 10;const char zimu= 0x00, 0x20, 0x54, 0x54, 0x54, 0x78,/ a 0 0x00, 0x7F, 0x48, 0x44, 0x44, 0x38,/ b 1 0x00, 0x38, 0x44, 0x44, 0x44, 0x20,/ c 2 0x00, 0x38, 0x44, 0x44, 0x48, 0x7F,/ d 3 0x00, 0x

6、38, 0x54, 0x54, 0x54, 0x18,/ e 4 0x00, 0x08, 0x7E, 0x09, 0x01, 0x02,/ f 5 0x00, 0x18, 0xA4, 0xA4, 0xA4, 0x7C,/ g 6 0x00, 0x7F, 0x08, 0x04, 0x04, 0x78,/ h 7 0x00, 0x00, 0x44, 0x7D, 0x40, 0x00,/ i 8 0x00, 0x40, 0x80, 0x84, 0x7D, 0x00,/ j 9 0x00, 0x7F, 0x10, 0x28, 0x44, 0x00,/ k 10 0x00, 0x00, 0x41, 0x

7、7F, 0x40, 0x00,/ l 11 0x00, 0x7C, 0x04, 0x18, 0x04, 0x78,/ m 12 0x00, 0x7C, 0x08, 0x04, 0x04, 0x78,/ n 13 0x00, 0x38, 0x44, 0x44, 0x44, 0x38,/ o 14 0x00, 0xFC, 0x24, 0x24, 0x24, 0x18,/ p 15 0x00, 0x18, 0x24, 0x24, 0x18, 0xFC,/ q 16 0x00, 0x7C, 0x08, 0x04, 0x04, 0x08,/ r 17 0x00, 0x48, 0x54, 0x54, 0x

8、54, 0x20,/ s 18 0x00, 0x04, 0x3F, 0x44, 0x40, 0x20,/ t 19 0x00, 0x3C, 0x40, 0x40, 0x20, 0x7C,/ u 20 0x00, 0x1C, 0x20, 0x40, 0x20, 0x1C,/ v 21 0x00, 0x3C, 0x40, 0x30, 0x40, 0x3C,/ w 22 0x00, 0x44, 0x28, 0x10, 0x28, 0x44,/ x 23 0x00, 0x1C, 0xA0, 0xA0, 0xA0, 0x7C,/ y 24 0x00, 0x44, 0x64, 0x54, 0x4C, 0x

9、44,/ z 25 0x00, 0x40, 0x40, 0x40, 0x40, 0x40,/ _ 26 ;/总线时钟/void SetBusCLK_64M(void) CLKSEL=0X00; /disengage PLL to system PLLCTL_PLLON=1; /turn on PLL SYNR =0xc0 | 0x07; REFDV=0x80 | 0x01; POSTDIV=0x00; /pllclock=2*osc*(1+SYNR)/(1+REFDV)=128MHz; _asm(nop); /BUS CLOCK=64M _asm(nop); while(!(CRGFLG_LO

10、CK=1); /when pll is steady ,then use it; CLKSEL_PLLSEL =1; /engage PLL to system; /五路AD初始化/void AD_init(void) / ATD0CTL0=0; /AD转换起始通道为AN0 ATD0CTL1=0x00; /允许指定AD口做外部触发输入口8位结果,采样前采样电容不放电 1 ATD0CTL2=0x40; /启动AD 标志寄存器快速清零 ATD0CTL3=0xc0; /结果右对齐,非FIFO模式,冻结模式继续转换 转换长度8 ATD0CTL4=0x03; /0000 0011 -采样时间为 4 个

11、AD 时钟周期 ,PRS=1,ATDClock=BUSClock/(2*(PRS+1)=8MHz ATD0CTL5=0x30; /通道0 连续转换起始通道为AN0 ATD0DIEN=0x00; /禁用数字输入缓冲 /读取AD值/void get_ad(void) AD_result0=ATD0DR0L; AD_result1=ATD0DR1L; AD_result2=ATD0DR2L; AD_result3=ATD0DR3L; AD_result4=ATD0DR4L; AD_result5=ATD0DR5L; AD_result6=ATD0DR6L; AD_result7=ATD0DR7L;/

12、一个简单的延时函数/void delay(unsigned int ms) unsigned int i,j; for(j=0;jms;j+) for(i=0;i110;i+); /向液晶写命令和数据/void send_comordata(unsigned char Data,unsigned char Com)unsigned char a;LCD_SCE=0;LCD_DC=Com;for(a=0;a8;a+)if(Data&0x80)LCD_SDIN=1;elseLCD_SDIN=0;LCD_SCLK=0;LCD_SCLK=1;Data=Data1;LCD_SCE=1;/设置显示地址/void LCD_POS(unsigned char X,unsigned char Y)send_comordata(0x40|Y,com);send_comordata(0x80|X,com);/液晶清屏函数/void LCD_clear(void)unsigned char t;unsigned char k;LCD_POS(0,0);for(t=0;t6;t+) for(k=0;k84;k+)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号