一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機編程中四種常見問題匯總

電子工程師 ? 作者:工程師a ? 2018-05-26 03:44 ? 次閱讀

1、指向code區(qū)數(shù)組的指針也要加 code 關(guān)鍵字聲明。

比如 unsigned char code arr[30]; 數(shù)組,要用指針指向它,要把指針也聲明成 unsigned charcode*p;

后來使用發(fā)現(xiàn)其它很多地方使用是不需要這樣聲明的,只要 unsigned char *p;就行了,但是清楚地記得那次確實是要加 code 關(guān)鍵字聲明才可以的。

2、在51里面,位變量貌似是有限的。

如果要用一個布爾型作為標識變量,為了節(jié)省控件可以用 bit 型變量,但是在DRS1000項目中遇到過一次用 bit 型變量出錯,改為 unsigned char 型就OK了,那時定義的變量已經(jīng)很多了,可能是把可以用bit尋址的存儲區(qū)都用光了吧。

3、用機械開關(guān)觸發(fā)INT中斷時:

由于機械開關(guān)會震動,產(chǎn)生的電壓會有毛刺,這些毛刺會多次觸發(fā)中斷。會造成多次觸發(fā)的因素有兩點:

(1 )開關(guān)按下時的震動。第一次低電平到來時會進入中斷處理程序,之后就算這些震動在中斷處理程序執(zhí)行的過程中產(chǎn)生,即使進入中斷處理程序后關(guān)掉了總中斷,這些毛刺仍然會使中斷標志位置位,會在結(jié)束中斷處理程序結(jié)束后再次馬上觸發(fā)中斷處理程序。

(2 )開關(guān)釋放時的震動。在第一次高電平到來時會退出中斷處理程序,之后的毛刺會再次進入中斷處理程序。

解決辦法:

在中斷處理程序的最后加一段低電平等待代碼,等待低電平結(jié)束再延時5ms(為了消除開關(guān)釋放時毛刺的干擾),5ms延時結(jié)束后再清除中斷標志位(在中斷處理程序執(zhí)行的過程中可能已經(jīng)再次觸發(fā)了中斷標志位)。代碼如下:

void int0() interrupt 0

{

/*Do something*/

while(rollRA==0);//等待低電平結(jié)束

delay5(1);//等待按鍵釋放的毛刺結(jié)束

IE0=0; //清除中斷標志位,以防再次進入中斷

}

4、對于15系列單片機,在使用串口時必須要指定AUXR寄存器的值,否則程序無法正常運行。

這個情況遇到過很多次,15系列單片機只要使用到串口就一定要知名AUXR寄存器的值,不像12系列那樣可以把這個寄存器忽略。

在使用15系列單片機時養(yǎng)成了一個習(xí)慣:main 函數(shù)的第一句讓 AUXR=0; ,后面串口在根據(jù)需要對其進行初始化。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6059

    文章

    44828

    瀏覽量

    645007
  • 單片機編程
    +關(guān)注

    關(guān)注

    10

    文章

    49

    瀏覽量

    26072
