எலக்ட்ரானிக் கேஜெட்களை உருவாக்குவதற்கான மென்பொருள் துறையில் உட்பொதிக்கப்பட்ட சி மிகவும் பிரபலமான நிரலாக்க மொழியாகும். ஒவ்வொரு செயலியும் உட்பொதிக்கப்பட்ட மென்பொருளுடன் தொடர்புடையது. உட்பொதிக்கப்பட்ட சி புரோகிராமிங் செயலியின் குறிப்பிட்ட செயல்பாடுகளைச் செய்வதில் முக்கிய பங்கு வகிக்கிறது. எங்கள் அன்றாட வாழ்க்கையில், சலவை இயந்திரங்கள், மொபைல் போன்கள், டிஜிட்டல் கேமரா போன்ற பல மின்னணு சாதனங்களை நாங்கள் அடிக்கடி பயன்படுத்துகிறோம், மேலும் உட்பொதிக்கப்பட்ட சி மூலம் திட்டமிடப்பட்ட மைக்ரோகண்ட்ரோலர்களை அடிப்படையாகக் கொண்டு செயல்படும்.
உட்பொதிக்கப்பட்ட கணினி நிரலாக்க
எழுதப்பட்ட சி குறியீடு மிகவும் நம்பகமானது, சிறியது மற்றும் அளவிடக்கூடியது மற்றும் உண்மையில் புரிந்து கொள்ள மிகவும் எளிதானது. முதல் மற்றும் முன்னணி கருவி உட்பொதிக்கப்பட்ட கணினியின் செயல்பாட்டை தீர்மானிக்கும் உட்பொதிக்கப்பட்ட மென்பொருளாகும். உட்பொதிக்கப்பட்ட சி நிரலாக்க மொழி மைக்ரோகண்ட்ரோலர்களை நிரலாக்க பெரும்பாலும் பயன்படுத்தப்படுகிறது.
உட்பொதிக்கப்பட்ட சி புரோகிராமிங் பயிற்சி (8051)
நிரலை எழுதுவதற்கு உட்பொதிக்கப்பட்ட வடிவமைப்பாளர்கள் குறிப்பிட்ட செயலிகள் அல்லது கட்டுப்படுத்திகளின் வன்பொருள் குறித்து போதுமான அறிவைக் கொண்டிருக்க வேண்டும், ஏனெனில் உட்பொதிக்கப்பட்ட சி நிரலாக்கமானது முழு வன்பொருள் தொடர்பான நிரலாக்க நுட்பமாகும்.
புரோகிராமிங் பயிற்சி
முன்னதாக, சட்டசபை நிலை நிரலாக்கத்தைப் பயன்படுத்தி பல உட்பொதிக்கப்பட்ட பயன்பாடுகள் உருவாக்கப்பட்டன. இருப்பினும், சி, கோபோல் மற்றும் பாஸ்கல் போன்ற பல்வேறு உயர் மட்ட மொழிகளின் வருகையால் இந்த சிக்கலை சமாளிக்க அவை பெயர்வுத்திறனை வழங்கவில்லை. இருப்பினும், சி மொழி தான் பரவலாக ஏற்றுக்கொள்ளப்பட்டது உட்பொதிக்கப்பட்ட அமைப்புகள் பயன்பாட்டு மேம்பாடு , அது தொடர்ந்து அவ்வாறு செய்கிறது.
உட்பொதிக்கப்பட்ட அமைப்பு
உட்பொதிக்கப்பட்ட அமைப்பு உட்பொதிக்கப்பட்ட சி நிரலாக்க மென்பொருள் மற்றும் வன்பொருள் பகுதியின் கலவையாக முக்கியமாக மைக்ரோகண்ட்ரோலர்களைக் கொண்டுள்ளது, மேலும் இது குறிப்பிட்ட பணியைச் செய்ய நோக்கமாக உள்ளது. சலவை இயந்திரங்கள் மற்றும் வீடியோ ரெக்கார்டர்கள், குளிர்சாதன பெட்டிகள் போன்ற நம் அன்றாட வாழ்க்கையில் இந்த வகையான உட்பொதிக்கப்பட்ட அமைப்புகள் பயன்படுத்தப்படுகின்றன. உட்பொதிக்கப்பட்ட அமைப்பு முதலில் 8051 மைக்ரோகண்ட்ரோலர்களால் அறிமுகப்படுத்தப்பட்டது.
உட்பொதிக்கப்பட்ட அமைப்பு
8051 மைக்ரோகண்ட்ரோலருக்கு அறிமுகம்
8051 மைக்ரோகண்ட்ரோலர் ஒரு அடிப்படை மைக்ரோகண்ட்ரோலர், இது 1970 முதல் ‘இன்டெல் கார்ப்பரேஷன்’ முதன்முதலில் அறிமுகப்படுத்தப்பட்டது. இது 8086 செயலி கட்டமைப்பால் உருவாக்கப்பட்டது. 8051 என்பது மைக்ரோகண்ட்ரோலரின் குடும்பமாகும், இது பிலிப்ஸ், அட்மெல், டால்ஸ் மற்றும் பல உற்பத்தியாளர்களால் உருவாக்கப்பட்டது. 8051 மைக்ரோகண்ட்ரோலர்கள் சிறிய குழந்தைகளின் பொம்மைகளிலிருந்து பெரிய வாகன அமைப்புகள் வரை பல உட்பொதிக்கப்பட்ட தயாரிப்புகளில் பயன்படுத்தப்பட்டுள்ளது.
8051 மைக்ரோகண்ட்ரோலர்
8051 மைக்ரோகண்ட்ரோலர் 8-பிட் ஆகும் ‘சி.ஐ.எஸ்.சி’ கட்டமைப்பு . இது நினைவுகள், தொடர் தொடர்பு, குறுக்கீடுகள், உள்ளீடு / வெளியீட்டு துறைமுகங்கள் மற்றும் டைமர் / கவுண்டர்கள் ஆகியவற்றைக் கொண்டுள்ளது, இது ஒரு ஒருங்கிணைந்த சில்லுடன் கட்டப்பட்டுள்ளது, இது இடைமுகமாக இருக்கும் புற சாதனங்களைக் கட்டுப்படுத்த திட்டமிடப்பட்டுள்ளது. நிரல் மைக்ரோகண்ட்ரோலரின் ரேமில் சேமிக்கப்படுகிறது, ஆனால் நிரலை எழுதுவதற்கு முன்பு, நாம் ரேம் பற்றி அறிந்திருக்க வேண்டும் அமைப்பு மைக்ரோகண்ட்ரோலரின்.
உட்பொதிக்கப்பட்ட கணினி நிரலாக்க: அடிப்படைகள் அறிவிப்பு
ஒவ்வொரு செயல்பாடும் ஒரு குறிப்பிட்ட பணியைச் செய்யும் அறிக்கைகளின் தொகுப்பாகும், மேலும் ஒன்று அல்லது அதற்கு மேற்பட்ட செயல்பாடுகளை சேகரிப்பது நிரலாக்க மொழி என்று அழைக்கப்படுகிறது. ஒவ்வொரு மொழியும் சில அடிப்படை கூறுகள் மற்றும் இலக்கண விதிகளைக் கொண்டுள்ளது. சி மொழி நிரலாக்கமானது எழுத்துக்குறி தொகுப்பு, மாறிகள், தரவு வகைகள், மாறிலிகள், முக்கிய சொற்கள், வெளிப்பாடுகள் மற்றும் பலவற்றோடு செயல்பட வடிவமைக்கப்பட்டுள்ளது. இவை அனைத்தும் தலைப்பு கோப்பு அல்லது நூலகக் கோப்பின் கீழ் கருதப்படுகின்றன, மேலும் இது குறிப்பிடப்படுகிறது
#சேர்க்கிறது
உட்பொதிக்கப்பட்ட சி புரோகிராமிங் மேம்பாடு
சி மொழியின் நீட்டிப்பு உட்பொதிக்கப்பட்ட சி நிரலாக்க மொழி என்று அழைக்கப்படுகிறது. மேலே ஒப்பிடும்போது, சி மொழியில் உட்பொதிக்கப்பட்ட நிரலாக்கமானது தரவு வகைகள் மற்றும் முக்கிய சொற்கள் போன்ற சில கூடுதல் அம்சங்களைக் கொண்டுள்ளது மற்றும் தலைப்பு கோப்பு அல்லது நூலகக் கோப்பு குறிப்பிடப்படுகிறது
#சேர்க்கிறது
உட்பொதிக்கப்பட்ட சி கூடுதல் சொற்கள்
- sbit
- பிட்
- எஸ்.எஃப்.ஆர்
- நிலையற்ற
- மேக்ரோக்கள் வரையறுக்கின்றன
மைக்ரோகண்ட்ரோலரின் ஒற்றை PIN ஐ அறிவிக்க “sbit” பயன்படுத்தப்படுகிறது. எடுத்துக்காட்டாக, எல்.ஈ.டி P0.1 முள் உடன் இணைக்கப்பட்டுள்ளது, மதிப்பை நேரடியாக போர்ட் முள் அனுப்ப பரிந்துரைக்கப்படவில்லை, முதலில், முள் மற்றொரு மாறியுடன் அறிவிக்க வேண்டும், பின்னர் நிரலில் எங்கும் பயன்படுத்த முடிந்த பிறகு.
தொடரியல்: sbit a = P0 ^ 1 // அந்தந்த முள் மாறியுடன் அறிவிக்கிறது //
a = 0x01 // மதிப்பை போர்ட் முள் அனுப்பவும் //
மாறியின் நிலையை சரிபார்க்க “பிட்” பயன்படுத்தப்படுகிறது.
தொடரியல்: பிட் சி // பிட் மாறியை அறிவிக்கிறது //
c = a // ஒரு மதிப்பு c மாறிக்கு ஒதுக்கப்படுகிறது //
if (c == 1) // நிபந்தனையை உண்மை அல்லது தவறானதா என சரிபார்க்கவும் //
{
… ..
……
}
“SFR” முக்கிய சொல் SFR பதிவேடுகளை வேறு பெயரில் அணுக பயன்படுகிறது. எஸ்.எஃப்.ஆர் பதிவு a என வரையறுக்கப்பட்டுள்ளது சிறப்பு செயல்பாடு பதிவு , இது முகவரியைக் குறிப்பதன் மூலம் அனைத்து புற தொடர்பான பதிவுகளையும் கொண்டுள்ளது. SFR பதிவு SFR முக்கிய வார்த்தையால் அறிவிக்கப்படுகிறது. SFR முக்கிய சொல் பெரிய எழுத்துக்களில் இருக்க வேண்டும்.
தொடரியல்: SFR போர்ட் = 0x00 // 0x00 என்பது ஒரு போர்ட் 0 முகவரி, இது போர்ட் மாறி // ஆல் அறிவிக்கப்படுகிறது
போர்ட் = 0x01 // பின்னர் மதிப்பை போர்ட் 0 க்கு அனுப்பவும் //
தாமதம் ()
போர்ட் = 0x00
தாமதம் ()
உட்பொதிக்கப்பட்ட கணினி வளர்ச்சியில் “கொந்தளிப்பான” முக்கிய சொல் மிக முக்கியமானது. கொந்தளிப்பான முக்கிய மதிப்புடன் அறிவிக்கும் மாறி எதிர்பாராத விதமாக மாற்றப்படவில்லை. இது நினைவக-வரைபட புற பதிவுகளில் பயன்படுத்தப்படலாம், ஐ.எஸ்.ஆர்களால் மாற்றியமைக்கப்பட்ட உலகளாவிய மாறிகள். தரவை கடத்துவதற்கும் பெறுவதற்கும் கொந்தளிப்பான முக்கிய சொல்லைப் பயன்படுத்தாமல், குறியீடு பிழை அல்லது தேர்வுமுறை பிழை நடக்கும்.
தொடரியல்: ஆவியாகும் எண்ணாக கே
மேக்ரோ என்பது அறிக்கைகளின் தொகுதியை ஒரு முன்-செயலி உத்தரவாக அறிவிக்கப் பயன்படும் பெயர். பெயர் பயன்படுத்தப்படும்போதெல்லாம், அது மேக்ரோவின் உள்ளடக்கங்களால் மாற்றப்படுகிறது. மேக்ரோக்கள் # வரையறுக்கின்றன. முழு போர்ட் ஊசிகளும் மேக்ரோக்களால் வரையறுக்கப்படுகின்றன.
தொடரியல்: # dat Po ஐ வரையறுக்கவும் // முழு துறைமுகமும் ஒரு மாறி மூலம் அறிவிக்கப்படுகிறது //
dat = 0x01 // தரவு port0 க்கு அனுப்புகிறது //
அடிப்படை உட்பொதிக்கப்பட்ட சி நிரல்கள்
மைக்ரோகண்ட்ரோலர் புரோகிராமிங் ஒவ்வொன்றிற்கும் வேறுபடும் இயக்க முறைமை வகை . பல இயக்க முறைமைகள் இருந்தாலும் லினக்ஸ், விண்டோஸ், ஆர்.டி.ஓ.எஸ் போன்றவை உள்ளன. இருப்பினும், உட்பொதிக்கப்பட்ட கணினி மேம்பாட்டிற்கு RTOS பல நன்மைகளைக் கொண்டுள்ளது. இந்த கட்டுரை 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி உட்பொதிக்கப்பட்ட சி நிரலாக்கத்தை உருவாக்க அடிப்படை உட்பொதிக்கப்பட்ட சி நிரலாக்கத்தைப் பற்றி விவாதிக்கிறது.
உட்பொதிக்கப்பட்ட சி புரோகிராமிங் படிகள்
- 8051 மைக்ரோகண்ட்ரோலருடன் எல்.ஈ.டி ஒளிரும்
- எண் 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி 7-பிரிவு காட்சியில் காண்பிக்கப்படுகிறது
- டைமர் / கவுண்டர் கணக்கீடுகள் மற்றும் 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி நிரல்
- 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி தொடர் தொடர்பு கணக்கீடுகள் மற்றும் நிரல்
- 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி குறுக்கீடு திட்டங்கள்
- 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி கீபேட் புரோகிராமிங்
- 8051 மைக்ரோகண்ட்ரோலருடன் எல்சிடி புரோகிராமிங்
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி எல்.ஈ.டி ஒளிரும்
எல்.ஈ.டி என்பது ஒரு குறைக்கடத்தி சாதனம், இது பல பயன்பாடுகளில் பயன்படுத்தப்படுகிறது, பெரும்பாலும் அறிகுறி நோக்கத்திற்காக. வெவ்வேறு கட்டங்களில் முடிவுகளின் செல்லுபடியை சரிபார்க்க சோதனையின் போது இது ஒரு பெரிய அளவிலான பயன்பாடுகளை குறிகாட்டிகளாகக் கண்டறிந்து வருகிறது. அவை மிகவும் மலிவானவை மற்றும் பல்வேறு வடிவங்கள், வண்ணங்கள் மற்றும் அளவுகளில் எளிதில் கிடைக்கின்றன. எல்.ஈ.டிக்கள் வடிவமைக்கப் பயன்படுகின்றன செய்தி காட்சி பலகைகள் மற்றும் போக்குவரத்து கட்டுப்பாட்டு சமிக்ஞை விளக்குகள் போன்றவை. இங்கே எல்.ஈ.டிக்கள் 8051 மைக்ரோகண்ட்ரோலர்களின் PORT0 உடன் இணைக்கப்பட்டுள்ளன.
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி எல்.ஈ.டி ஒளிரும்
1. 01010101
10101010
# அடங்கும் // தலைப்பு கோப்பு //
void main () // நிரல் செயல்படுத்தல் புள்ளி புள்ளி //
{
கையொப்பமிடாத int i // தரவு வகை //
(1) // தொடர்ச்சியான வளையத்திற்கு //
{
P0 = 0x55 // ஹெக்சா மதிப்பை போர்ட் 0 க்கு அனுப்பவும் //
(i = 0i<30000i++) //normal delay//
P0 = 0x3AA // ஹெக்ஸா மதிப்பை போர்ட் 0 க்கு அனுப்பவும் //
(i = 0i<30000i++) //normal delay//
}
}
2. 00000001
00000010
00000100
.
.
10,000,000
#சேர்க்கிறது
void main ()
{
கையொப்பமிடாத i
கையொப்பமிடாத கரி ஜே, பி
போது (1)
{
பி 0 = 0x01
b = பி 0
(j-0j<3000j++)
(j = 0j<8j++)
{
b = b<<1
பி 0 = ஆ
(j-0j<3000j++)
}
}
}
3. 00001111
11110000
#சேர்க்கிறது
void main ()
{
கையொப்பமிடாத i
போது (1)
{
பி 0 = 0x0 எஃப்
(j-0j<3000j++)
பி 0 = 0 எக்ஸ்எஃப் 0
(j-0j<3000j++)
}
}
4. 00000001
00000011
00000111
.
.
11111111
#சேர்க்கிறது
void main ()
{
கையொப்பமிடாத i
கையொப்பமிடாத கரி ஜே, பி
போது (1)
{
பி 0 = 0x01
b = பி 0
(j-0j<3000j++)
(j = 0j<8j++)
0x01
பி 0 = ஆ
(j-0j<3000j++)
}
}
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி 7-பிரிவு காட்சியில் எண்களைக் காண்பித்தல்
தி 7-பிரிவு காட்சிகள் அடிப்படை மின்னணு காட்சிகள், அவை எண் தகவல்களைக் காட்ட பல அமைப்புகளில் பயன்படுத்தப்படுகின்றன. எல்.ஈ.டிகளின் சரியான சேர்க்கைகள் இயக்கப்படும் போது 0 முதல் 9 வரையிலான இலக்கங்களைக் காண்பிக்கும் வகையில் இது எட்டு எல்.ஈ.டிகளைக் கொண்டுள்ளது. அவர்கள் ஒரு நேரத்தில் ஒரு இலக்கத்தை மட்டுமே காட்ட முடியும்.
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி 7-பிரிவு காட்சியில் எண்களைக் காண்பித்தல்
1. நான்கு 7 பிரிவு காட்சிகளில் ‘0 முதல் F’ வரை எண்களைக் காட்ட WAP?
#சேர்க்கிறது
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
void main ()
{
unsignedchar n [10] = {0 × 40,0xF9,0 × 24,0 × 30,0 × 19,0 × 12,0 × 02,0xF8,0xE00,0 × 10}
நீங்கள் கையொப்பமிடவில்லை, ஜே
a = b = c = d = 1
போது (1)
{
(i = 0i<10i++)
{
பி 2 = என் [i]
(j = 0j<60000j++)
}
}
}
2. 7 பிரிவு காட்சிகளில் ’00 முதல் 10 ’வரையிலான எண்களைக் காட்ட WAP?
#சேர்க்கிறது
sbit a = P3 ^ 0
sbit b = P3 ^ 1
காட்சி 1 () ஐ வெற்றிடமாக்கு
காட்சி காட்சி 2 ()
வெற்றிட தாமதம் ()
void main ()
{
unsignedchar n [10] = {0 × 40,0xF9,0 × 24,0 × 30,0 × 19,0 × 12,0 × 02,0xF8,0xE00,0 × 10}
நீங்கள் கையொப்பமிடவில்லை, ஜே
ds1 = ds2 = 0
போது (1)
{
(i = 0, i<20i++)
display1 ()
display2 ()
}
}
காட்சி 1 () ஐ வெற்றிடமாக்கு
{
a = 1
b = 0
பி 2 = கள் [டிஎஸ் 1]
தாமதம் ()
a = 1
b = 0
பி 2 = கள் [டிஎஸ் 1]
தாமதம் ()
}
காட்சி காட்சி 2 ()
{
ds1 ++
if (ds1> = 10)
{
ds1 = 0
ds2 ++
if (ds2> = 10)
{
ds1 = ds2 = 0
}
}
}
வெற்றிட தாமதம் ()
{
கையொப்பமிடாத கே
(k = 0k<30000k++)
}
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி டைமர் / கவுண்டர் கணக்கீடுகள் மற்றும் நிரல்
பயன்பாட்டு மென்பொருள் மேம்பாட்டின் முக்கிய காரணிகளில் ஒன்று தாமதம். இருப்பினும், டைமர் தாமதத்தை செயல்படுத்துவதற்காக இந்த சிக்கலை சமாளிக்க சாதாரண தாமதம் விலைமதிப்பற்ற முடிவை வழங்காது. தி டைமர்கள் மற்றும் கவுண்டர்கள் மைக்ரோகண்ட்ரோலரின் வன்பொருள் கூறுகள், அவை எண்ணற்ற பருப்புகளுடன் விலைமதிப்பற்ற நேர தாமதத்தை வழங்க பல பயன்பாடுகளில் பயன்படுத்தப்படுகின்றன. இரண்டு பணிகளும் மென்பொருள் நுட்பத்தால் செயல்படுத்தப்படுகின்றன.
டைமர் தாமதம்
T1M2 (timer1 மற்றும் mode2) ஐப் பயன்படுத்தி 500us நேர தாமதத்தை உருவாக்க WAP?
#சேர்க்கிறது
void main ()
{
கையொப்பமிடாத கரி i
TMOD = 0x20 // டைமர் பயன்முறையை அமைக்கவும் //
(i = 0i<2i++) //double the time daly//
{
TL1 = 0x19 // நேர தாமதத்தை அமைக்கவும் //
TH1 = 0x00
TR1 = 1 // டைமர் oN //
(TF1 == 0) // கொடி பிட்டை சரிபார்க்கவும் //
TF1 = 0
}
TR1 = 0 // டைமர் ஆஃப் //
}
இயல்பான சுழற்சி தாமதம்
வெற்றிட தாமதம் ()
{
கையொப்பமிடாத கே
(k = 0k<30000k++)
}
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி தொடர் தொடர்பு கணக்கீடுகள் மற்றும் நிரல்
தொடர் தொடர்பு பொதுவாக சமிக்ஞையை கடத்துவதற்கும் பெறுவதற்கும் பயன்படுத்தப்படுகிறது. 8051 மைக்ரோகண்ட்ரோலர் கொண்டிருக்கும் UART தொடர் தொடர்பு Rx மற்றும் Tx ஊசிகளால் பரவும் மற்றும் பெறப்பட்ட சமிக்ஞைகள். UART தரவின் பைட்டுகளை எடுத்து தனித்தனி பிட்களை தொடர்ச்சியான முறையில் அனுப்புகிறது. பதிவேடுகள் தரவை நினைவகத்தில் சேகரித்து சேமிப்பதற்கான ஒரு வழியாகும். UART ஒரு அரை-இரட்டை நெறிமுறை. அரை-இரட்டை என்பது தரவை மாற்றுவது மற்றும் பெறுவது என்று பொருள், ஆனால் அதே நேரத்தில் அல்ல.
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி தொடர் தொடர்பு கணக்கீடுகள் மற்றும் நிரல்
1. தொடர் சாளரத்தில் ‘எஸ்’ எழுத்தை கடத்த WAP 9600 ஐ பாட் வீதமாகப் பயன்படுத்துகிறதா?
28800 என்பது 8051 மைக்ரோகண்ட்ரோலரின் அதிகபட்ச பாட் வீதமாகும்
28800/9600 = 3
அந்த பாட் வீதம் ‘3’ டைமர்களில் சேமிக்கப்படுகிறது
#சேர்க்கிறது
void main ()
{
SCON = 0x50 // தொடர் தகவல்தொடர்பு தொடங்க //
TNOD = 0x20 // டைமர் பயன்முறையைத் தேர்ந்தெடுத்தது //
TH1 = 3 // பாட் வீதத்தை ஏற்றவும் //
TR1 = 1 // டைமர் ஆன் //
SBUF = ’S’ // எழுத்துக்குறியை பதிவேட்டில் சேமிக்கவும் //
போது (TI == 0) // குறுக்கீடு பதிவேட்டை சரிபார்க்கவும் //
TI = 0
TR1 = 0 // டைமரை முடக்கு //
போது (1) // தொடர்ச்சியான வளையம் //
}
2. ஹைபர்டெர்மினலில் இருந்து தரவைப் பெற WAP மற்றும் 9600 பாட் பயன்படுத்தி மைக்ரோகண்ட்ரோலரின் PORT 0 க்கு அந்த தரவை அனுப்ப?
28800 என்பது 8051 மைக்ரோகண்ட்ரோலரின் அதிகபட்ச பாட் வீதமாகும்
28800/9600 = 3
அந்த பாட் வீதம் ‘3’ டைமர்களில் சேமிக்கப்படுகிறது
#சேர்க்கிறது
void main ()
{
SCON = 0x50 // தொடர் தகவல்தொடர்பு தொடங்க //
TMOD = 0x20 // டைமர் பயன்முறையைத் தேர்ந்தெடுத்தது //
TH1 = 3 // பாட் வீதத்தை ஏற்றவும் //
TR1 = 1 // டைமர் ஆன் //
PORT0 = SBUF // SBUF இலிருந்து தரவை port0 // க்கு அனுப்பவும்
(RI == 0) // குறுக்கீடு பதிவேட்டை சரிபார்க்கவும் //
RI = 0
TR1 = 0 // டைமரை முடக்கு //
(1) // எழுத்துக்குறி பெறும்போது நிரலை நிறுத்து //
}
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி குறுக்கீடு திட்டங்கள்
குறுக்கீடு என்பது தற்போதைய நிரலை நிறுத்தி மற்ற நிரலை உடனடியாக இயக்க கட்டாயப்படுத்தும் ஒரு சமிக்ஞையாகும். 8051 மைக்ரோகண்ட்ரோலர் 6 குறுக்கீடுகளை வழங்குகிறது, அவை உள் மற்றும் வெளிப்புறம் குறுக்கீடு மூலங்கள் . குறுக்கீடு ஏற்படும் போது மைக்ரோகண்ட்ரோலர் தற்போதைய பணியை இடைநிறுத்தி, ஐ.எஸ்.ஆரை செயல்படுத்துவதன் மூலம் குறுக்கீட்டில் கலந்து கொள்ளுங்கள், பின்னர் மைக்ரோகண்ட்ரோலர் சமீபத்திய பணிக்குத் திரும்புகிறார்.
டைமர் 0 குறுக்கீடுகள் நிகழும்போது இடது ஷிப்ட் செயல்பாட்டைச் செய்ய WAP பின்னர் முக்கிய செயல்பாட்டில் P0 க்கான குறுக்கீடு செயல்பாட்டைச் செய்யுமா?
#சேர்க்கிறது
கையொப்பமிடாத கரி ஆ
void timer0 () குறுக்கீடு 2 // தேர்ந்தெடுக்கப்பட்ட டைமர் 0 குறுக்கீடு //
{
b = 0x10
பி 1 = ஆ<<2
}
void main ()
{
கையொப்பமிடாத கரி a, i
IE = 0x82 // டைமர் 0 குறுக்கீட்டை இயக்கவும் //
TMOD = 0x01
TLo = 0xFC // குறுக்கீடு டைமர் //
TH1 = 0xFB
TR0 = 1
a = 0x00
போது (1)
{
(i = 0i<255i++)
{
a ++
போ = அ
}
}
}
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி கீபேட் புரோகிராமிங்
மேட்ரிக்ஸ் விசைப்பலகையானது ஒரு அனலாக் மாறுதல் சாதனம் ஆகும், இது பல உட்பொதிக்கப்பட்ட பயன்பாடுகளில் பயனருக்கு தேவையான பணிகளை செய்ய அனுமதிக்கிறது. அ மேட்ரிக்ஸ் விசைப்பலகை வரிசைகள் மற்றும் நெடுவரிசைகளில் மேட்ரிக்ஸ் வடிவத்தில் சுவிட்சுகளின் ஏற்பாட்டைக் கொண்டுள்ளது. வரிசைகள் மற்றும் நெடுவரிசைகள் மைக்ரோகண்ட்ரோலருடன் இணைக்கப்பட்டுள்ளன, அதாவது சுவிட்சுகளின் வரிசை ஒரு முனையுடன் இணைக்கப்பட்டுள்ளது மற்றும் ஒவ்வொரு நெடுவரிசையிலும் சுவிட்சுகள் மற்றொரு முள் இணைக்கப்பட்டுள்ளன, பின்னர் செயல்பாடுகளைச் செய்யுங்கள்.
8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி கீபேட் புரோகிராமிங்
1. சுவிட்சை அழுத்துவதன் மூலம் எல்.ஈ.டி ஐ மாற்றுவதற்கு WAP
#சேர்க்கிறது
sbit a = P3 ^ 0
sbit b = P3 ^ 1
sbit c = P3 ^ 2
sbit d = P3 ^ 3
வெற்றிட தாமதம் ()
void main ()
{
போது (1)
{
a = 0
b = 1
c = 1
d = 1
தாமதம் ()
a = 1
b = 0
c = 1
d = 1
வெற்றிட தாமதம் ()
{
கையொப்பமிடாத கரி i
TMOD = 0x20 // டைமர் பயன்முறையை அமைக்கவும் //
(i = 0i<2i++) //double the time daly//
{
TL1 = 0x19 // நேர தாமதத்தை அமைக்கவும் //
TH1 = 0x00
TR1 = 1 // டைமர் oN //
(TF1 == 0) // கொடி பிட்டை சரிபார்க்கவும் //
TF1 = 0
}
TR1 = 0 // டைமர் ஆஃப் //
}
2. விசைப்பலகையில் உள்ள ‘1’ விசையை அழுத்துவதன் மூலம் எல்.ஈ.டி.க்கு மாற WAP?
#சேர்க்கிறது
sbit r1 = P2 ^ 0
sbit c1 = P3 ^ 0
sbit LED = P0 ^ 1
void main ()
{
r1 = 0
if (c1 == 0)
{
LED = 0xff
}
}
3. விசைப்பலகையில் அந்தந்த விசையை அழுத்துவதன் மூலம் ஏழு பிரிவில் 0,1,2,3,4,5 எண்ணைக் காட்ட WAP?
#சேர்க்கிறது
sbit r1 = P2 ^ 0
sbit c1 = P3 ^ 0
sbit r2 = P2 ^ 0
sbit c2 = P3 ^ 0
sbit a = P0 ^ 1
void main ()
{
r1 = 0 a = 1
if (c1 == 0)
{
a = 0xFC
}
என்றால் (c2 == 0)
{
a = 0x60
}
if (c3 == 0)
{
a = 0xDA
}
என்றால் (c4 == 0)
{
a = 0xF2
}
}
8051 மைக்ரோகண்ட்ரோலருடன் எல்சிடி புரோகிராமிங்
தி எல்சிடி காட்சி ஒரு மின்னணு சாதனம், இது ஒரு உரை அல்லது பட வடிவத்தில் தகவல்களைக் காண்பிக்க பல பயன்பாடுகளில் அடிக்கடி பயன்படுத்தப்படுகிறது. எல்சிடி என்பது அதன் திரையில் எழுத்துக்களை எளிதாகக் காட்டக்கூடிய ஒரு காட்சி. எல்சிடி டிஸ்ப்ளே 8-தரவு கோடுகள் மற்றும் 3-கட்டுப்பாட்டு கோடுகளைக் கொண்டுள்ளது, அவை மைக்ரோகண்ட்ரோலருடன் இடைமுகப்படுத்தப் பயன்படுகின்றன.
8051 மைக்ரோகண்ட்ரோலருடன் எல்சிடி புரோகிராமிங்
எல்.ஈ.டி டிஸ்ப்ளேயில் “எட்ஜ்ஃபெக்ஸ் கிட்ஸ்” காட்ட WAP?
#சேர்க்கிறது
# காம் பி 0 ஐ வரையறுக்கவும்
voidlcd_initi ()
voidlcd_dat (கையொப்பமிடாத கரி)
voidlcd_cmd (கையொப்பமிடாத கரி)
வெற்றிட தாமதம் ()
வெற்றிட காட்சி (கையொப்பமிடாத கரி * கள், கையொப்பமிடாத கரி ஆர்)
sbitrs = பி 2 ^ 0
sbitrw = பி 2 ^ 1
sbit = P2 ^ 2 இல்
void main ()
{
lcd_initi ()
lcd_cmd (0x80)
தாமதம் (100)
lcd_cmd (0xc0)
காட்சி (“edgefx கருவிகள்”, 11)
போது (1)
}
வெற்றிட காட்சி (கையொப்பமிடாத கரி * கள், கையொப்பமிடாத கரி ஆர்)
{
கையொப்பமிடாத w
(w = 0w
lcd_data (கள் [w])
}
}
voidlcd_initi ()
{
lcd_cmd (0 × 01)
தாமதம் (100)
lcd_cmd (0 × 38)
தாமதம் (100)
lcd_cmd (0 × 06)
தாமதம் (100)
lcd_cmd (0x0c)
தாமதம் (100)
}
voidlcd_dat (கையொப்பமிடாத கரி டேட்)
{
சீப்பு = அது
rs = 1
rw = 0
இல் = 1
தாமதம் (100)
இல் = 0
}
}
voidlcd_cmd (கையொப்பமிடாத கரி cmd)
{
வந்தது = செ.மீ.
rs = 0
rw = 0
இல் = 1
தாமதம் (100)
இல் = 0
}
வெற்றிட தாமதம் (கையொப்பமிடாத எண்ணாக n)
{
கையொப்பமிடாதது a
(a = 0a
இந்த கட்டுரை ஒரு சில எடுத்துக்காட்டு நிரல்களுடன் 8051 மைக்ரோகண்ட்ரோலரைப் பயன்படுத்தி உட்பொதிக்கப்பட்ட கணினி நிரலாக்கத்தைப் பற்றிய அடிப்படை தகவலைக் கொடுக்கும் என்று நம்புகிறேன். விரிவான உட்பொதிக்கப்பட்ட சி நிரலாக்க பயிற்சிக்கு உங்கள் கருத்துகளையும் கேள்விகளையும் கீழே உள்ள கருத்துப் பிரிவில் இடுங்கள்.