国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

利用51單片機(jī)進(jìn)行霓虹燈廣告牌設(shè)計(jì)的教學(xué)探索

2016-04-10 09:43*?jiǎng)?/span>
當(dāng)代化工研究 2016年11期
關(guān)鍵詞:匯編語(yǔ)言霓虹燈數(shù)組

*?jiǎng)?奕

(安徽省汽車(chē)工業(yè)學(xué)校 安徽 231131)

利用51單片機(jī)進(jìn)行霓虹燈廣告牌設(shè)計(jì)的教學(xué)探索

*?jiǎng)?奕

(安徽省汽車(chē)工業(yè)學(xué)校 安徽 231131)

隨著人們對(duì)物質(zhì)生活的智能化要求越來(lái)越高,單片機(jī)作為智能化的核心,將會(huì)日益成為我國(guó)未來(lái)的一個(gè)要發(fā)展的方向。本文通過(guò)在YL-236試驗(yàn)臺(tái)上利用C語(yǔ)言,模擬設(shè)計(jì)霓虹燈廣告牌的項(xiàng)目,闡述了用十六進(jìn)制編碼LED燈的狀態(tài),用定時(shí)器實(shí)現(xiàn)定時(shí)功能,呈現(xiàn)出霓虹燈光按照次序循環(huán)閃爍的功能的簡(jiǎn)單智能控制。同時(shí)也讓學(xué)生們對(duì)學(xué)習(xí)單片機(jī)初步的認(rèn)識(shí),并且產(chǎn)生強(qiáng)烈的興趣。

AT89C51 單片機(jī);C語(yǔ)言;二進(jìn)制;十六進(jìn)制;一維數(shù)組;延時(shí)中斷

前言

在單片機(jī)教學(xué)過(guò)程中,為了讓學(xué)生做到“愿意學(xué)、學(xué)得會(huì)、用得上”,利用單片機(jī)試驗(yàn)臺(tái)YL-236臺(tái)上的功能模塊,采用項(xiàng)目教學(xué),以“夠用為度”,從單片機(jī)的實(shí)際應(yīng)用出發(fā),將傳統(tǒng)單片機(jī)系統(tǒng)原理進(jìn)行整合,是我們一線(xiàn)老師必須要面對(duì)和思考的問(wèn)題。本文就以L(fǎng)ED小燈模塊為例,模擬霓虹燈循環(huán)閃爍功能。

AT89C51是由ATMEL公司推出的一種小型單片機(jī),95年出現(xiàn)在中國(guó)市場(chǎng)。其主要特點(diǎn)為采用Flash存貯器技術(shù),降低了制造本,其軟件、硬件與MCS-51完全兼容,可以很快被廣大用戶(hù)接受,其程序的電可擦寫(xiě)特性,使得開(kāi)發(fā)與測(cè)試方便又易于實(shí)現(xiàn)。本設(shè)計(jì)主要介紹由AT89C51單片機(jī)來(lái)實(shí)現(xiàn)霓虹燈循環(huán)閃爍系統(tǒng)。

1.C語(yǔ)言簡(jiǎn)介

匯編語(yǔ)言曾是單片機(jī)軟件開(kāi)發(fā)工程師進(jìn)行軟件開(kāi)發(fā)的唯一選擇,但匯編語(yǔ)言程序的可讀性和可移植性較差,采用匯編語(yǔ)言編寫(xiě)單片機(jī)應(yīng)用程序的時(shí)間周期較長(zhǎng),且調(diào)試和排錯(cuò)比較困難。為了提高單片機(jī)應(yīng)用系統(tǒng)的開(kāi)發(fā)效率,使用戶(hù)從繁瑣的匯編語(yǔ)言中解脫出來(lái),世界上諸多軟件公司都致力于51單片機(jī)高級(jí)語(yǔ)言編譯器的開(kāi)發(fā)研究。

與匯編語(yǔ)言相比,C語(yǔ)言在功能性、結(jié)構(gòu)性、可讀性和可維護(hù)性上有明顯的優(yōu)勢(shì),易學(xué)易用,因此出現(xiàn)了專(zhuān)門(mén)用于51系列單片機(jī)編程的 C 語(yǔ)言——C51。目前最先進(jìn)的功能最強(qiáng)大的C51編譯器是Keil C51。

2.霓虹燈光控制要求

