久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2433|回復: 7
收起左側

單片機中斷程序編寫時鐘出現不會調用程序是什么回事?

[復制鏈接]
ID:816038 發表于 2020-8-28 16:31 | 顯示全部樓層 |閱讀模式
我便寫完程序后下載到單片機里只能初始化,時鐘不會走動
并且出現警告

警告其中的程序未被調用

警告其中的程序未被調用



時鐘程序.docx

13.56 KB, 下載次數: 8

回復

使用道具 舉報

ID:164602 發表于 2020-8-28 17:32 | 顯示全部樓層
你的截圖顯示的警告是那個函數沒被調用。為什么沒被調用?是不是你說的什么中斷程序沒被調用?我看不到程序,當然就不知道了嘛。
回復

使用道具 舉報

ID:155507 發表于 2020-8-28 17:35 | 顯示全部樓層
給你改了,對比一下就知道哪里錯了。



  1. #include <reg52.h>
  2. #define uchar unsigned char
  3. #define uint unsigned int
  4. sbit dula=P2^6;
  5. sbit wela=P2^7;
  6. sbit lcdrs=P3^5;
  7. sbit lcdwr=P3^6;
  8. sbit lcden=P3^4;
  9. uchar code table[]="  2020-8-27 Thu";
  10. uchar code table1[]="   00:00:00";
  11. void write_com(uchar com);
  12. void write_data(uchar dat);
  13. void write_sfm(uchar add,uchar date);
  14. uchar n,shi=11,fen=50,miao=50;
  15. void delay(uint z)
  16. {       
  17.         uint x,y;
  18.         for(x=z;x>0;x--)
  19.         {
  20.                 for(y=110;y>0;y--)
  21.                 {
  22.                 }       
  23.         }
  24. }
  25. void init()
  26. {
  27.         uchar a;
  28.         miao=0;
  29.         dula=0;
  30.         wela=0;
  31.         lcdrs=0;
  32.         lcdwr=0;
  33.         lcden=0;
  34.         write_com(0x38);
  35.         write_com(0x0c);
  36.         write_com(0x06);
  37.         write_com(0x01);
  38.         write_com(0x80);
  39.         for(a=0;a<15;a++)
  40.         {
  41.                 write_data(table[a]);
  42.                 delay(5);
  43.         }
  44.         write_com(0x80+0x40);
  45.         for(a=0;a<11;a++)
  46.         {
  47.                 write_data(table1[a]);
  48.                 delay(5);
  49.         }
  50.         TMOD=0x01;
  51.         TH0=(65536-50000)/256;
  52.         TL0=(65536-50000)%256;
  53.         EA=1;
  54.         ET0=1;
  55.         TR0=1;
  56. }
  57. void write_com(uchar com)
  58. {
  59.         lcdrs=0;
  60.         lcdwr=0;
  61.         lcden=0;
  62.         P0=com;
  63.         delay(5);
  64.         lcden=1;
  65.         delay(15);
  66.         lcden=0;
  67. }
  68. void write_data(uchar dat)
  69. {
  70.         lcdrs=1;
  71.         lcdwr=0;
  72.         lcden=0;
  73.         P0=dat;
  74.         delay(5);
  75.         lcden=1;
  76.         delay(15);
  77.         lcden=0;
  78. }
  79. void main()
  80. {
  81.         init();
  82.         while(1)  //;  多寫分號
  83.         {
  84.                 if(n==20)
  85.                 {
  86.                         n=0;
  87.                         miao++;
  88.                         if(miao==60)
  89.                         {
  90.                                 miao=0;
  91.                                 fen++;
  92.                                 if(fen==60)
  93.                                 {
  94.                                         fen=0;
  95.                                         shi++;
  96.                                         if(shi==24)
  97.                                         {
  98.                                                 shi=0;
  99.                                         }
  100.                                 }
  101.                         }
  102.                         write_sfm(9,miao);
  103.                         write_sfm(6,fen);
  104.                         write_sfm(3,shi);
  105.                        
  106.                 }       
  107.         }
  108. }

  109. void write_sfm(uchar add,uchar date)
  110. {
  111.         uchar shi,ge;
  112.         shi=date/10;
  113.         ge=date%10;
  114.         write_com(0x80+0x40+add);
  115.         write_data(0x30+shi);
  116.         write_data(0x30+ge);
  117. }

  118. void timer0() interrupt 1
  119. {       
  120.         TH0=(65536-50000)/256;
  121.         TL0=(65536-50000)%256;
  122.         n++;
  123. }


復制代碼
回復

使用道具 舉報

ID:213173 發表于 2020-8-28 17:37 | 顯示全部樓層
void main()
{
        init();
        while(1)//; 多了分號
        {
                if(n==20)
                {
                        n=0;
                        miao++;
                        if(miao==60)
                        {
                                miao=0;
                                fen++;
                                if(fen==60)
                                {
                                        fen=0;
                                        shi++;
                                        if(shi==24)
                                        {
                                                shi=0;
                                        }
                                }
                        }
                        write_sfm(3,shi);//添加時
                        write_sfm(6,fen);//添加分
                        write_sfm(9,miao);//改秒位置
                }       
        }
}
回復

使用道具 舉報

ID:816038 發表于 2020-8-29 09:21 | 顯示全部樓層
angmall 發表于 2020-8-28 17:35
給你改了,對比一下就知道哪里錯了。

謝謝您
回復

使用道具 舉報

ID:816038 發表于 2020-8-29 09:31 | 顯示全部樓層
wulin 發表于 2020-8-28 17:37
void main()
{
        init();

謝謝您   
回復

使用道具 舉報

ID:816038 發表于 2020-8-29 09:52 | 顯示全部樓層
HC6800-ES-V2.0 發表于 2020-8-28 17:32
你的截圖顯示的警告是那個函數沒被調用。為什么沒被調用?是不是你說的什么中斷程序沒被調用?我看不到程序 ...

找到問題了,while后面多了個分號   
回復

使用道具 舉報

ID:130230 發表于 2020-9-2 23:53 | 顯示全部樓層
出問題了進debug模式單步執行看看程序卡在哪里。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本不卡高字幕在线2019 | 欧美久久综合 | 精品国模一区二区三区欧美 | 超碰在线97国产 | 日本一区二区在线视频 | 亚洲午夜精品一区二区三区他趣 | 欧美日韩成人影院 | 中文字幕一区在线观看视频 | 国产精品免费观看 | 国产线视频精品免费观看视频 | 岛国av在线免费观看 | 久久久久久久99 | 丁香六月激情 | 亚洲国产成人在线 | 一区二区三区在线免费看 | 国产亚洲一区在线 | 精品亚洲一区二区 | 日韩欧美网 | 国产精品久久久久久久久免费高清 | 成人免费视频网址 | www久久久| 毛片一级片 | 手机在线观看av | 国产免费国产 | 亚洲免费三区 | 天天插天天搞 | 日韩成人在线视频 | 免费精品视频一区 | 黑人精品| a爱视频 | 亚洲成人播放器 | 欧美成人激情 | 99久久精品免费看国产四区 | 久久综合一区 | 成人欧美一区二区 | 成人在线精品视频 | 综合久久综合久久 | 国产一区二区电影 | 亚洲精品福利视频 | 99爱在线免费观看 | 一区二区三区中文字幕 |