導航:首頁 > 操作系統 > 兩位單片機

兩位單片機

發布時間:2025-05-11 07:36:18

❶ 設計一個單片機編程,兩位的簡易秒錶,記時單位60-50s,用兩位的數碼管

這是一個基於單片機的簡易秒錶設計,採用兩位數碼管顯示,記時范圍為60-50秒。程序的核心在於如何精確計時並在數碼管上顯示。程序中定義了一個全局變數sec來記錄當前的秒數,並通過一個靜態變數t來實現每毫秒計時的功能。

具體實現上,首先初始化定時器0,設置工作模式、溢出值,並開啟中斷和定時器。在主函數中,通過P0和P2口分別控制十位和個位數碼管的顯示。當定時器0中斷時,通過更新TH0和TL0來重置定時器,同時更新t和sec的值。當t達到1000時,表示一秒鍾已過,sec遞增,若超過60秒則重置。

需要注意的是,此程序假設數碼管為共陽極類型,即數碼管的公共端接高電平,各位段碼通過低電平控制。若使用共陰極數碼管,則需將Ledchar數組中的值進行相應調整,具體可以通過查找相關資料獲得。

在實際應用中,可以將P0和P2接上相應的數碼管,根據需要調整電路連接。通過調整定時器的溢出值,還可以改變計時的精度和范圍。此外,為了提高顯示效果,還可以添加一些控制邏輯,如計時結束時的提示音或閃爍效果等。

這個簡易秒錶的設計簡單直觀,適合初學者理解和學習單片機編程的基本概念和技巧。通過這樣的實踐,可以更好地掌握數碼管顯示和定時器中斷編程的方法。

❷ 求兩位數碼管顯示一個倒數時間的單片機程序,比如顯示從99到0

//兩位數碼管顯示倒計數99~00,51單片機。
#include<reg52.h> // 倒計數
#define uint unsigned int
#define uchar unsigned char
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
uchar ,shi;
uint a1,a2;
sbit D1=P3^0; // 位選1 P1口段碼輸出
sbit D2=P3^1; // 位選2
sbit key=P3^7; // 啟動/停止
bit y ;
void main()
{
TMOD=0x01;
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
EA=1;
ET0=1;
TR0=1;
=0;
shi=0;
while(1)
{
if(key==0)
{
}
}
}
void timer0()interrupt 1
{
TH0=(65536-10000)/256;
TL0=(65536-10000)%256;
a1++;
y = ~y;
if(a1==100)
{
a1=0;
if(key==1) a2--;
if(a2>=100) a2=99;
}
D1 = 1; D2 = 1;
if(y==1)
{
P1=table[a2/10];
D1=0;
}
else
{
P1=table[a2%10];
D2=0;
}
}

❸ 利用單片機實現兩位數碼管顯示功能。

DAT EQU 30H

SCANLED EQU 32H

FSDAT EQU 33H

ORG 0000H

LJMP MAIN

ORG 000BH

LJMP T0ISR

ORG 0030H

MAIN:

MOV SP,#5FH

MOV TMOD,#01H

MOV TH0,#0F4H

MOV TL0,#048H

MOV P2,#00H

MOV SCANLED,#0

MOV 30H,#5

MOV 31H,#0

MOV FSDAT,#50

SETB EA

SETB ET0

SETB TR0

LOOP:

JB P3.0,LOOP1

JNB P3.0,$

INC FSDAT

MOV A,FSDAT

CJNE A,#100,LOOP01

LOOP01:

JC LOOP02

MOV FSDAT,#99

LOOP02:

MOV A,FSDAT

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

SJMP LOOP

LOOP1:

JB P3.1,LOOP2

JNB P3.1,$

MOV A,FSDAT

JZ LOOP11

DEC FSDAT

LOOP11:

MOV A,FSDAT

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

SJMP LOOP

LOOP2:

JB P3.2,LOOP

JNB P3.2,$

MOV FSDAT,#50

MOV 30H,#5

MOV 31H,#0

SJMP LOOP

;--------------------

T0ISR:

PUSH ACC

CLR TR0

MOV TH0,#0F4H

MOV TL0,#48H

SETB TR0

MOV DPTR,#LEDTAB1

T000:

MOV R0,#DAT

MOV A,SCANLED

ADD A,R0

MOV R0,A

MOV A,SCANLED

JNZ T001

MOV P2,#02H

SJMP T0DIS

T001:

MOV P2,#01H

T0DIS:

MOV A,@R0

MOVC A,@A+DPTR

CPL A

MOV P0,A

INC SCANLED

MOV A,SCANLED

ANL A,#01H

MOV SCANLED,A

POP ACC

RETI

;--------------------

LEDTAB1:

DB 0C0H ;"0" 00H

DB 0F9H ;"1" 01H

DB 0A4H ;"2" 02H

DB 0B0H ;"3" 03H

DB 99H ;"4" 04H

DB 92H ;"5" 05H

DB 82H ;"6" 06H

DB 0F8H ;"7" 07H

DB 80H ;"8" 08H

DB 90H ;"9" 09H

DB 88H ;"A" 0AH

DB 83H ;"B" 0BH

DB 0C6H ;"C" 0CH

DB 0A1H ;"D" 0DH

DB 86H ;"E" 0EH

DB 8EH ;"F" 0FH

DB 0FFH ;" " 10H

;--------------------

❹ 51單片機怎麼實現兩位數的加減

