10 黑幣
1 我建了一個(gè)CLOCK的文件夾(里面包含 output , src , project三個(gè)文件夾)
2 我在KEIL的Target的 output,和list文件設(shè)置路徑都是上面的output , C51里面的路徑設(shè)置是src
3 在src里面有 config.h , main.c , lcd1602.c , lcd1602.h 四個(gè)文件
4 config.h ,里面只包含了51頭文件
lcd1602.c 包含了config.h,lcd1602.h 頭文件
main.c 里包含config.h,lcd1602.h
5 程序都是OK的,但是報(bào)警告 uncalled segment ,ignored for overlay process
config.h
#ifndef _CONFIG_H
#define _CONFIG_H
/* 通用頭文件 */
#include <reg52.h>
#include <intrins.h>
/* 數(shù)據(jù)類型定義 */
typedef signed char int8; // 8位有符號整型數(shù)
typedef signed int int16; //16位有符號整型數(shù)
typedef signed long int32; //32位有符號整型數(shù)
typedef unsigned char uint8; // 8位無符號整型數(shù)
typedef unsigned int uint16; //16位無符號整型數(shù)
typedef unsigned long uint32; //32位無符號整型數(shù)
/* 全局運(yùn)行參數(shù)定義 */
#define SYS_MCLK (11059200/12) //系統(tǒng)主時(shí)鐘頻率,即振蕩器頻率÷12
/* IO引腳分配定義 */
sbit KEY_IN_1 = P2^4; //矩陣按鍵的掃描輸入引腳1
sbit KEY_IN_2 = P2^5; //矩陣按鍵的掃描輸入引腳2
sbit KEY_IN_3 = P2^6; //矩陣按鍵的掃描輸入引腳3
sbit KEY_IN_4 = P2^7; //矩陣按鍵的掃描輸入引腳4
sbit KEY_OUT_1 = P2^3; //矩陣按鍵的掃描輸出引腳1
sbit KEY_OUT_2 = P2^2; //矩陣按鍵的掃描輸出引腳2
sbit KEY_OUT_3 = P2^1; //矩陣按鍵的掃描輸出引腳3
sbit KEY_OUT_4 = P2^0; //矩陣按鍵的掃描輸出引腳4
sbit ADDR0 = P1^0; //LED位選譯碼地址引腳0
sbit ADDR1 = P1^1; //LED位選譯碼地址引腳1
sbit ADDR2 = P1^2; //LED位選譯碼地址引腳2
sbit ADDR3 = P1^3; //LED位選譯碼地址引腳3
sbit ENLED = P1^4; //LED顯示部件的總使能引腳
#define LCD1602_DB P0 //1602液晶數(shù)據(jù)端口
sbit LCD1602_RS = P1^0; //1602液晶指令/數(shù)據(jù)選擇引腳
sbit LCD1602_RW = P1^1; //1602液晶讀寫引腳
sbit LCD1602_E = P1^5; //1602液晶使能引腳
sbit DS1302_CE = P1^7; //DS1302片選引腳
sbit DS1302_CK = P3^5; //DS1302通信時(shí)鐘引腳
sbit DS1302_IO = P3^4; //DS1302通信數(shù)據(jù)引腳
sbit I2C_SCL = P3^7; //I2C總線時(shí)鐘引腳
sbit I2C_SDA = P3^6; //I2C總線數(shù)據(jù)引腳
sbit BUZZER = P1^6; //蜂鳴器控制引腳
sbit IO_18B20 = P3^2; //DS18B20通信引腳
sbit IR_INPUT = P3^3; //紅外接收引腳
#endif
main.c
#include "config.h"
#include "lcd1602.h"
void main()
{
我來回答
clock.zip
2018-3-18 08:25 上傳
點(diǎn)擊文件名下載附件
28.94 KB, 下載次數(shù): 7