Nothing Special   »   [go: up one dir, main page]

ESProg 8 I

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 8

20BCS010

ANZIL MUFTI
PROGRAM 8
QUESTION:
Design and implement a program that outputs factors of a number
(input through switch) on LCD and LED with buzzer in between every factor.

SOURCE CODE:
#include <LCD.h>
sbit buzz=P0^3;
unsigned int count = 0;
unsigned char a[16];
unsigned int f[20];
void input()
{
unsigned int val = 0;
if (INT0 == 0)
val += 8;

if (INT1 == 0)
val += 4;

if (T0 == 0)
val += 2;

if (T1 == 0)
val += 1;
if (val != 0)
count = val;
}
int factors(int n)
{
int j=0,i=1;
for(i=1;i<=n;i++)
{
if(n%i==0)
{
f[j]=i;
j++;
}
}
return j;
}
void intToChar(long n)
{
int i = 0, j = 0;
for (i = 0; i < 16; i++)
{
a[i] = ' ';
}
i = 0;
while (n != 0)
{
a[i] = (n % 10) + '0';
i++;
n = n / 10;
}
i--;
while (j <= i)
{
char temp = a[i];
a[i] = a[j];
a[j] = temp;
i--;
j++;
}
}

void dispnum(unsigned int number)


{
int j=number;
RD=!(j&1);
j>>=1;
WR=!(j&1);
j>>=1;
TxD =!(j&1);
j>>=1;
RxD=!(j&1);
delay(10);

void main(void)
{
int i=0;
int c=0;
buzz=1;
LCD_INIT();

while (1)
{
input();
if (count == 0)
{
LCD_WRITE("Enter a number", 0, 0);
}
else
{
LCD_WRITE("Factors of ", 0, 0);
delay(20);
intToChar(count);
LCD_WRITE(a, 0, 8);
delay(20);

LCD_WRITE("are ", 1, 0);


c=factors(count);
for( k=0;k<c;k++)
{
intToChar(f[k]);
dispnum(f[k]);
LCD_WRITE(a, 1, 5);
buzz = 0;
delay(4000);
buzz=1;
}
count = 0;
}
}
}
HEX CODE:

:03000000020AE908
:0C0AE900787FE4F6D8FD758151020B30D7
:100C5800456E7465722061206E756D62657200461E
:100C68006163746F7273206F662000617265200083
:090C7800C0801014181C0F0102C9
:0A0D3300014300010800020900005E
:100CE800E4FDFCC3ED9FEC9E5015E4FBFA0BBB0042
:0F0CF800010AEB64644A70F50DBD00010C80E445
:010D070022C9
:0C0D2700D2827F0A7E00120CE8C28222F9
:100CA400A907E4F580C282C280C281E954F04408F5
:100CB400F580120D27E9540FC454F04408F580025E
:020CC4000D27FA
:100C8100C282C280C281758020120D277F01120CA1
:100C9100A4900C7EE493FF120CA4900C80E493FFCB
:030CA100020CA49E
:100CC600A907758001C282D280C281E954F0440925
:100CD600F580120D27E9540FC454F04409F580023B
:020CE6000D27D8
:100D0800AE05EF6003430640430680AF06020CA41D
:100C2E008B498A4A894BAF05AD4D120D08AB49AAC7
:100C3E004AA94B120800FF6010120CC67401254B16
:0A0C4E00F54BE4354AF54A80E42234
:0F0D1800900C7AE493FF120CA4E493FF020CA456
:100BFD00E4FFFE20B2062408FFE433FE20B30774A1
:100C0D00042FFFE43EFE20B40774022FFFE43EFEE6
:100C1D0020B5050FBF00010EEF4E60048E098F0A3F
:010C2D0022A4
:040B75008E498F4ACC
:100B7900E4FBFAF583758201D3E582954AE5496478
:100B890080F8E5836480985022AE49AF4AAD82ACC3
:100B990083120819ED4C7010EB25E0241BF8A6838D
:0F0BA90008A6820BBB00010AA380CDAE02AF03EA
:010BB800221A
:080972008F4C8E4B8D4A8C491D
:10097A00E4F54DF54EF54FF550F54DF54E740B2552
:10098A004EF87620054EE54E7002054D6410454D31
:10099A0070EBE4F54DF54EAF4CAE4BAD4AAC49ECBD
:1009AA004D4E4F6037E47B0AFAF9F8120BB9EB2483
:1009BA0030FF740B254EF8A607054EE54E7002056A
:1009CA004DAF4CAE4BAD4AAC49E47B0AFAF9F8128A
:1009DA000BB98F4C8E4B8D4A8C4980BBE54E154E18
:1009EA007002154DD3E550954EE54D6480F8E54FFC
:0509FA00648098502FFD
:1009FF00AF4E740B2FF8E6F551AE50740B2EF8E690
:100A0F00FD740B2FF8A605740B2EF8A651E54E15A5
:0D0A1F004E7002154D0550E55070C4054F96
:020A2C0080C088
:010A2E0022A5
:100A2F00E4F545F546F547F548D283120C81120BD4
:100A3F00FDE50A4509700E7BFF7A0C7958F54DFDDF
:100A4F00120C2E80E97BFF7A0C7967E4F54DFD12CD
:100A5F000C2E7F147E00120CE8AE09AF0AE4FCFDE9
:100A6F001209727B007A00790B754D08E4FD120CA8
:100A7F002E7F147E00120CE87BFF7A0C7973E4F55D
:100A8F004D7D01120C2EAF0AAE09120B758E478FDA
:100A9F0048E4F543C3E5439548E5476480F874801F
:100AAF0098502FE54325E0241BF8E6FE08E6FFE407
:100ABF00FCFD1209727B007A00790B754D057D01E3
:100ACF00120C2EC2837FA07E0F120CE8D283054337
:0A0ADF0080C2E4F509F50A020A3DA1
:100AF500020A2FE493A3F8E493A34003F68001F2DE
:100B050008DFF48029E493A3F85407240CC8C33301
:100B1500C4540F4420C8834004F456800146F6DFD0
:100B2500E4800B0102040810204080900D33E47E20
:100B3500019360BCA3FF543F30E509541FFEE493C5
:100B4500A360010ECF54C025E060A840B8E493A38C
:100B5500FAE493A3F8E493A3C8C582C8CAC583CAB7
:100B6500F0A3C8C582C8CAC583CADFE9DEE780BE6F
:010D3D0000B5
:10080000BB010689828A83E0225002E722BBFE02F6
:09081000E32289828A83E4932229
:10081900C2D5EC30E709B2D5E4C39DFDE49CFCEEFA
:1008290030E715B2D5E4C39FFFE49EFE12084FC31B
:10083900E49DFDE49CFC800312084F30D507C3E416
:060849009FFFE49EFE2269
:100BB900C2D5E830E70FB2D5E4C39BFBE49AFAE467
:100BC90099F9E498F8EC30E717B2D5120BEF12084F
:100BD900E0E4C39BFBE49AFAE499F9E498F880030A
:100BE9001208E030D50DE4C39FFFE49EFEE49DFDAD
:040BF900E49CFC225A
:10084F00BC000BBE0029EF8DF084FFADF022E4CC8D
:10085F00F875F008EF2FFFEE33FEEC33FCEE9DEC56
:10086F00984005FCEE9DFE0FD5F0E9E4CEFD22ED9C
:10087F00F8F5F0EE8420D21CFEADF075F008EF2FE6
:10088F00FFED33FD4007985006D5F0F222C398FDD7
:05089F000FD5F0EA2274
:1008A40075F008758200EF2FFFEE33FECD33CDCC0B
:1008B40033CCC58233C5829BED9AEC99E58298408E
:1008C4000CF582EE9BFEED9AFDEC99FC0FD5F0D66B
:1008D400E4CEFBE4CDFAE4CCF9A88222B800C1B995
:1008E4000059BA002DEC8BF084CFCECDFCE5F0CBD3
:1008F400F97818EF2FFFEE33FEED33FDEC33FCEB0C
:1009040033FB10D703994004EB99FB0FD8E5E4F9C6
:10091400FA227818EF2FFFEE33FEED33FDEC33FCB3
:10092400C933C910D7059BE99A4007EC9BFCE99AA7
:10093400F90FD8E0E4C9FAE4CCFB2275F010EF2FEC
:10094400FFEE33FEED33FDCC33CCC833C810D707EC
:100954009BEC9AE899400AED9BFDEC9AFCE899F827
:0E0964000FD5F0DAE4CDFBE4CCFAE4C8F922BA
:00000001FF

You might also like