51單片機
51單片機是對所有兼容Intel 8051指令系統的單片機的統稱。該系列單片機的始祖是Intel的8004單片機,後來隨著Flash rom技術的發展,8004單片機取得了長足的進展,成為應用最廣泛的8位單片機之一,其代表型號是ATMEL公司的AT89系列,它廣泛應用於工業測控系統之中。很多公司都有51系列的兼容機型推出,今後很長的一段時間內將佔有大量市場。51單片機是基礎入門的一個單片機,還是應用最廣泛的一種。需要注意的是51系列的單片機一般不具備自編程能力。

中文名
51單片機
外文名
mcu
定義
兼容Intel 8031系統的單片機統稱
始祖
Intel公司始創的8004單片機
缺點
不具備自編程能力
快速
導航
功能

學習

模擬

區別
主要產品
*Intel(英特爾)的:80C31、80C51、87C51,80C32、80C52、87C52等;
*ATMEL(愛特梅爾)的:89C51、89C52、89C2051,89S51(RC),89S52(RC)等;
*Philips(飛利浦)、華邦、Dallas(達拉斯)、Siemens(西門子)等公司的許多產品;
STC(國產宏晶)單片機:89c51、89c52、89c516、90c516等眾多品牌。

功能
·8位CPU·4kbytes程序存儲器(ROM) (52為8K)

·128bytes的數據存儲器(RAM) (52有256bytes的RAM)
·32條I/O口線·111條指令,大部分為單位元組指令
·21個專用寄存器
·2個可編程定時/計數器·5個中斷源,2個優先順序(52有6個)
·一個全雙工串列通信口
·外部數據存儲器定址空間為64kB
·外部程序存儲器定址空間為64kB
·邏輯操作位定址功能·雙列直插40PinDIP封裝
·單一+5V電源供電
CPU:由運算和控制邏輯組成,同時還包括中斷系統和部分外部特殊功能寄存器;
RAM:用以存放可以讀寫的數據,如運算的中間結果、最終結果以及欲顯示的數據;
ROM:用以存放程序、一些原始數據和表格;
I/O口:四個8位並行I/O口,既可用作輸入,也可用作輸出
T/C:兩個定時/記數器,既可以工作在定時模式,也可以工作在記數模式;
五個中斷源的中斷控制系統;
一個全雙工UART(通用非同步接收發送器)的串列I/O口,用於實現單片機之間或單片機與微機之間的串列通信;
片內振盪器和時鍾產生電路,石英晶體和微調電容需要外接。最佳振盪頻率為6M—12M。
學習
作為一個初學者,如何單片機入門?
實際上,其實不需要多少東西,會簡單的C語言,知道51單片機的基本結構就可以了。一般的大學畢業生都可以了,自學過這2門課程的高中生也夠條件。設備上,一般是建議購買一個模擬器,例如,的「雙功能下載線」就具有良好的穩定性和較快的下載速度,上位機可擴展,可以下載更多的單片機及嵌入式晶元。通過實驗,這樣才可以進行實際的,全面的學習。日後在工作上,模擬器也大有用處。還有,一般光有模擬器是不行,還得有一個實際的電路,即學習板,如圖,即為,單片機最小系統。

❺ 單片機兩位數碼管顯示數字

#include<reg51.h>

#define uchar unsigned char;

uchar distab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00}; //0到f

uchar number,dat=29;

void t0isr() interrupt 1

case 0:P2=0x02;P0=distab[dat/10];

break;

case 1:P2=0x01;P0=distab[dat%10];

TMOD=0x01;

TH0=(65536-5000)/256;

TL0=(65536-5000)%256;

TR0=1;

ET0=1;

EA=1;

while(1);

}

分類

數碼管也稱LED數碼管,不同行業人士對數碼管的稱呼不一樣,其實都是同樣的產品。按發光二極體單元連接方式可分為共陽極數碼管和共陰極數碼管。共陽數碼管是指將所有發光二極體的陽極接到一起形成公共陽極(COM)的數碼管,共陽數碼管在應用時應將公共極COM接到+5V,當某一欄位發光二極體的陰極為低電平時,相應欄位就點亮,當某一欄位的陰極為高電平時,相應欄位就不亮。

以上內容參考:網路-數碼管

❻ 單片機里的7SEG-MPX2-CC是什麼

兩位共陰七段數碼管。
7SEG表示七段數碼管,MPX2-表示是兩位,CC是表示共陰。
單片機(Microcontrollers)是一種集成電路晶元,是採用超大規模集成電路技術把具有數據處理能力的中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計數器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊矽片上構成的一個小而完善的微型計算機系統,在工業控制領域廣泛應用。從上世紀80年代,由當時的4位、8位單片機,發展到現在的300M的高速單片機。

閱讀全文

與兩位單片機相關的資料

熱點內容
安卓手機如何永久取消靜音 瀏覽:722
appstore免密碼支付怎麼關閉 瀏覽:30
域控制器如何備份到另一伺服器 瀏覽:306
騰訊雲應用伺服器可以做什麼 瀏覽:507
二次元表格編程 瀏覽:20
plc編程器保停 瀏覽:963
如何降低伺服器的內存佔用率 瀏覽:868
阿里雲伺服器是個什麼意思 瀏覽:817
國內最好的數控編程培訓學校 瀏覽:13
222乘104列是演算法 瀏覽:159
程序員溝通正確姿勢 瀏覽:969
魔玩app怎麼視頻推廣 瀏覽:960
程序員抽獎送禮 瀏覽:458
北京java程序員薪資 瀏覽:658
如何創建網路平台或者app 瀏覽:356
python隨機數生成控制概率 瀏覽:237
壓縮機並聯運行 瀏覽:900
兩位單片機 瀏覽:64
四川音樂類投檔線的演算法 瀏覽:650
建行app如何改轉賬卡 瀏覽:27