文档详情

AVR控制矩阵键盘,12864显示简单计算器(国外英文资料).doc

发布:2017-06-05约9.55千字共29页下载文档
文本预览下载声明
AVR控制矩阵键盘,12864显示简单计算器(国外英文资料) # include iom16v. H # include macros. H # define uint unsigned int # define uchar unsigned char # define RS_0 (PORTA = ~ BIT (7)) # define RS_1 (PORTA | = BIT (7)) # define WR_0 (PORTA = ~ BIT (6)) # define WR_1 (PORTA | = BIT (6)) # define EN_0 (PORTA = ~ BIT (5)) # define EN_1 (PORTA | = BIT (5)) Uchar temp, key, num, I, n, s, k = 0, d, w, h, jj, Chen, ch, m; Uchar x81 d = 0; Uchar jia [] = +; Uchar jian [] = -; Uchar cheng [] = *; Uchar chu [] = /; Void delay (uint z) { Uint I, j; For (I = z;) For (j = 114; j; ; j --); } Uchar anjian () { Uchar I; Uchar num1. PORTB = 0 xef; / / low in, scan first DDRB = 0 xf0; / / the key is 00000000000 If ((PINB 0x01) = = = 0) / / determines if the PA0 is 0, then s1 is pressed { Delay (1); / / delay cancellation If (PINB 0x01) = = 0) / / there is a press button {n + +; Delay (1); / / delay cancellation Key = 0; Write_data (0 x30 + key); While ((! PINA 0x01)) If (s = = 1) { H++; } If (s! = 1) { W++; } / / return 0; / / wait for the button to loosen } } / / button 1 If ((PINB 0x02) = = 0) / / determines if the PA0 is 0, then s1 is pressed { Delay (1); / / delay cancellation If ((PINB 0x02) = = 0) / / there is a button pressed {n + +; Delay (1); / / delay cancellation Key = 1; Write_data (0 x30 + key); ((! PINA 0x02)) / / wait for the button to loosen / / return 1; If (s = = 1) { H++; } If (s! = 1) { W++; } } } / / button 2 If ((PINB 0x04) = = 0) / / determines if the PA0 is 0, then s1 is pressed { Delay (1); / / delay cancellation If (PINB 0x04) = = 0) / / there is a press button {n + +; Delay (1); / / delay cancellation Key = 2; Write_data (0 x30 + key); While ((.pina 0X04)) / / wait for the button to loosen / / return 2; If (s = = 1) { H++; } If (s! = 1) {w++; } } } / / button 3 If ((PINB 0x08) = = = 0) / / determines if the PA0 is 0, then s1 is pressed { Delay (1); / / delay cancellation If ((PINB 0x08) = = 0) / / there is a press button {n + +; Delay (1); / / delay cancellation Key
显示全部
相似文档