要求:(1)霓虹燈的驅(qū)動(dòng)。要求用LED來(lái)模擬霓虹燈工作。

(2)流水速度:每0.5秒變一次狀態(tài)(共8秒鐘循環(huán))。

3.二進(jìn)制、十六進(jìn)制

(1)YL-236試驗(yàn)臺(tái)的LED顯示模塊是共陽(yáng)的。

共陽(yáng)極公共端接陽(yáng)極,發(fā)光二極管的陽(yáng)極(正極)都聯(lián)在一起, 低電平有效(燈亮),在單片機(jī)里只有兩個(gè)數(shù)0和1,低電平用0表示,高電平用1表示,則燈亮對(duì)應(yīng)代碼為0。

(2)在弄清楚二進(jìn)制與十六進(jìn)制的轉(zhuǎn)換之前,先要明白十六位數(shù)的表示方式,具體如下:0—0,1—1,2—2,3—3,4—4,5—5,6—6,7—7,8—8,9—9,10—A,11—B,12—C,13—D,14—E,15—F。

(3)二進(jìn)制數(shù)僅由0和1組成,二進(jìn)制數(shù)的低位到高位分別表示1,2,4,8,16,32……,即2的(n-1)次方即可。對(duì)于四位二進(jìn)制數(shù),從高到低分別是8,4,2,1。二進(jìn)制轉(zhuǎn)16進(jìn)制,只需將2進(jìn)制數(shù)從右向左每四位一組合,每一個(gè)組合以一個(gè)十六進(jìn)制數(shù)表示。例

1111=8+4+2+1=15=F

1110=8+4+2=14=E

1101=8+4+1=13=D

……

0011=2+1=3

0001=1=1

(4)用十六進(jìn)制來(lái)表示8個(gè)LED燈的狀態(tài)(0x是十六進(jìn)制的符號(hào))

序號(hào) 二進(jìn)制 十六進(jìn)制 序號(hào) 二進(jìn)制 十六進(jìn)制1 0111 0111 0x77 9 1110 1110 0xee 2 0011 0011 0x33 10 1100 1100 0xcc 3 0001 0001 0x11 11 1000 1000 0x88 4 0000 0000 0x00 12 0000 0000 0x00 5 1000 1000 0x88 13 0001 0001 0x11 6 1100 1100 0xcc 14 0011 0011 0x33 7 1110 1110 0xee 15 0111 0111 0x77 8 1111 1111 0xff 16 1111 1111 0xff

(5)將16種狀態(tài)寫(xiě)在一個(gè)一維數(shù)組里,在程序里只要調(diào)用tab[]這個(gè)數(shù)組就可以用來(lái)表示小燈的狀態(tài)。

unsigned char code tab[16]={ 0x77,0x33,0x11,0x11,0 x00,0x88,0xcc,0xee,0xff,0xee,0xcc,0x88,0x00,0x11,0x33, 0x77,0xff};將16種狀態(tài)寫(xiě)在一個(gè)一維數(shù)組里,在程序里只要調(diào)用tab[]這個(gè)數(shù)組就可以用來(lái)表示小燈的狀態(tài)。

unsigned char code tab[16]={ 0x77,0x33,0x11,0x11,0 x00,0x88,0xcc,0xee,0xff,0xee,0xcc,0x88,0x00,0x11,0x33, 0x77,0xff};

4.延時(shí)中斷

(1)首先利用定時(shí)器計(jì)算出定時(shí)開(kāi)始的初值。

①首先明確三種方式的計(jì)數(shù)范圍:

方式0是13位的定時(shí)/計(jì)數(shù)器,記滿(mǎn)值為213=8192

方式1是16位的定時(shí)/計(jì)數(shù)器,計(jì)滿(mǎn)為216=65536

方式2是8位的定時(shí)/計(jì)數(shù)器,計(jì)滿(mǎn)為28=256

②以方式1來(lái)舉例說(shuō)明(12M晶振):

如果想定時(shí)0.5S,但是計(jì)數(shù)方式1的計(jì)數(shù)最大計(jì)數(shù)65536us即65ms,為了方便計(jì)數(shù),選取50ms,計(jì)數(shù)10次就能實(shí)現(xiàn)0.5S計(jì)數(shù)。這里討論對(duì)計(jì)數(shù)器賦初值。計(jì)數(shù)器定時(shí)50ms,那么給定時(shí)器的初值應(yīng)該是65536-50000=15536。(定時(shí)器從15536一直計(jì)數(shù)到65536,共計(jì)50000次記數(shù),也即是50ms。)將初值15536,化為16進(jìn)制為3CB0H,所以對(duì)計(jì)數(shù)器賦值:TL0=B0H;TH0=3CH。即得到初值。

