archieve: homework6 header
This commit is contained in:
@@ -1 +1,68 @@
|
|||||||
// homework6.h
|
// homework6.h
|
||||||
|
/*
|
||||||
|
* this is the header file to
|
||||||
|
* define the
|
||||||
|
* variables:
|
||||||
|
* - pins for the LEDs and the segs
|
||||||
|
* - pins for the 38 transistors
|
||||||
|
* - seg chars to display to display the number
|
||||||
|
* functions:
|
||||||
|
* - set the 38 transistors.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <REG52.H>
|
||||||
|
|
||||||
|
// variables:
|
||||||
|
// pins for the LEDs and the segs
|
||||||
|
sbit BUS1A = P2 ^ 0; // Red LED and A Seg
|
||||||
|
sbit BUS2B = P2 ^ 1; // Orange LED and B Seg
|
||||||
|
sbit BUS3C = P2 ^ 2; // Yellow LED and C Seg
|
||||||
|
sbit BUS4D = P2 ^ 3; // Green LED and D Seg
|
||||||
|
sbit BUS5E = P2 ^ 4; // Aqua LED and E Seg
|
||||||
|
sbit BUS6F = P2 ^ 5; // BLUE LED and F Seg
|
||||||
|
sbit BUS7G = P2 ^ 6; // Purple LED and G Seg
|
||||||
|
sbit BUS8DP = P2 ^ 7; // White LED and DP Seg
|
||||||
|
// pins for the 38 transistors
|
||||||
|
sbit ADDR0 = P1 ^ 0; // to A(A0)
|
||||||
|
sbit ADDR1 = P1 ^ 1; // to B(A1)
|
||||||
|
sbit ADDR2 = P1 ^ 2; // to C(A2)
|
||||||
|
sbit ADDR3 = P1 ^ 3; // to E1
|
||||||
|
sbit ENLED = P1 ^ 4; // to E2 & E3
|
||||||
|
// seg chars to display to display the number
|
||||||
|
unsigned char code LedChar[] = {
|
||||||
|
0xC0,
|
||||||
|
0xF9,
|
||||||
|
0XA4,
|
||||||
|
0XB0,
|
||||||
|
0X99,
|
||||||
|
0X92,
|
||||||
|
0X82,
|
||||||
|
0XF8,
|
||||||
|
0X80,
|
||||||
|
0X90,
|
||||||
|
0X88,
|
||||||
|
0X83,
|
||||||
|
0XC6,
|
||||||
|
0XA1,
|
||||||
|
0X86,
|
||||||
|
0X8E,
|
||||||
|
};
|
||||||
|
// functions:
|
||||||
|
// 38 transistors control function
|
||||||
|
/*
|
||||||
|
* param:
|
||||||
|
* - addr: the address of the 38 transistors.
|
||||||
|
* function:
|
||||||
|
* - Convert the address to 3 binary numbers.
|
||||||
|
* - Set the 38 transistors to the address.
|
||||||
|
*/
|
||||||
|
void set38(unsigned char addr)
|
||||||
|
{
|
||||||
|
// Enable the 38 transistors.
|
||||||
|
ENLED = 0;
|
||||||
|
ADDR3 = 1;
|
||||||
|
// Set the 38 transistors to the address.
|
||||||
|
ADDR0 = addr & 0x01;
|
||||||
|
ADDR1 = (addr & 0x02) >> 1;
|
||||||
|
ADDR2 = (addr & 0x04) >> 2;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user