最近在做電子系統設計的課。我比較懶,不想搞具體的電路,所以直接去找了arduino的了。後面來描述下操作步驟。
1.在proteus中導入arduino庫
下載鏈接及說明:
https://hanbaoaaa.xyz/index.php/archives/124/k.html
2.繪製如圖電路
3.程序
byte numDigits = 4; //數碼管位數
byte digitPins[] = {11, 10, 9, 8}; //數碼管公共極連接Arduino的引腳
byte segmentPins[] = {A1, A2, A3, A4,A5 , 0, 1, 2}; //數碼管a,b,c,d,e,f,g,dp對應引腳
//根據共陰極數碼管段碼錶定義0~9顯示的各段開關狀態
int numTable[10][8] = {
//1爲點亮,0爲關閉
//a b c d e f g dp
{1, 1, 1, 1, 1, 1, 0, 0}, //0
{0, 1, 1, 0, 0, 0, 0, 0}, //1
{1, 1, 0, 1, 1, 0, 1, 0}, //2
{1, 1, 1, 1, 0, 0, 1, 0}, //3
{0, 1, 1, 0, 0, 1, 1, 0}, //4
{1, 0, 1, 1, 0, 1, 1, 0}, //5
{1, 0, 1, 1, 1, 1, 1, 0}, //6
{1, 1, 1, 0, 0, 0, 0, 0}, //7
{1, 1, 1, 1, 1, 1, 1, 0}, //8
{1, 1, 1, 1, 0, 1, 1, 0}, //9
};
void setup()
{
for (int i = 0; i < 8; i++)
{
pinMode(segmentPins[i], OUTPUT); //設置4~11引腳爲輸出模式
}
for(int i=0;i<4;i++){
pinMode(digitPins[i], OUTPUT); //設置4~11引腳爲輸出模式
}
}
char numbuffer[4]={1,3,2,4};
void loop()
{
long n = analogRead(A0);
n=100*(1023-n)/n+1;
numbuffer[0]=n%10;
numbuffer[1]=n/10%10;
numbuffer[2]=n/100%10;
numbuffer[3]=n/1000%10;
for (int j = 0; j < 4;j++)//掃描數碼管
{
digitalWrite(digitPins[j], HIGH); //設置a 引腳的電平
digitalWrite(segmentPins[0], !numTable[numbuffer[j]][0]); //設置a 引腳的電平
digitalWrite(segmentPins[1], !numTable[numbuffer[j]][1]); //設置b 引腳的電平
digitalWrite(segmentPins[2], !numTable[numbuffer[j]][2]); //設置c 引腳的電平
digitalWrite(segmentPins[3], !numTable[numbuffer[j]][3]); //設置d 引腳的電平
digitalWrite(segmentPins[4], !numTable[numbuffer[j]][4]); //設置e 引腳的電平
digitalWrite(segmentPins[5], !numTable[numbuffer[j]][5]); //設置f 引腳的電平
digitalWrite(segmentPins[6], !numTable[numbuffer[j]][6]); //設置g 引腳的電平
digitalWrite(segmentPins[7], !numTable[numbuffer[j]][7]); //設置dp引腳的電平
// for (int i = 0; i < 10; i++)//以此顯示數字0到9
// {
//
delay(2);
// }
digitalWrite(digitPins[j], LOW); //設置a 引腳的電平
}
}
4.說明
- adc爲10bit 範圍 0-1023
- arduino中編譯後獲取hex等編譯生成文件
文件 -》首選項 -》
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-dlXhf2NX-1590910839306)(http://tuchuang.hanbaoaaa.xyz/Z%40%40UM1Q4SWGA6NN%24%5BG%5B25%248.png)]
打開最後那個preference.txt
,加入一行 build.path=d:\arduino
路徑即爲hex文件生成的位置