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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2732|回復(fù): 7
打印 上一主題 下一主題
收起左側(cè)

這段中斷程序表示看不懂,求詳細(xì)解析 新人望大家給點(diǎn)意見。

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:142317 發(fā)表于 2016-11-24 17:28 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
void ET_1() interrupt 1
{
        static uchar wei=0x01,i=0;
        static uint j=0;
        
        TH0=(65536-2000)/256;
        TL0=(65536-2000)%256;        
        
        P2=0x00;
        P0=duanma[led];
        P2=wei;
        wei=wei<<1;
        if(++i==8){i=0;wei=0x01;}
這段中斷程序表示看不懂,求詳細(xì)解析

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:142317 發(fā)表于 2016-11-24 17:29 | 只看該作者
特別是static uchar wei,不知道這種定義的意義
回復(fù)

使用道具 舉報(bào)

板凳
ID:99130 發(fā)表于 2016-11-25 16:34 | 只看該作者
TH0=(65536-2000)/256;         TL0=(65536-2000)%256;  
回復(fù)

使用道具 舉報(bào)

地板
ID:99130 發(fā)表于 2016-11-25 16:35 | 只看該作者
TH0=(65536-2000)/256;         TL0=(65536-2000)%256; 這兩句應(yīng)該是TH0=(65536-5000)/256;         TL0=(65536-5000)%256;才對(duì)吧
回復(fù)

使用道具 舉報(bào)

5#
ID:140489 發(fā)表于 2017-1-6 15:22 | 只看該作者
static 這個(gè)是定義的靜態(tài)變量,C語言里面有的
回復(fù)

使用道具 舉報(bào)

6#
ID:160316 發(fā)表于 2017-1-6 16:29 | 只看該作者

static 這個(gè)是定義的靜態(tài)變量,C語言里面有的
回復(fù)

使用道具 舉報(bào)

7#
ID:155507 發(fā)表于 2017-1-7 10:15 | 只看該作者
  1. void ET_1() interrupt 1 // 是由中斷向量表決定的, 這里用定時(shí)器0 是interrupt 1
  2. {
  3.         static uchar wei=0x01,i=0; //用于局部變量中,成為靜態(tài)局部變量. 靜態(tài)局部變量有兩個(gè)用法,記憶功能和全局生存期.
  4.         static uint j=0; // 這個(gè)沒有用
  5.        
  6.         TH0=(65536-2000)/256; //定時(shí)器T0的高8位重新賦初值
  7.         TL0=(65536-2000)%256; //定時(shí)器T0的低8位重新賦初值
  8.       
  9.         //以下代碼完成數(shù)碼管動(dòng)態(tài)掃描刷新
  10.         P2=0x00; // 解決數(shù)碼管鬼影, 關(guān)閉數(shù)碼管的位,賦值過程都做好后,再重新打開
  11.         P0=duanma[led]; //運(yùn)用數(shù)碼管顯示字符轉(zhuǎn)換表 提取并轉(zhuǎn)為數(shù)碼管顯示字符
  12.         P2=wei; // 打開數(shù)碼管的位
  13.         wei=wei<<1; ////將字符變量wei,循環(huán)左移1位 ,重新賦給wei變量。 此外”<<“符號(hào)為左移命令符號(hào)。
  14.         if(++i==8) //自增i 當(dāng)i的值等于8時(shí)
  15.         {i=0;wei=0x01;} // 這里用8個(gè)位數(shù)碼管 達(dá)到8次后i計(jì)數(shù)值清零 數(shù)碼管的位重新賦最右位
  16. }
復(fù)制代碼



這是運(yùn)用數(shù)碼管動(dòng)態(tài)顯示的原理,并最終借助于中斷系統(tǒng)來完成實(shí)用的數(shù)碼管顯示程序。

多個(gè)數(shù)碼管顯示數(shù)字的時(shí)候,我們實(shí)際上是輪流點(diǎn)亮數(shù)碼管(一個(gè)時(shí)刻內(nèi)只有一個(gè)數(shù)碼管是亮的),利用人眼的視覺暫留現(xiàn)象(也叫余輝效應(yīng)),可以做到看起來是所有數(shù)碼管都同時(shí)亮了,這就是動(dòng)態(tài)顯示,也叫做動(dòng)態(tài)掃描。

這里用static把wei定義成了一個(gè)靜態(tài)局部變量。靜態(tài)局部變量和普通局部變量一樣,只能在定義它的函數(shù)里面使用它。普通局部變量在程序退出函數(shù)以后,就會(huì)釋放,靜態(tài)局部變量則不會(huì)被釋放,它在整個(gè)生命周期都存在。下次讀到是上次修改后的值。

我認(rèn)為這個(gè)是針對(duì)于static定義的局部變量而言的,除了只能在定義它的函數(shù)內(nèi)局部使用外其他的和全局變量是一樣的(只在第一次調(diào)用時(shí)初始化,用完后空間不會(huì)釋放,已存值不會(huì)改變)。比方說以上的 i 在第一次調(diào)用時(shí)被初始化為0.然后自加為1,那么第二次調(diào)用時(shí) i 的初始值就是1,運(yùn)行完就是2。

回復(fù)

使用道具 舉報(bào)

8#
ID:160924 發(fā)表于 2017-1-19 11:21 | 只看該作者
static定義為靜態(tài)變量,中斷函數(shù)改變變量值后,再下次進(jìn)入中斷函數(shù)時(shí),該變量值還是之前值。uchar等于unsigned char無符號(hào)字符變量。開頭應(yīng)有對(duì)uchar的聲明為unsigned char。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成视频在线观看 | 亚洲成人a v | 中文字幕欧美日韩一区 | 国产特级毛片aaaaaa | 欧美片网站免费 | 精品国产伦一区二区三区观看方式 | 91精品国产乱码久久久久久 | 亚洲欧美日韩精品久久亚洲区 | 成人在线免费视频 | 久久久久一区二区 | 最新中文字幕在线播放 | 久久精品成人一区 | 美国黄色一级片 | 在线午夜 | 日韩中文一区二区三区 | 亚洲免费片 | 国产欧美一级二级三级在线视频 | 国产精品日韩在线观看一区二区 | 精品在线一区二区三区 | 亚洲综合区 | 欧美二区三区 | 国产欧美精品一区二区 | 粉嫩av久久一区二区三区 | 成人av在线大片 | 日韩精品在线播放 | 蜜桃综合在线 | 国产一区二区精品在线观看 | 亚洲国产黄色av | 久久精品日产第一区二区三区 | 久久1区| 久久久精品国产 | 情侣酒店偷拍一区二区在线播放 | 亚洲精品字幕 | 精品国产乱码久久久久久闺蜜 | 日日碰碰| 精品一区二区三区四区 | 欧美日韩国产在线观看 | 亚洲高清免费 | 国产一区二区免费在线 | 精品日韩| 91久久北条麻妃一区二区三区 |