|
原創(chuàng)譯碼器
用STC89C52RC單片機制作的內(nèi)似7447的譯碼器
刪除了7447引腳的RI/RBO、RBI和LT,方便顯示每一個數(shù)
有LCD1602信息顯示
相信我,這是原創(chuàng)
代碼編了15分鐘才完工
希望喜歡
晶振頻率:12MHz
整體電路圖.png (74.69 KB, 下載次數(shù): 62)
下載附件
整體電路
2017-9-17 10:02 上傳
啟動后.png (77.24 KB, 下載次數(shù): 66)
下載附件
啟動后
2017-9-17 10:02 上傳
讀取效果.png (72.88 KB, 下載次數(shù): 78)
下載附件
讀取效果
2017-9-17 10:02 上傳
進位效果.png (77.32 KB, 下載次數(shù): 62)
下載附件
進位效果
2017-9-17 10:02 上傳
單片機源程序如下:
- #include <reg52.h>
- #include <intrins.h>
- #define uchar unsigned char
- #include "1602.c"
- sbit a=P1^0;
- sbit b=P1^1;
- sbit c=P1^2;
- sbit d=P1^3;
- uchar code table[]={
- 0xc0,0xf9,0xa4,0xb0,
- 0x99,0x92,0x82,0xf8,
- 0x80,0x90,0x88,0x83,
- 0xc6,0xa1,0x86,0x8e
- };
- void calcdat()
- {
- while(1){
- display_init();
- cprintf("4Bit to segment");
- gotoxy(0,1);
- if(a==0){
- if(b==0){
- if(c==0){
- if(d==0){
- P0=table[0];
- cprintf("74163=0");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==0){
- if(c==0){
- if(d==0){
- P0=table[1];
- cprintf("74163=1");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==1){
- if(c==0){
- if(d==0){
- P0=table[2];
- cprintf("74163=2");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==1){
- if(c==0){
- if(d==0){
- P0=table[3];
- cprintf("74163=3");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==0){
- if(c==1){
- if(d==0){
- P0=table[4];
- cprintf("74163=4");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==0){
- if(c==1){
- if(d==0){
- P0=table[5];
- cprintf("74163=5");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==1){
- if(c==1){
- if(d==0){
- P0=table[6];
- cprintf("74163=6");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==1){
- if(c==1){
- if(d==0){
- P0=table[7];
- cprintf("74163=7");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==0){
- if(c==0){
- if(d==1){
- P0=table[8];
- cprintf("74163=8");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==0){
- if(c==0){
- if(d==1){
- P0=table[9];
- cprintf("74163=9");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==1){
- if(c==0){
- if(d==1){
- P0=table[10];
- cprintf("74163=A(10)");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==1){
- if(c==0){
- if(d==1){
- P0=table[11];
- cprintf("74163=B(11)");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==0){
- if(c==1){
- if(d==1){
- P0=table[12];
- cprintf("74163=C(12)");
- return;
- }
- }
- }
- }
- if(a==1){
- if(b==0){
- if(c==1){
- if(d==1){
- P0=table[13];
- cprintf("74163=D(13)");
- return;
- }
- }
- }
- }
- if(a==0){
- if(b==1){
- if(c==1){
- if(d==1){
- P0=table[14];
- cprintf("74163=E(14)");
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
0.png (48.26 KB, 下載次數(shù): 58)
下載附件
2017-9-17 16:44 上傳
所有資料51hei提供下載:
4-bit_to_segment.zip
(19.81 KB, 下載次數(shù): 12)
2017-9-17 10:04 上傳
點擊文件名下載附件
程序文件及仿真 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|