亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        兩位數(shù)碼管動(dòng)態(tài)顯示編程常見問題分析

        2016-12-31 00:00:00席玉青陳化奎
        科技創(chuàng)新與應(yīng)用 2016年12期

        摘 要:由于單片機(jī)技術(shù)的發(fā)展,才能使LED七段數(shù)碼管能夠在減少驅(qū)動(dòng)器的情況下直接被驅(qū)動(dòng)。由于LED數(shù)碼管顯示技術(shù)的優(yōu)勢(shì)使得它被廣泛應(yīng)用在工業(yè)過(guò)程控制系統(tǒng)、智能儀表,智能產(chǎn)品等領(lǐng)域。文章重點(diǎn)介紹了LED(light emission diode)數(shù)碼管動(dòng)態(tài)顯示在編程中的常見問題分析。

        關(guān)鍵詞:?jiǎn)纹瑱C(jī);數(shù)碼管;動(dòng)態(tài)顯示;問題分析

        1 動(dòng)態(tài)顯示

        1.1 動(dòng)態(tài)顯示的引入

        用數(shù)碼管顯示信息時(shí),每個(gè)數(shù)碼管至少需要8個(gè)I/O口,如果需要多個(gè)數(shù)碼管,則需要太多的I/O口,而單片機(jī)的I/O口是有限的。在實(shí)際應(yīng)用中,一般采用動(dòng)態(tài)顯示的方式解決此問題。即將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選控制端決定數(shù)碼管的工作狀態(tài)。多位數(shù)碼管顯示時(shí)應(yīng)采用動(dòng)態(tài)掃描方式。

        1.2 動(dòng)態(tài)顯示的原理

        所謂動(dòng)態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應(yīng)的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人感覺好像各位數(shù)碼管同時(shí)都在顯示。動(dòng)態(tài)顯示的亮度比靜態(tài)顯示要差一些,所以在選擇限流電阻時(shí)應(yīng)略小于靜態(tài)顯示電路中的。

        2 兩位數(shù)碼管動(dòng)態(tài)顯示編程常見問題分析

        文章主要針對(duì)實(shí)現(xiàn)兩位數(shù)碼管顯示24進(jìn)制數(shù)的功能,即顯示的數(shù)據(jù)范圍為00~23。在PROTEUS中選用的單片機(jī)的類型為AT89C51,7個(gè)電阻組成的排阻和2位共陰極的數(shù)碼管。兩位數(shù)碼管動(dòng)態(tài)顯示原理圖如圖1所示

        2.1 在KEIL軟件使用時(shí)易出現(xiàn)的問題

        (1)在KEIL軟件中使用小寫的p0~p3。KEIL軟件編程時(shí)應(yīng)注意區(qū)分字母的大小寫。在端口P0~P3應(yīng)用時(shí)均使用大寫字母,如sbit led=P2^0; 因?yàn)樵凇皉egx51.h”文件中寄存器位置定義分別為 “sfr P0= 0x80;”,“sfr P1=0x90;”“sfr P2= 0xA0;”“sfr P3 = 0xB0;”。

        (2)添加.c文件不成功。若是.c文件沒有找到指定的存儲(chǔ)位置,而是手動(dòng)輸入的名字,則在Keil軟件中顯示如: 。若是.c文件為空,說(shuō)明在工程上添加.c文件不成功。添加.c文件成功在Keil軟件中顯示如: 。

        (3)頭文件未引用。若是使用“_crol_(變量,移動(dòng)位數(shù))”循環(huán)左移函數(shù),必須引用頭文件#include。

        (4)未生成“××.HEX”文件。選擇Options for Target'Target1'選項(xiàng),單擊Output選項(xiàng)卡,選中Create HEX File (打上對(duì)鉤),單擊“確定”按鈕,完成設(shè)置。

        2.2 在KEIL軟件中生成的“××.HEX”文件下載到PROTEUS單片機(jī)中,進(jìn)行模擬演示時(shí)可能出現(xiàn)的問題

        (1)軟件編程和硬件匹配問題

        a.段碼的選擇。在KEIL軟件編程時(shí),需要調(diào)用共陰極的數(shù)碼管。由于數(shù)碼管需要顯示的數(shù)字包含0~9,所以在程序中需要調(diào)用0~9的編碼,為了方便調(diào)用,常常把編碼以數(shù)組的形式表示,如:unsigned char duanma[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f} ;

        b.位選的控制。兩位數(shù)碼管中選擇性顯示的控制,即位控端的控制,若使第一位數(shù)碼管工作,P3.1必須為低電平,即P3=0xfe; 若使第二位數(shù)碼管工作,P3.0必須為低電平,即P3=0xfd。

        (2)數(shù)碼管顯示個(gè)位和十位顛倒

        任何一個(gè)由兩位數(shù)字組成的十進(jìn)制數(shù)均可以由十位上的數(shù)字×10+個(gè)位數(shù)字表示。如:a=b×10+c,則a表示一個(gè)兩位的十進(jìn)制數(shù),b表示十位上的數(shù)字,c表示個(gè)位上的數(shù)字。其中a存放在數(shù)組shijian[]中,而b、c則存放在數(shù)組geshi[]中。

        a.數(shù)組當(dāng)中數(shù)據(jù)調(diào)用順序不正確。在geshi[]中,geshi[0]存放十位上的數(shù)字,geshi[1]存放個(gè)位上的數(shù)字。如:個(gè)位顯示“3”,則程序編寫為:P3=0xfe,P2= duanma[geshi[1]] 。

        b.兩位十進(jìn)制數(shù)進(jìn)行數(shù)字拆分不正確。十位上數(shù)字利用“/”(取整)算出, 個(gè)位上數(shù)字采用“%”(求余)得出。

        個(gè)位上數(shù)字:geshi[1]=shijian[0]%10;

        十位上數(shù)字:geshi[0]=shijian[0]/10;

        (3)程序編譯正確,但是下載至單片機(jī)數(shù)碼管不顯示數(shù)字或顯示亂碼。

        a.軟件編程所用的編碼和硬件使用數(shù)碼管的管型不一致。

        b.軟件編程時(shí)數(shù)碼管的位選信號(hào)不正確。

        c.數(shù)組中的數(shù)據(jù)未初始化。如geshi[]={0,0,0};則該數(shù)組中有3個(gè)數(shù)值,分別為geshi[0]、geshi[1]和geshi[2],若是在程序中出現(xiàn)“geshi[3]”,內(nèi)部的數(shù)據(jù)取決于具體的編譯器和系統(tǒng),則geshi[3]具體的數(shù)值不一定,所以一般均需要進(jìn)行必要的初始化。

        d.調(diào)用數(shù)組中的數(shù)據(jù)不正確。

        編寫程序時(shí),調(diào)用數(shù)組內(nèi)的數(shù)據(jù)要正確。如:k=0x7f;for(i=0;i<8;i++){P3=k; P2=duanma[geshi[7-i]];k=_cror_(k,1);delay();} 當(dāng)i=0時(shí),P3=0x7f; P2=duanma[geshi[7]];先調(diào)用geshi[]中下標(biāo)為7的數(shù)值,再調(diào)用duanma[]中下標(biāo)為geshi[7]的數(shù)值送至P2。

        e.數(shù)據(jù)范圍不正確。如shijian[0]++;if(shijian[0]>256)shijian[0]=0; 對(duì)于無(wú)符號(hào)字符型數(shù)據(jù)的范圍為0~255。若是需要和256進(jìn)行比較,可以定義為“unsigned int shijian[]={0};” 。

        綜上所述,編寫程序時(shí)常見問題的原因如下:

        (1)學(xué)習(xí)者對(duì)C語(yǔ)言中的部分基礎(chǔ)知識(shí)掌握不牢固;(2)學(xué)習(xí)者對(duì)相關(guān)單片機(jī)基礎(chǔ)知識(shí)理解不透徹;(3)學(xué)習(xí)者對(duì)程序控制要求不

        明確。

        通過(guò)KEIL軟件和PROTEUS軟件的聯(lián)合調(diào)試,學(xué)習(xí)者能夠及時(shí)快捷地掌握單片機(jī)和C語(yǔ)言中的相關(guān)知識(shí),理解相關(guān)器件的工作原理,進(jìn)而掌握編寫程序的一般方法和技巧。

        參考文獻(xiàn)

        [1]張靖武.單片機(jī)系統(tǒng)的PROTEUS設(shè)計(jì)與仿真[M].北京:電子工業(yè)出版社,2007.

        [2]譚浩強(qiáng).C語(yǔ)言設(shè)計(jì)(第4版)[M].清華大學(xué)出版社,2010.

        野花在线无码视频在线播放| 日本一区二区不卡在线| 亚洲av毛片在线网站| 亚洲一区二区三区资源| 亚洲伊人av综合福利| 91亚洲国产成人久久精品网站| 国产亚洲精品高清视频| 日本一区二区偷拍视频| 日韩人妻中文字幕高清在线| 白白白在线视频免费播放| 久久亚洲av成人无码国产最大| 中国少妇×xxxx性裸交| 中文字幕日韩三级片| 人人妻人人澡人人爽久久av| 无码精品黑人一区二区三区| 亚洲高清无码第一| 国产精品性一区二区三区| 91麻豆精品激情在线观最新| 91精品久久久中文字幕| 日本精品视频免费观看| 国产成+人+综合+亚洲欧美丁香花| 国产精品亚洲综合色区韩国| 亚洲第一区无码专区| 情头一男一女高冷男女| 亚洲女同av在线观看| 青青草骚视频在线观看| 国产男女免费完整视频| 无码 制服 丝袜 国产 另类| 精精国产xxxx视频在线播放器| 午夜无码国产18禁| 亚洲天堂免费成人av| 扒开美女内裤舔出白水| av永久天堂一区二区三区| 国产精品无码av天天爽 | 亚洲午夜精品久久久久久人妖| 猫咪免费人成网站在线观看| 精品国产亚洲一区二区在线3d| 日韩精品一区二区三区在线观看的| 国产91会所女技师在线观看| 中文字幕日韩欧美一区二区三区 | 亚洲AV无码专区国产H小说|