Advertisement
Sarthak_Dandgawhal

exp_6_7_8_9

Apr 23rd, 2024 (edited)
771
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.53 KB | Source Code | 0 0
  1. // SQUARE_WAVE_KEIL_8051
  2.  
  3. #include <reg51.h>
  4. sbit pin = P1^0;
  5. main()
  6. {
  7.       P1 = 0x00;
  8.       TMOD = 0x09;
  9. loop:TL0 = 0xAF;
  10.       TH0 = 0x3C;
  11.        pin = 1;
  12.        TR0 = 1;
  13.        while(TF0 == 0)  {}
  14.  
  15.        TL0 = 0xAF;
  16.        TH0 = 0x3C;
  17.        pin = 0;
  18.       while(TF0 == 0)  {}  
  19.   goto loop;
  20. }
  21. -------------------------------------------------------------------------------------------------------------------------
  22. // LED interfacing
  23.  
  24. #include <reg51.h>
  25.  
  26. sbit LED = P1^0;
  27.  
  28. void delay(unsigned int y){
  29.     unsigned int i, j;
  30.     for(i = 0; i < y; i++) {
  31.         for(j = 0; j < 1275; j++) {
  32.         }
  33.     }
  34. }
  35. void main(){
  36.     while(1) {
  37.         delay(100);
  38.         LED = 0;
  39.         delay(100);
  40.         LED = 1;
  41.     }
  42. }
  43. -------------------------------------------------------------------------------------------------------------------------
  44.  
  45. // DC Motor interfacing
  46.  
  47. #include<reg51.h>
  48. #include<stdio.h>
  49.  
  50. void delay(void);
  51.  
  52. sbit motor_pin_1 = P2^0;
  53. sbit motor_pin_2 = P2^1;
  54.  
  55. void main()
  56. {
  57.   do
  58.   {
  59. \    motor_pin_1 = 1;
  60.     motor_pin_2 = 0; //Rotates Motor Anit Clockwise
  61.     delay();
  62.     motor_pin_1 = 1;
  63.     motor_pin_2 = 1; //Stops Motor
  64.     delay();
  65.     motor_pin_1 = 0;
  66.     motor_pin_2 = 1; //Rotates Motor Clockwise
  67.     delay();
  68.     motor_pin_1 = 0;
  69.     motor_pin_2 = 0; //Stops Motor
  70.     delay();
  71.   }while(1);
  72. }
  73.  
  74. void delay()
  75. {
  76.   int i,j;
  77.   for(i=0;i<1000;i++){
  78.     for(j=0;j<1000;j++){
  79.     }
  80. }
  81. }
  82.  
  83. -------------------------------------------------------------------------------------------------------------------------
  84. // LCD Interfacing
  85.  
  86. #include<reg51.h>
  87. #define display_port P2
  88. sbit rs = P3^2;
  89. sbit rw = P3^3;
  90. sbit e =  P3^4;
  91.  
  92. void msdelay(unsigned int time)
  93. {
  94.     unsigned i,j ;
  95.     for(i=0;i<time;i++);  
  96.     for(j=0;j<1275;j++);
  97. }
  98. void lcd_cmd(unsigned char command)
  99. {
  100.     display_port = command;
  101.     rs= 0;
  102.     rw=0;
  103.     e=1;
  104.     msdelay(1);
  105.     e=0;
  106. }
  107. void lcd_data(unsigned char disp_data)
  108. {
  109.     display_port = disp_data;
  110.     rs= 1;
  111.     rw=0;
  112.     e=1;
  113.     msdelay(1);
  114.     e=0;
  115. }
  116. void lcd_init()
  117. {
  118.     lcd_cmd(0x38);
  119.     msdelay(10);
  120.     lcd_cmd(0x0F);
  121.     msdelay(10);
  122.     lcd_cmd(0x01);
  123.     msdelay(10);
  124.     lcd_cmd(0x81);
  125.     msdelay(10);
  126. }
  127. void main()
  128. {
  129.     unsigned char a[8]="TESGING";
  130.     int l=0;
  131.     lcd_init();
  132.     while(a[l] != '\0')
  133.     {
  134.         lcd_data(a[l]);
  135.         l++;
  136.         msdelay(50);
  137.     }
  138. }
  139.  
  140. -------------------------------------------------------------------------------------------------------------------------
  141.  
  142. // Matrix Keyboard
  143.  
  144. #include<reg51.h>
  145.  
  146. #define display_port P2
  147. sbit rs = P3^2;
  148. sbit rw = P3^3;
  149. sbit e =  P3^4;
  150. sbit C4 = P1^0;
  151. sbit C3 = P1^1;
  152. sbit C2 = P1^2;
  153. sbit C1 = P1^3;
  154. sbit R4 = P1^4;
  155. sbit R3 = P1^5;
  156. sbit R2 = P1^6;
  157. sbit R1 = P1^7;
  158.  
  159.  
  160. void msdelay(unsigned int time)
  161. {
  162.     unsigned i,j ;
  163.     for(i=0;i<time;i++)    
  164.     for(j=0;j<1275;j++);
  165. }
  166. void lcd_cmd(unsigned char command)
  167. {
  168.     display_port = command;
  169.     rs= 0;
  170.     rw=0;
  171.     e=1;
  172.     msdelay(1);
  173.     e=0;
  174. }
  175. void lcd_data(unsigned char disp_data)
  176. {
  177.     display_port = disp_data;
  178.     rs= 1;
  179.     rw=0;
  180.     e=1;
  181.     msdelay(1);
  182.     e=0;
  183. }
  184. void lcd_init()
  185. {
  186.     lcd_cmd(0x38);
  187.     msdelay(10);
  188.     lcd_cmd(0x0F);
  189.     msdelay(10);
  190.     lcd_cmd(0x01);
  191.     msdelay(10);
  192.     lcd_cmd(0x81);
  193.     msdelay(10);
  194. }
  195. void row_finder1()
  196. {
  197. R1=R2=R3=R4=1;
  198. C1=C2=C3=C4=0;
  199. if(R1==0)
  200. lcd_data('1');
  201. if(R2==0)
  202. lcd_data('4');
  203. if(R3==0)
  204. lcd_data('7');
  205. if(R4==0)
  206. lcd_data('*');
  207. }
  208. void row_finder2()
  209. {
  210. R1=R2=R3=R4=1;
  211. C1=C2=C3=C4=0;
  212. if(R1==0)
  213. lcd_data('2');
  214. if(R2==0)
  215. lcd_data('5');
  216. if(R3==0)
  217. lcd_data('8');
  218. if(R4==0)
  219. lcd_data('0');
  220. }
  221. void row_finder3() //Function for finding the row for column 3
  222. {
  223. R1=R2=R3=R4=1;
  224. C1=C2=C3=C4=0;
  225. if(R1==0)
  226. lcd_data('3');
  227. if(R2==0)
  228. lcd_data('6');
  229. if(R3==0)
  230. lcd_data('9');
  231. if(R4==0)
  232. lcd_data('#');
  233. }
  234. void row_finder4() //Function for finding the row for column 4
  235. {
  236. R1=R2=R3=R4=1;
  237. C1=C2=C3=C4=0;
  238. if(R1==0)
  239. lcd_data('A');
  240. if(R2==0)
  241. lcd_data('B');
  242. if(R3==0)
  243. lcd_data('C');
  244. if(R4==0)
  245. lcd_data('D');
  246. }
  247.  
  248. void main()
  249. {
  250.     lcd_init();
  251.     while(1)
  252.     {    
  253.         msdelay(30);
  254.         C1=C2=C3=C4=1;
  255.           R1=R2=R3=R4=0;
  256.           if(C1==0)
  257.           row_finder1();
  258.           else if(C2==0)
  259.            row_finder2();
  260.            else if(C3==0)
  261.         row_finder3();
  262.         else if(C4==0)
  263.         row_finder4();
  264.     }
  265. }
  266.  
  267. -------------------------------------------------------------------------------------------------------------------------
  268.  
  269.  
Tags: square_wave
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement