我們學(xué)習(xí)單片機(jī),寫單片機(jī)程序,首先要看看我們做實(shí)驗(yàn)的板子的原理圖,這是最基本的,我們要知道了單片機(jī)的接口的使用情況,電路的驅(qū)動(dòng)方式,所使用的的芯片,這樣我才能去開始寫程序。
一、電路原理分析
如上圖所示就是我們整個(gè)板子的原理圖了,今天我們只分析數(shù)碼管和按鍵相關(guān)的部分,其他部分會(huì)在后續(xù)的教程中詳細(xì)說明。上圖中左上角的U1為主控STC15W408as,28引腳的DIP封裝。右上角的LED1就是4位一體的共陰數(shù)碼管,帶時(shí)間秒顯示點(diǎn),緊接著下面的四個(gè)三極管Q6-Q9你和電阻R17-R20組成了共陰數(shù)碼管的驅(qū)動(dòng)電路。
在此三極管是作為開關(guān)使用,用它來控制數(shù)碼的陰極的選通與關(guān)短;下面點(diǎn)的S1-S3為三個(gè)按鍵,在今天,我們用著三個(gè)按鍵來控制數(shù)碼管上顯示的字符的變化;在按鍵的左邊有個(gè)U9和撒你管Q1組成的是蜂鳴器驅(qū)動(dòng)電路。電路介紹完了,接下來看單片機(jī)接口使用情況。我們數(shù)碼管的8個(gè)段選接單片機(jī)P2口,四個(gè)位選通過三極管驅(qū)動(dòng)電路,分別接P3.1/P3.2/P3.3/P3.6,三個(gè)按鍵分別接單片機(jī)的P1.2/P1.3P1.4。蜂鳴器做發(fā)聲元件,實(shí)現(xiàn)按鍵音提示,接的P3.7。電路部分全部介紹完了,接下來就是編程部分了。
二、程序原理分析
首先我們來說數(shù)碼顯示的原理。現(xiàn)在我們的顯示電路采用的是動(dòng)態(tài)顯示的驅(qū)動(dòng)方式,這樣,在每個(gè)時(shí)刻,其實(shí)只有一位數(shù)碼管是被選通點(diǎn)亮的,因?yàn)槲覀內(nèi)搜鄣囊曈X暫留和LED發(fā)光管的余暉,當(dāng)數(shù)碼管再快速的選通點(diǎn)亮后,我們?nèi)搜劭吹降木褪侨慷际屈c(diǎn)亮的了。具體原理網(wǎng)上有一堆資料,我們不做過多說明。數(shù)碼管顯示首先得有個(gè)段選碼,有些地方叫字形碼,也就是說我要顯示個(gè)“1”,那對應(yīng)的單片機(jī)需要給數(shù)碼管一個(gè)什么樣的數(shù)據(jù)。具體怎么算請問百度,也可以關(guān)注我們我微信公眾號或者Q群,里面有快捷的小工具,1秒鐘幫你算完,直接復(fù)制來用。
有了段碼后,就需要我們控制位選碼了,比如我要在第三位上顯示一個(gè)“1”,那就需要在段選碼上(本電路中的P2口)送“1”對應(yīng)的段選碼,然后關(guān)閉第一、二、四位位選,開通第三位位選。這就完了,但是大家不要忘記了,我們單片機(jī)可厲害了,運(yùn)行完你寫的的兩句話只要幾微秒,對于微秒級別的時(shí)間,人眼是識別不出來的,也就說,單片機(jī)數(shù)執(zhí)行了我們現(xiàn)實(shí)“1”的指令,但是我們?nèi)搜劭床怀鰜恚驗(yàn)樘炝耍趺崔k呢,它快了,那就讓它等等我們?nèi)搜郯桑玫模@就簡單了啊,執(zhí)行完顯示“1”的指令后,等待一會(huì),讓我們眼睛看到。這樣是等待程序的來由了。
接下來,我們再說按鍵,從按鍵原理圖中看出,一邊接到單片機(jī)IO口,一邊接電源地,也就說當(dāng)按鍵按下后,單片機(jī)的IO口就接到電源地上,地上的電壓是多少?0V啊,沒按按鍵時(shí),IO口上電平是默認(rèn)的5V啊,也就說只要我們識別電平就可以知道按鍵按下沒有。這就是程序的原理,具體怎么來寫呢?慢慢說,單片機(jī)屬于數(shù)字器件,它只知道高低電平,不知道電壓具體是5V還是3.7V的,電壓大于它的高電平的閥值,它就認(rèn)為是高電平;反之它就認(rèn)為是低電平。程序里我們就讓單片機(jī)去識別是高電平還是低電平就可知道按鍵按下沒有。
最后說說蜂鳴器,我們用的是有源蜂鳴器,如圖所示,只要在接口上給高電平,蜂鳴器就發(fā)聲,給低電平,蜂鳴器就關(guān)閉。
這樣一來,全部程序都分析完了,接下來說程序設(shè)計(jì)的步驟。首先新建工程(這都要說,我也是醉了),完了包含頭文件,這里我們包含了兩個(gè)頭文件,一個(gè)是官方的STC15.h,另外一個(gè)是我們自己寫的延時(shí)函數(shù)頭文件delay.h。這兩個(gè)文件都需要我們手動(dòng)復(fù)制到你的工程文件夾下去,不然編譯時(shí)會(huì)提示找不到文件。完了新建一個(gè)C代碼文件,我們所有的代碼都在這個(gè)文件里編寫。
-
單片機(jī)
+關(guān)注
關(guān)注
6037文章
44569瀏覽量
636184 -
led燈
+關(guān)注
關(guān)注
22文章
1592瀏覽量
108092 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1882瀏覽量
91208 -
驅(qū)動(dòng)電路
+關(guān)注
關(guān)注
153文章
1531瀏覽量
108586 -
蜂鳴器
+關(guān)注
關(guān)注
12文章
892瀏覽量
45993
發(fā)布評論請先 登錄
相關(guān)推薦
評論