收藏 人收藏

    評論

    相關(guān)推薦
    熱點推薦

    51單片機四種串行口工作模式怎么設(shè)置

    51單片機定時計數(shù)器溢出率計算和串口的波特率之間的關(guān)系51單片機四種串行口工作模式設(shè)置
    發(fā)表于 03-01 06:46

    單片機四種燒寫方式是什么

    JTAG/SWD/ISP/SWIM詳解單片機四種燒寫方式單片機是一編程控制器,搭好硬件電路后,可以利用程序?qū)崿F(xiàn)很多非常復(fù)雜的邏輯功能,
    發(fā)表于 07-01 06:40

    單片機四種輸入模式

    單片機四種輸入模式 MCU輸入模式有浮空、上拉、下拉、模擬輸入這四種模式,如果采用上拉或者下拉模式輸入,豈不是把真實的信號強行變成電源VCC或者GND了?這四種模式分別在什么場合下使用
    發(fā)表于 08-24 16:19

    單片機最常用的四種燒寫方式是什么?

    單片機最常用的四種燒寫方式是什么?
    發(fā)表于 09-27 07:53

    詳解單片機四種燒寫方式

    JTAG/SWD/ISP/SWIM詳解單片機四種燒寫方式單片機是一編程控制器,搭好硬件電路后,可以利用程序?qū)崿F(xiàn)很多非常復(fù)雜的邏輯功能,
    發(fā)表于 01-27 06:57

    使用單片機四種方法實現(xiàn)的LED閃燈程序資料免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用單片機四種方法實現(xiàn)的LED閃燈程序資料免費下載。
    發(fā)表于 07-09 08:00 ?4次下載
    使用<b class='flag-5'>單片機</b><b class='flag-5'>四種</b>方法實現(xiàn)的LED閃燈程序資料免費下載

    四種單片機按鍵設(shè)計方案

    單片機系統(tǒng)里,按鍵是常見的輸入設(shè)備,在本文江介紹幾種按鍵硬件、軟件設(shè)計方面的技巧。一般的在按鍵的設(shè)計上,一般有四種方案:一是GPIO口直接檢測單個按鍵,如圖1.1所示;二是按鍵較多則使用矩陣鍵盤
    發(fā)表于 11-05 12:51 ?15次下載
    <b class='flag-5'>四種</b><b class='flag-5'>單片機</b>按鍵設(shè)計方案

    單片機課設(shè)基于51單片機的波形發(fā)生器(公開資源)(四種波形)(同時輸出兩波形)

    在Proteus單片機課設(shè)基于AT89C52單片機的波形發(fā)生器仿真(四種波形)(同時輸出兩波形)百度網(wǎng)盤鏈接免費資源下載proteus仿
    發(fā)表于 11-21 15:36 ?47次下載
    <b class='flag-5'>單片機</b>課設(shè)基于51<b class='flag-5'>單片機</b>的波形發(fā)生器(公開資源)(<b class='flag-5'>四種</b>波形)(同時輸出兩<b class='flag-5'>種</b>波形)

    基于單片機四種波形發(fā)生器仿真設(shè)計-畢設(shè)課設(shè)

    基于單片機四種波形發(fā)生器仿真設(shè)計-畢設(shè)課設(shè)
    發(fā)表于 11-22 18:51 ?54次下載
    基于<b class='flag-5'>單片機</b><b class='flag-5'>四種</b>波形發(fā)生器仿真設(shè)計-畢設(shè)課設(shè)

    單片機四種燒寫方式

    JTAG/SWD/ISP/SWIM詳解單片機四種燒寫方式單片機是一編程控制器,搭好硬件電路后,可以利用程序?qū)崿F(xiàn)很多非常復(fù)雜的邏輯功能,
    發(fā)表于 11-24 18:21 ?7次下載
    <b class='flag-5'>單片機</b>的<b class='flag-5'>四種</b>燒寫方式

    匯總常見單片機原廠代碼倉庫,值得收藏

    匯總常見單片機原廠代碼倉庫,值得收藏
    發(fā)表于 12-03 16:06 ?9次下載
    <b class='flag-5'>匯總</b><b class='flag-5'>常見</b><b class='flag-5'>單片機</b>原廠代碼倉庫,值得收藏

    JTAG/SWD/ISP/SWIM詳解單片機四種燒寫方式

    JTAG/SWD/ISP/SWIM詳解單片機四種燒寫方式單片機是一編程控制器,搭好硬件電路后,可以利用程序?qū)崿F(xiàn)很多非常復(fù)雜的邏輯功能,
    發(fā)表于 12-03 18:36 ?20次下載
    JTAG/SWD/ISP/SWIM詳解<b class='flag-5'>單片機</b>的<b class='flag-5'>四種</b>燒寫方式

    單片機定時器常見兩大應(yīng)用問題解析

    常見問題進行實時解析,希望能夠?qū)Ω魑恍氯斯こ處煹膶W(xué)習(xí)提供一定幫助。 問題一:51單片機的T0、T1定時器四種工作方式各有什么特點? 在單片機定時器的應(yīng)用過程
    發(fā)表于 02-11 10:49 ?2次下載
    <b class='flag-5'>單片機</b>定時器<b class='flag-5'>常見</b>兩大應(yīng)用問題解析

    四種防反接電路匯總

    四種防反接電路匯總
    的頭像 發(fā)表于 05-29 09:56 ?1273次閱讀
    <b class='flag-5'>四種</b>防反接電路<b class='flag-5'>匯總</b>

    單片機常見問題的解決思路和解決辦法

    30個單片機常見問題解決辦法!
    的頭像 發(fā)表于 09-18 16:51 ?2774次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>常見問題</b>的解決思路和解決辦法