欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: STC89C52單片機計算器與萬年歷Proteus仿真不顯示,求指導 [打印本頁]

作者: 王小歪    時間: 2021-7-13 14:59
標題: STC89C52單片機計算器與萬年歷Proteus仿真不顯示,求指導
Proteus仿真無顯示,求大神指導




單片機源程序如下:
#include <reg52.h>
#include <intrins.h>  //包含_nop_()函數定義的頭文件
#define uchar unsigned char
#define uint  unsigned int
//以下是對1302的定義
sbit  clk= P2^3;              //實時時鐘時鐘線引腳
sbit  IO= P2^2;              //實時時鐘數據線引腳
sbit  rst =P2^1;              //實時時鐘復位線引腳
uchar second,minute,hour,week,day,month,year;       //8421碼表示的時間  高四位用于表示十位,低四位用于表示個位
char second1,minute1,hour1,week1,day1,month1,year1;//十進制表示的時間  也即普通意義下的時間
uchar read_byte(uchar com);
uchar readyear_byte(uchar com);
void write_byte(uchar com,uchar date);
void init_1302();
void readtime();
//以下是對lcd1602的定義
sbit wela=P2^6;
sbit dula=P2^7;
uchar table[]="0123456789";
sbit LCM_RS=P2^6;    //寄存器選擇位,將RS位定義為P2.6引腳
sbit LCM_EN=P2^5;     //使能信號位,將E位定義為P2.5引腳
bit lcd_bz(void);
void write_com(unsigned char CMD);
void write_date(unsigned char dataW);
void init_1602();
void displaytime();
void delaynms(unsigned char n);
//以下是對按鍵調時程序的定義
sbit mode=P1^0;         //調整鬧鐘或者時間時的選擇按鍵
sbit plus=P1^1;         //加1鍵
sbit minus=P1^2; //減1鍵
sbit s1=P1^3;         //計算器和萬年歷切換鍵
void key();
void delay20ms();
//以下是對溫度采集部分的定義
sbit DS=P2^0;                          //DS18B20數據端口
uchar code wendu[]="0123456789";        //利用一個溫度表解決溫度顯示亂碼
void write_byte(uchar com,uchar date);         //寫一個字節
void tmpDelay(int num);                                        // 延時
void Init_DS18B20();                                        //初始化DS18B20
unsigned char ReadOneChar();                    //讀一個字節
void WriteOneChar(unsigned char dat);        //寫數據
unsigned int Readtemp();                                //讀溫度
void display();                                                        //顯示溫度

uchar num;         
sbit lcden=P2^5; //定義引腳
sbit rs=P2^6;

sbit busy=P0^7;         //LCD1602忙
//計算器有關變量定義
char i,j,temp,num_1,num1_2=0;
long a,b,c;     //a,第一個數 b,第二個數 c,得數
float a_c,b_c;
uchar flag,fuhao;//flag表示是否有符號鍵按下,fuhao表征按下的是哪個符號

uchar code table1[]={
7,8,9,0,
4,5,6,0,
1,2,3,0,
0,0,0,0};
uchar code table2[]={
7,8,9,0x2f-0x30,
4,5,6,0x2a-0x30,
1,2,3,0x2d-0x30,
0x01-0x30,0,0x3d-0x30,0x2b-0x30};

void delay2(uchar z) // 延遲函數
{
uchar y;
for(z;z>0;z--)
   for(y=0;y<110;y++);
}

void check() // 判斷忙或空閑
{
do{
    P0=0xFF;    rs=0;     //指令
    lcden=0;     //禁止讀寫
    delay2(1); //等待,液晶顯示器處理數據
    lcden=1;     //允許讀寫
        delay2(1);        busy=0;
    }while(busy==1); //判斷是否為空閑,1為忙,0為空閑
}
void write_com1(uchar com) // 寫指令函數
{
P0=com;    //com指令付給P0口
rs=0;lcden=0;
check();lcden=1;
}

Proteus仿真不顯示,求指導: 仿真.rar (21.86 KB, 下載次數: 4)
源程序.rar (73.68 KB, 下載次數: 8)
原理圖和PCB.rar (615.34 KB, 下載次數: 5)





歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1