七段數碼管顯示課程設計
① 微機課設:匯編語言七段數碼管動態顯示固定兩位數字(學號)8255
數碼管連接電路如圖1所示,P0口輸出碼型,P2口輸出位選。鎖存器74HC573起驅動作用,提供驅動電流供數碼管發光。解碼器74HC138將位選地址轉換成位選信號,例如當前是第5個數碼管顯示,那麼P2口輸出位選地址05H,解碼器輸入CBA=110,輸出位選信號Y7-Y0=11101111,其中Y5=0,第5個數碼管選通並顯示,其它數碼管不顯示。實驗時將J6的左邊兩個引腳針(1和2)用跳冒連接,鎖存器11腳接VCC,關閉鎖存功能。 數碼管顯示方式為動態掃描方式,當P0口送第一個數0的碼型到鎖存器時,P2送位選地址01H,即Y0=0,只有第一個數碼管亮,顯示0,其他數碼管不顯示。當P0口送第二個數1的碼型到鎖存器時,P2送位選地址02H,即Y1=0,只有第二個數碼管亮,顯示1,其他數碼管不顯示。即每次只有一個數碼管點亮,8個數碼管是輪流被點亮的,輪流點亮的間隔時間很短(一般用延時程序延時幾個毫秒),由於視覺的暫留現象,看到的卻好象全都點亮著,這就是動態掃描。 數碼管顯示數字的碼型由數碼管的數據腳a~dp決定,圖2為數碼管的筆段分布圖,由於是共陰極的,所以當a~dp為高電平時相應的筆段會亮,電路中P1.0~P1.7分別接數碼管的a.b.c.d.e.f.g.dp,得到0~9這10個數字的碼型如表1所示。圖2 數碼管的筆段分布圖引腳P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0數字 碼型筆段dpgfedcb a0011111 10 3FH0000011 01 06H0101101 12 5BH0100111 13 4FH0110011 04 66H0110110 15 6DH0111110 16 7DH0000011 17 07H0111111 18 7FH0110111 19 6FH1000000 0小數點80H只要把上面的相關數,改成學好就可以了。
② 本人菜鳥,做課程設計,要求89C51單片機實現4位7段數碼管動態和靜態顯示,希望大神能給寫個程序,謝謝了
給你個參考程序動態顯示 0-9
/**************************************************
*
* 4位數碼管動態顯示
*
*
*
*
*
***************************************************/
#include "REG52.H"
sbit SHUG_01 = P2^0; //數碼管1
sbit SHUG_02 = P2^1; //數碼管2
sbit SHUG_03 = P2^2; //數碼管3
sbit SHUG_04 = P2^3; //數碼管4
#define LED_DATA P0 //P1數據埠
unsigned char code value_tab0[]=
{
0xC0,
0xF9,
0xA4,
0xB0,
0x99,
0x92,
0x82,
0xF8,
0x80,
0x90
}; //共陽極0-9顯示斷碼
/*
* 延時1ms延時子函數
**/
void Delay_1ms(unsigned int Time)
{
unsigned int x, y;
for(x = Time; x > 0; x--)
for(y = 120; y > 0; y--);
}
/*
* 數碼管動態顯示0-9
**/
void Display_ShmgtablCmd(void)
{
unsigned char temp;
for(temp = 0; temp < 10; temp++)
{
SHUG_01 = 1;
SHUG_02 = 1;
SHUG_03 = 1;
SHUG_04 = 1;
LED_DATA = value_tab0[temp];
Delay_1ms(500);
}
}
/*
* 函數主體
**/
int main(void)
{
P0 = P1 = P2 = 0x00;
while(1)
{
Display_ShmgtablCmd();
}
}
③ 4位七段數碼管動態顯示系統設計 主要原理方法和依據(包括硬體原理圖軟體流程圖及程序代碼)謝謝
這是我用我的 開發板寫的一個0-9999計數器,你給個郵箱,我把原理圖發給你,照片上傳不了
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define la P0
#define wela P2
uchar aa,qian,,shi,ge;
uint i;
void init();
void delay(uint z);
void display(uchar qian,uchar ,uchar shi,uchar ge);
void shu(uchar qian,uchar ,uchar shi,uchar ge) ;
uchar code num_table[]=
{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x8e};
/*0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E , F */
void main()
{
init(); //初始化
i=0;
//wela=0xf0;//選擇點亮的數碼管
while(1)
{
if(aa==10)
{
aa=0;
if (i==9999)
i=0;
i++;
qian=i/1000;
=i%1000/100;
shi=i%100/10;
ge=i%10;
}
display(qian,,shi,ge);
}
}
void init()
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
EA=1;
ET0=1;
TR0=1;
}
void timer0()interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
}
/*void shu(uchar qian,uchar ,uchar shi,uchar ge)
{
qian=i/1000;
=i%1000/100;
shi=i%100/10;
ge=i%10;
} */
void display(uchar qian,uchar ,uchar shi,uchar ge)
{
wela=0xef;
la=num_table[qian];
P0=la;
delay(1) ;
wela=0xdf;
la=num_table[];
P0=la;
delay(1) ;
wela=0xbf;
la=num_table[shi];
P0=la;
delay(1);
wela=0x7f;
la=num_table[ge];
P0=la;
delay(1) ;
}
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
④ 數碼管顯示控制課程設計
你用的是51單片機嗎?我用的是STM8 如果你要的話就發個信息到我郵箱吧!這個數碼管顯示控制比較簡單,不難。
[email protected]
⑤ 十萬火急,跪求,微機課程設計-LED七段數碼管數字鍾
微機介面課程設計實驗報告
一、實驗目的:
1. 掌握綜合使用基本輸入設備回,通用介面晶元,專用答介面晶元的方法;
2. 熟悉並行介面晶元8255的使用與硬體介面方法, 熟悉8255的各種工作方式,掌握8255的編程方法;
3. 掌握實時處理程序的編制和調試方法;
二、設計要求:
用實驗儀器上的並行介面控制鍵盤和LED顯示,設計一個定時顯示裝置,用四個數碼管顯示時間(左邊兩位顯示分值,右邊兩位秒值).
用小鍵盤控制計時和顯示:
C鍵(清除) 顯示00-00
G鍵(啟動) 顯示XX-XX變化的分、秒。
S鍵(停止) 顯示XX-XX不變
P鍵(設置初始值)設置分、秒的初值
E鍵(終止程序) 熄滅數碼管,程序退出
⑥ LED七段數碼管數字鍾: 課程設計,微機原理
我也想要呢。。。。
⑦ 單片機控制系統課程設計用spce061A 設計6位7段LED 數碼管顯示 最好是完整的課程設計
看數據手冊來設計啊,讓別人幫你也是要花點錢的
⑧ 課程設計!要求用74HC164單片機,並利用I/O介面與6個LED七段數碼管的連接實現一個具有時、分、秒顯示的電子
沒聽說過有 74HC164 這種單片機啊
⑨ 將你的學號用七段顯示器進行周期性顯示,數字電路課程設計,求大神分析
他們是做廣告的。
用單片機還是用數字電路實現。看你的要求應該是數字電路,因為用單片機太簡單了。
有點看不懂要求,學號是幾位的?用幾位數碼管?周期性顯示指什麼?
太多的不知道,把問題描述清楚啊!
不知道怎麼回答! 可以Q我。