(2)用單片機(jī)定時(shí)器實(shí)現(xiàn)的程序如下:

5.結(jié)語(yǔ)

基于51單片機(jī)的霓虹燈系統(tǒng)的設(shè)計(jì),價(jià)格低廉,結(jié)構(gòu)簡(jiǎn)單,還有系統(tǒng)穩(wěn)定性好。熟練的應(yīng)用十六進(jìn)制表示LED的狀態(tài)和定時(shí)器中斷控制功能,利用一維數(shù)組的將小燈的16種狀態(tài)與中斷聯(lián)系起來(lái),簡(jiǎn)化了程序的書(shū)寫(xiě),也使程序簡(jiǎn)潔明了。

[1]陳巧莉,馮于戶(hù).基于AT89C51 單片機(jī)的定時(shí)器控制音樂(lè)門(mén)鈴的仿真與實(shí)現(xiàn)[A].價(jià)值工程,1006-4311(2011)20-0146-03.

[2]陶孝海.51單片機(jī)C語(yǔ)言編程技巧[J],計(jì)算機(jī)時(shí)代,2009年第6期.

[3]宋國(guó)富主編.《單片機(jī)技能與實(shí)訓(xùn)》,電子工業(yè)出版社.

[4]雷林均主編.《單片機(jī)控制裝置安裝與調(diào)試上冊(cè)》,電子工業(yè)出版社.

[5]雷林均主編.《單片機(jī)控制裝置安裝與調(diào)試下冊(cè)》,電子工業(yè)出版社.

劉奕(1987~),女,安徽省汽車(chē)工業(yè)學(xué)校,研究方向:電工電子技術(shù)。

(責(zé)任編輯 高鎮(zhèn)峰)

Teaching Exploration of the Neon Light Billboards Design by Using the 51 Microcontroller

Liu Yi

(Automobile technical school of Anhui Province, Anhui, 231131)

Along with people's increasingly higher intelligence require for material life, the microcontroller, as the core of intelligence, will increasingly become one important developing direction for China’s future. In this paper, by utilizing the C language on the YL-236 test bed, it simulates the program of designing the neon light billboards, expounds the state of using the hexadecima code to code the LED lights and uses the timer to realize the timing function, finally presents the simple and intelligent control of neon light’s cycle flashing function in order. At the same time, it also can let the students take preliminary understanding of the learning microcontroller and stimulate students’ strong interest.

AT89C51 microcontroller;C language;binary system;hexadecimal;one-dimensional array;time-delay interruption

T

A

猜你喜歡
匯編語(yǔ)言霓虹燈數(shù)組
夜釣
JAVA稀疏矩陣算法
高等學(xué)校計(jì)算機(jī)專(zhuān)業(yè)課程教學(xué)改革實(shí)踐——以匯編語(yǔ)言與接口技術(shù)課程為例
JAVA玩轉(zhuǎn)數(shù)學(xué)之二維數(shù)組排序
霓虹夢(mèng)
匯編語(yǔ)言與C語(yǔ)言的混合程序設(shè)計(jì)技術(shù)研究
基于PLC的霓虹燈控制系統(tǒng)
提高《匯編語(yǔ)言程序設(shè)計(jì)》教學(xué)效率的思考與實(shí)踐
Excel數(shù)組公式在林業(yè)多條件求和中的應(yīng)用
尋找勾股數(shù)組的歷程
从化市| 平昌县| 喀喇沁旗| 吉水县| 许昌县| 临沂市| 辽宁省| 聂拉木县| 镇平县| 彰化市| 屯昌县| 博野县| 开阳县| 吴江市| 南投市| 林西县| 阜南县| 依兰县| 夹江县| 边坝县| 康马县| 永川市| 察隅县| 中江县| 大埔县| 荣成市| 梨树县| 绥化市| 瑞金市| 桐庐县| 应用必备| 奎屯市| 淮阳县| 平顺县| 北碚区| 调兵山市| 三原县| 汉沽区| 阜宁县| 建瓯市| 庆云县|