linking... *** ERROR L104: MULTIPLE PUBLIC DEFINITIONS SYMBOL: MAIN MODULE: .\1602时间显示.obj (1602时糭_允_)
程序如下 #include <reg51.h> #include <intrins.h>
typedef unsigned char BYTE; typedef unsigned int WORD; typedef bit BOOL ; sbit rs = P2^0; sbit rw = P2^1; sbit ep = P2^2; BYTE code dis1[] = {"welcome!"}; BYTE code dis2[] = {"xingyan de EMAIL:gzxingyan@163.COM"};
delay(BYTE ms) { // 延时子程序 BYTE i; while(ms--) { for(i = 0; i< 250; i++) { _nop_(); _nop_(); _nop_(); _nop_(); } } }
BOOL lcd_bz() { // 测试LCD忙碌状态 BOOL result; rs = 0; rw = 1; ep = 1; _nop_(); _nop_(); _nop_(); _nop_(); result = (BOOL)(P0 & 0x80); ep = 0; return result; } lcd_wcmd(BYTE cmd) { // 写入指令数据到LCD while(lcd_bz()); rs = 0; rw = 0; ep = 0; _nop_(); _nop_(); P0 = cmd; _nop_(); _nop_(); _nop_(); _nop_(); ep = 1; _nop_(); _nop_(); _nop_(); _nop_(); ep = 0; }
lcd_pos(BYTE pos) { //设定显示位置 lcd_wcmd(pos | 0x80); }
lcd_wdat(BYTE dat) { //写入字符显示数据到LCD while(lcd_bz()); rs = 1; rw = 0; ep = 0; P0 = dat; _nop_(); _nop_(); _nop_(); _nop_(); ep = 1; _nop_(); _nop_(); _nop_(); _nop_(); ep = 0; }
lcd_init() { //LCD初始化设定 lcd_wcmd(0x38); // delay(1); lcd_wcmd(0x0c); // delay(1); lcd_wcmd(0x06); // delay(1); lcd_wcmd(0x01); //清除LCD的显示内容 delay(1); } main( ) { BYTE i; lcd_init(); // 初始化LCD delay(10); lcd_pos(0); // 设置显示位置为第一行的第1个字符 i = 0; while(dis1 != '\0') { // 显示字符"welcome!" lcd_wdat(dis1); i++; } lcd_pos(0x40); i=0; while(dis2 != '\0') { lcd_wdat(dis2); i++; } } |